#!/usr/bin/env python # coding: utf-8 # # CoSim - RTED # In[1]: import numpy as np import andes import ams import pandas as pd import json import cvxpy as cp # In[2]: ams.__version__ # In[3]: andes.config_logger(stream_level=20) # In[4]: ams.config_logger(stream_level=10) # In[5]: sp = ams.load(ams.get_case('ieee14/ieee14_rted.xlsx'), setup=True, ) # In[6]: sp.RTED.run() # In[7]: sp.RTED.dc2ac() # In[8]: sa = sp.to_andes(setup=False, addfile=andes.get_case('ieee14/ieee14_wt3.xlsx'), overwrite=True, keep=False, no_output=True, ) sa.add("Toggle", dict(model='SynGen', dev="GENROU_3", t=11.0)) sa.setup() sp.dyn.link_andes(sa) # In[9]: sp.dyn.send() # In[10]: sa.PFlow.run() # In[11]: idx_tg = sa.TGOV1.idx.v vmax0 = sa.TGOV1.get(src='VMAX', attr='v', idx=idx_tg) sa.TGOV1.set(src='VMAX', attr='v', idx=idx_tg, value=10 * vmax0) vmin0 = sa.TGOV1.get(src='VMIN', attr='v', idx=idx_tg) sa.TGOV1.set(src='VMIN', attr='v', idx=idx_tg, value=np.zeros_like(vmin0)) # In[12]: sa.TDS.config.criteria = 0 # In[13]: sa.TDS.config.tf = 10 sa.TDS.run() # In[14]: sa.TDS.config.tf = 15 sa.TDS.run() # In[15]: sa.GENROU.as_df() # In[16]: sp.dyn.receive() # In[17]: sa.GENROU.u # In[18]: sp.PV.u # In[19]: sp.RTED.vars # In[20]: sp.RTED.run() # In[21]: sp.RTED.pg # In[22]: sp.dyn.send()