import numpy as np
import andes
import ams
import pandas as pd
import json
import cvxpy as cp
ams.__version__
'0.6.6.post2.dev0+g9438e64'
ams.config_logger(stream_level=10)
sp = ams.load(ams.get_case('ieee123/case123_v1.m'),
setup=True,
)
Input format guessed as matpower. Parsing input file "/Users/jinningwang/Documents/work/ams/ams/cases/ieee123/case123_v1.m"... Input file parsed in 0.0149 seconds. Adjust bus index to start from 0. System set up in 0.0085 seconds.
sp.LDOPF.setup()
LDOPF data check passed. - Generating symbols for LDOPF Set constrs pb: sum(pd) - sum(pg) Set constrs pinj: CftT@pl - pd - pn Set constrs lub: PTDF @ (pn - pd) - rate_a Set constrs llb: - PTDF @ (pn - pd) - rate_a Set constrs vu: vsq - vmax**2 Set constrs vl: -vsq + vmin**2 Set constrs qinj: CftT@ql - qd - qn Set constrs qb: sum(qd) - sum(qg) Set constrs lvd: Cft@vsq - (r * pl + x * ql) LDOPF model set up in 0.0125 seconds.
True
sp.LDOPF.run()
LDOPF solved as optimal in 0.0543 seconds with exit code 0.
True
sp.LDOPF.obj.v
92.82348461106608
sp.LDOPF.pg.v
array([0.02000789, 0.01026309, 0.21139 , 0.01026309, 0.01026309, 0.01026309, 0.01026309, 0.01026309, 0.02000785, 0.02000785, 0.02000785])
sp.StaticGen.get(src='p', attr='v', idx=sp.StaticGen.get_idx())
array([0.02000789, 0.01026309, 0.21139 , 0.01026309, 0.01026309, 0.01026309, 0.01026309, 0.01026309, 0.02000785, 0.02000785, 0.02000785])
sp.LDOPF.qg.v
array([0.00100755, 0.00100755, 0.18392451, 0.00100755, 0.00100755, 0.00100755, 0.00100755, 0.00100755, 0.00100755, 0.00100755, 0.00100755])
sp.StaticGen.get(src='q', attr='v', idx=sp.StaticGen.get_idx())
array([0.00100755, 0.00100755, 0.18392451, 0.00100755, 0.00100755, 0.00100755, 0.00100755, 0.00100755, 0.00100755, 0.00100755, 0.00100755])