Skip to content

Commit af63050

Browse files
committed
extend transformer logic
1 parent 974caa1 commit af63050

File tree

4 files changed

+19
-9
lines changed

4 files changed

+19
-9
lines changed

pygridsim/defaults.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,7 @@
6464
XHL = 2
6565
PRIMARY_CONN = Connection.delta
6666
SECONDARY_CONN = Connection.wye
67+
KVA_MULTIPLIER = 1.5
6768

6869
"""
6970
Valid parameter lists
@@ -72,6 +73,6 @@
7273

7374
VALID_LOAD_PARAMS = ["kV", "kW", "kvar", "phases"]
7475
VALID_SOURCE_PARAMS = ["kV", "phases", "frequency"] + IMPEDANCE_PARAMS
75-
VALID_LINE_TRANSFORMER_PARAMS = ["length", "XHL", "Conns"]
76+
VALID_LINE_TRANSFORMER_PARAMS = ["length", "XHL", "Conns", "kVA"]
7677
VALID_PV_PARAMS = ["kV", "phases"]
7778
VALID_GENERATOR_PARAMS = ["kV", "kW", "phases"]

pygridsim/lines.py

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,7 @@ def _get_kv(node_name):
1616
return altdss.Generator[node_name].kV
1717
else:
1818
raise KeyError("Invalid src or dst name")
19-
20-
19+
2120
def _make_line(src, dst, line_type, count, params={}, transformer=True):
2221
_check_valid_params(params, defaults.VALID_LINE_TRANSFORMER_PARAMS)
2322
line_type_obj = _get_enum_obj(LineType, line_type)
@@ -43,5 +42,5 @@ def _make_line(src, dst, line_type, count, params={}, transformer=True):
4342
transformer.Buses = [src, dst]
4443
transformer.Conns = [defaults.PRIMARY_CONN, defaults.SECONDARY_CONN]
4544
transformer.kVs = [_get_kv(src), _get_kv(dst)]
46-
45+
transformer.kVAs = [_get_param(params, "kVA", min(_get_kv(src), _get_kv(dst))*defaults.KVA_MULTIPLIER)]*2
4746
transformer.end_edit()

sim.json

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
{
22
"Voltages": {
3-
"source": 1912.250959225854,
4-
"load0": 164.87512862167387
3+
"source": 9999.995255845008,
4+
"load0": 9980.408204684127
55
},
66
"Losses": {
7-
"Active Power Loss": 181552.68984510849,
8-
"Reactive Power Loss": 377394.0863595363
7+
"Active Power Loss": 72199.46153311006,
8+
"Reactive Power Loss": 358848.79247009417
99
}
1010
}

tests/test_circuit.py

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -276,6 +276,16 @@ def test_106_transformer_parameters(self):
276276
circuit.clear()
277277

278278

279+
def test_107_transformer_kva_customization(self):
280+
circuit = PyGridSim()
281+
circuit.add_load_nodes(params={"kV": 0.12, "kW": 1, "kvar": 1})
282+
circuit.update_source(params={"kV": 0.5})
283+
circuit.add_lines([("source", "load0")], params={"length": 1, "kVA": 0.001})
284+
circuit.solve()
285+
print(circuit.results(["Voltages", "Losses"]))
286+
circuit.clear()
287+
288+
279289
class TestTypeQueryFunctions(unittest.TestCase):
280290

281291
def setUp(self):
@@ -295,4 +305,4 @@ def test_200_type_queries(self):
295305
def test_200_invalid_type_quer(self):
296306
circuit = PyGridSim()
297307
with self.assertRaises(KeyError):
298-
circuit.get_types("bad_component_name")
308+
circuit.get_types("bad_component_name")

0 commit comments

Comments
 (0)