diff --git a/andes/cases/ieee14/ieee14_exac1.json b/andes/cases/ieee14/ieee14_exac1.json new file mode 100644 index 000000000..970988b42 --- /dev/null +++ b/andes/cases/ieee14/ieee14_exac1.json @@ -0,0 +1,1405 @@ +{ + "Toggler": [ + { + "idx": "Toggler_1", + "u": 1.0, + "name": "Toggler_1", + "model": "Line", + "dev": "Line_1", + "t": 1.0 + }, + { + "idx": "Toggler_2", + "u": 1.0, + "name": "Toggler_2", + "model": "Line", + "dev": "Line_1", + "t": 1.1 + } + ], + "Bus": [ + { + "idx": 1, + "u": 1.0, + "name": "BUS1", + "Vn": 69.0, + "vmax": 1.1, + "vmin": 0.9, + "v0": 1.03, + "a0": 0.0, + "xcoord": 0, + "ycoord": 0, + "area": 1, + "zone": 1, + "owner": 1 + }, + { + "idx": 2, + "u": 1.0, + "name": "BUS2", + "Vn": 69.0, + "vmax": 1.1, + "vmin": 0.9, + "v0": 1.0197, + "a0": -0.0279811185679731, + "xcoord": 0, + "ycoord": 0, + "area": 1, + "zone": 1, + "owner": 1 + }, + { + "idx": 3, + "u": 1.0, + "name": "BUS3", + "Vn": 69.0, + "vmax": 1.1, + "vmin": 0.9, + "v0": 1.00042, + "a0": -0.0600969221339207, + "xcoord": 0, + "ycoord": 0, + "area": 1, + "zone": 1, + "owner": 1 + }, + { + "idx": 4, + "u": 1.0, + "name": "BUS4", + "Vn": 69.0, + "vmax": 1.1, + "vmin": 0.9, + "v0": 0.99858, + "a0": -0.0747210359363812, + "xcoord": 0, + "ycoord": 0, + "area": 1, + "zone": 1, + "owner": 1 + }, + { + "idx": 5, + "u": 1.0, + "name": "BUS5", + "Vn": 69.0, + "vmax": 1.1, + "vmin": 0.9, + "v0": 1.00443, + "a0": -0.064315382935991, + "xcoord": 0, + "ycoord": 0, + "area": 1, + "zone": 1, + "owner": 1 + }, + { + "idx": 6, + "u": 1.0, + "name": "BUS6", + "Vn": 138.0, + "vmax": 1.1, + "vmin": 0.9, + "v0": 0.99871, + "a0": -0.109997630777691, + "xcoord": 0, + "ycoord": 0, + "area": 2, + "zone": 2, + "owner": 2 + }, + { + "idx": 7, + "u": 1.0, + "name": "BUS7", + "Vn": 138.0, + "vmax": 1.1, + "vmin": 0.9, + "v0": 1.00682, + "a0": -0.0842854402373102, + "xcoord": 0, + "ycoord": 0, + "area": 2, + "zone": 2, + "owner": 2 + }, + { + "idx": 8, + "u": 1.0, + "name": "BUS8", + "Vn": 69.0, + "vmax": 1.1, + "vmin": 0.9, + "v0": 1.01895, + "a0": -0.0243386164190609, + "xcoord": 0, + "ycoord": 0, + "area": 2, + "zone": 2, + "owner": 2 + }, + { + "idx": 9, + "u": 1.0, + "name": "BUS9", + "Vn": 138.0, + "vmax": 1.1, + "vmin": 0.9, + "v0": 1.00193, + "a0": -0.127501537845942, + "xcoord": 0, + "ycoord": 0, + "area": 2, + "zone": 2, + "owner": 2 + }, + { + "idx": 10, + "u": 1.0, + "name": "BUS10", + "Vn": 138.0, + "vmax": 1.1, + "vmin": 0.9, + "v0": 0.99351, + "a0": -0.130201562198777, + "xcoord": 0, + "ycoord": 0, + "area": 2, + "zone": 2, + "owner": 2 + }, + { + "idx": 11, + "u": 1.0, + "name": "BUS11", + "Vn": 138.0, + "vmax": 1.1, + "vmin": 0.9, + "v0": 0.99245, + "a0": -0.122947973827489, + "xcoord": 0, + "ycoord": 0, + "area": 2, + "zone": 2, + "owner": 2 + }, + { + "idx": 12, + "u": 1.0, + "name": "BUS12", + "Vn": 138.0, + "vmax": 1.1, + "vmin": 0.9, + "v0": 0.98639, + "a0": -0.128934453161829, + "xcoord": 0, + "ycoord": 0, + "area": 2, + "zone": 2, + "owner": 2 + }, + { + "idx": 13, + "u": 1.0, + "name": "BUS13", + "Vn": 138.0, + "vmax": 1.1, + "vmin": 0.9, + "v0": 0.98403, + "a0": -0.133786468482373, + "xcoord": 0, + "ycoord": 0, + "area": 2, + "zone": 2, + "owner": 2 + }, + { + "idx": 14, + "u": 1.0, + "name": "BUS14", + "Vn": 138.0, + "vmax": 1.1, + "vmin": 0.9, + "v0": 0.99063, + "a0": -0.16691630834373, + "xcoord": 0, + "ycoord": 0, + "area": 2, + "zone": 2, + "owner": 2 + } + ], + "PQ": [ + { + "idx": "PQ_1", + "u": 1.0, + "name": "PQ_1", + "bus": 2, + "Vn": 69.0, + "p0": 0.217, + "q0": 0.127, + "vmax": 1.2, + "vmin": 0.8, + "owner": 1 + }, + { + "idx": "PQ_2", + "u": 1.0, + "name": "PQ_2", + "bus": 3, + "Vn": 69.0, + "p0": 0.5, + "q0": 0.25, + "vmax": 1.2, + "vmin": 0.8, + "owner": 1 + }, + { + "idx": "PQ_3", + "u": 1.0, + "name": "PQ_3", + "bus": 4, + "Vn": 69.0, + "p0": 0.478, + "q0": 0.1, + "vmax": 1.2, + "vmin": 0.8, + "owner": 1 + }, + { + "idx": "PQ_4", + "u": 1.0, + "name": "PQ_4", + "bus": 5, + "Vn": 69.0, + "p0": 0.076, + "q0": 0.016, + "vmax": 1.2, + "vmin": 0.8, + "owner": 1 + }, + { + "idx": "PQ_5", + "u": 1.0, + "name": "PQ_5", + "bus": 6, + "Vn": 138.0, + "p0": 0.15, + "q0": 0.075, + "vmax": 1.2, + "vmin": 0.8, + "owner": 2 + }, + { + "idx": "PQ_6", + "u": 1.0, + "name": "PQ_6", + "bus": 9, + "Vn": 138.0, + "p0": 0.295, + "q0": 0.166, + "vmax": 1.2, + "vmin": 0.8, + "owner": 2 + }, + { + "idx": "PQ_7", + "u": 1.0, + "name": "PQ_7", + "bus": 10, + "Vn": 138.0, + "p0": 0.09, + "q0": 0.058, + "vmax": 1.2, + "vmin": 0.8, + "owner": 2 + }, + { + "idx": "PQ_8", + "u": 1.0, + "name": "PQ_8", + "bus": 11, + "Vn": 138.0, + "p0": 0.035, + "q0": 0.018, + "vmax": 1.2, + "vmin": 0.8, + "owner": 2 + }, + { + "idx": "PQ_9", + "u": 1.0, + "name": "PQ_9", + "bus": 12, + "Vn": 138.0, + "p0": 0.061, + "q0": 0.016, + "vmax": 1.2, + "vmin": 0.8, + "owner": 2 + }, + { + "idx": "PQ_10", + "u": 1.0, + "name": "PQ_10", + "bus": 13, + "Vn": 138.0, + "p0": 0.135, + "q0": 0.058, + "vmax": 1.2, + "vmin": 0.8, + "owner": 2 + }, + { + "idx": "PQ_11", + "u": 1.0, + "name": "PQ_11", + "bus": 14, + "Vn": 138.0, + "p0": 0.2, + "q0": 0.07, + "vmax": 1.2, + "vmin": 0.8, + "owner": 2 + } + ], + "PV": [ + { + "idx": 2, + "u": 1.0, + "name": 2, + "Sn": 100.0, + "Vn": 69.0, + "bus": 2, + "busr": null, + "p0": 0.4, + "q0": 0.15, + "pmax": 0.5, + "pmin": 0.1, + "qmax": 0.15, + "qmin": -0.4, + "v0": 1.03, + "vmax": 1.4, + "vmin": 0.6, + "ra": 0.0, + "xs": 0.13 + }, + { + "idx": 3, + "u": 1.0, + "name": 3, + "Sn": 100.0, + "Vn": 69.0, + "bus": 3, + "busr": null, + "p0": 0.4, + "q0": 0.15, + "pmax": 0.5, + "pmin": 0.1, + "qmax": 0.15, + "qmin": -0.1, + "v0": 1.01, + "vmax": 1.4, + "vmin": 0.6, + "ra": 0.0, + "xs": 0.13 + }, + { + "idx": 4, + "u": 1.0, + "name": 4, + "Sn": 100.0, + "Vn": 138.0, + "bus": 6, + "busr": null, + "p0": 0.3, + "q0": 0.1, + "pmax": 0.5, + "pmin": 0.1, + "qmax": 0.1, + "qmin": -0.06, + "v0": 1.03, + "vmax": 1.4, + "vmin": 0.6, + "ra": 0.0, + "xs": 0.12 + }, + { + "idx": 5, + "u": 1.0, + "name": 5, + "Sn": 100.0, + "Vn": 69.0, + "bus": 8, + "busr": null, + "p0": 0.35, + "q0": 0.1, + "pmax": 0.5, + "pmin": 0.1, + "qmax": 0.1, + "qmin": -0.06, + "v0": 1.03, + "vmax": 1.4, + "vmin": 0.6, + "ra": 0.0, + "xs": 0.12 + } + ], + "Slack": [ + { + "idx": 1, + "u": 1.0, + "name": 1, + "Sn": 100.0, + "Vn": 69.0, + "bus": 1, + "busr": null, + "p0": 0.81442, + "q0": 0.01962, + "pmax": 2.0, + "pmin": 0.5, + "qmax": 1.0, + "qmin": -0.5, + "v0": 1.03, + "vmax": 1.4, + "vmin": 0.6, + "ra": 0.0, + "xs": 0.23, + "a0": 0.0 + } + ], + "Shunt": [ + { + "idx": "Shunt_1", + "u": 1.0, + "name": "Shunt_1", + "bus": 9, + "Sn": 100.0, + "Vn": 138.0, + "g": 0.0, + "b": 0.19, + "fn": 60.0 + }, + { + "idx": "Shunt_2", + "u": 1.0, + "name": "Shunt_2", + "bus": 14, + "Sn": 100.0, + "Vn": 138.0, + "g": 0.0, + "b": 0.15, + "fn": 60.0 + } + ], + "Line": [ + { + "idx": "Line_1", + "u": 1.0, + "name": "Line_1", + "bus1": 1, + "bus2": 2, + "Sn": 100.0, + "fn": 60.0, + "Vn1": 69.0, + "Vn2": 69.0, + "r": 0.01938, + "x": 0.05917, + "b": 0.0528, + "g": 0.0, + "b1": 0.0, + "g1": 0.0, + "b2": 0.0, + "g2": 0.0, + "trans": 0.0, + "tap": 1.0, + "phi": 0.0, + "owner": null, + "xcoord": null, + "ycoord": null + }, + { + "idx": "Line_2", + "u": 1.0, + "name": "Line_2", + "bus1": 1, + "bus2": 5, + "Sn": 100.0, + "fn": 60.0, + "Vn1": 69.0, + "Vn2": 69.0, + "r": 0.05403, + "x": 0.22304, + "b": 0.0492, + "g": 0.0, + "b1": 0.0, + "g1": 0.0, + "b2": 0.0, + "g2": 0.0, + "trans": 0.0, + "tap": 1.0, + "phi": 0.0, + "owner": null, + "xcoord": null, + "ycoord": null + }, + { + "idx": "Line_3", + "u": 1.0, + "name": "Line_3", + "bus1": 2, + "bus2": 3, + "Sn": 100.0, + "fn": 60.0, + "Vn1": 69.0, + "Vn2": 69.0, + "r": 0.04699, + "x": 0.19797, + "b": 0.0438, + "g": 0.0, + "b1": 0.0, + "g1": 0.0, + "b2": 0.0, + "g2": 0.0, + "trans": 0.0, + "tap": 1.0, + "phi": 0.0, + "owner": null, + "xcoord": null, + "ycoord": null + }, + { + "idx": "Line_4", + "u": 1.0, + "name": "Line_4", + "bus1": 2, + "bus2": 4, + "Sn": 100.0, + "fn": 60.0, + "Vn1": 69.0, + "Vn2": 69.0, + "r": 0.05811, + "x": 0.17632, + "b": 0.034, + "g": 0.0, + "b1": 0.0, + "g1": 0.0, + "b2": 0.0, + "g2": 0.0, + "trans": 0.0, + "tap": 1.0, + "phi": 0.0, + "owner": null, + "xcoord": null, + "ycoord": null + }, + { + "idx": "Line_5", + "u": 1.0, + "name": "Line_5", + "bus1": 2, + "bus2": 5, + "Sn": 100.0, + "fn": 60.0, + "Vn1": 69.0, + "Vn2": 69.0, + "r": 0.05695, + "x": 0.17388, + "b": 0.0346, + "g": 0.0, + "b1": 0.0, + "g1": 0.0, + "b2": 0.0, + "g2": 0.0, + "trans": 0.0, + "tap": 1.0, + "phi": 0.0, + "owner": null, + "xcoord": null, + "ycoord": null + }, + { + "idx": "Line_6", + "u": 1.0, + "name": "Line_6", + "bus1": 3, + "bus2": 4, + "Sn": 100.0, + "fn": 60.0, + "Vn1": 69.0, + "Vn2": 69.0, + "r": 0.06701, + "x": 0.17103, + "b": 0.0128, + "g": 0.0, + "b1": 0.0, + "g1": 0.0, + "b2": 0.0, + "g2": 0.0, + "trans": 0.0, + "tap": 1.0, + "phi": 0.0, + "owner": null, + "xcoord": null, + "ycoord": null + }, + { + "idx": "Line_7", + "u": 1.0, + "name": "Line_7", + "bus1": 4, + "bus2": 5, + "Sn": 100.0, + "fn": 60.0, + "Vn1": 69.0, + "Vn2": 69.0, + "r": 0.01335, + "x": 0.04211, + "b": 0.0, + "g": 0.0, + "b1": 0.0, + "g1": 0.0, + "b2": 0.0, + "g2": 0.0, + "trans": 0.0, + "tap": 1.0, + "phi": 0.0, + "owner": null, + "xcoord": null, + "ycoord": null + }, + { + "idx": "Line_8", + "u": 1.0, + "name": "Line_8", + "bus1": 6, + "bus2": 11, + "Sn": 100.0, + "fn": 60.0, + "Vn1": 138.0, + "Vn2": 138.0, + "r": 0.09498, + "x": 0.1989, + "b": 0.0, + "g": 0.0, + "b1": 0.0, + "g1": 0.0, + "b2": 0.0, + "g2": 0.0, + "trans": 0.0, + "tap": 1.0, + "phi": 0.0, + "owner": null, + "xcoord": null, + "ycoord": null + }, + { + "idx": "Line_9", + "u": 1.0, + "name": "Line_9", + "bus1": 6, + "bus2": 12, + "Sn": 100.0, + "fn": 60.0, + "Vn1": 138.0, + "Vn2": 138.0, + "r": 0.12291, + "x": 0.25581, + "b": 0.0, + "g": 0.0, + "b1": 0.0, + "g1": 0.0, + "b2": 0.0, + "g2": 0.0, + "trans": 0.0, + "tap": 1.0, + "phi": 0.0, + "owner": null, + "xcoord": null, + "ycoord": null + }, + { + "idx": "Line_10", + "u": 1.0, + "name": "Line_10", + "bus1": 6, + "bus2": 13, + "Sn": 100.0, + "fn": 60.0, + "Vn1": 138.0, + "Vn2": 138.0, + "r": 0.06615, + "x": 0.13027, + "b": 0.0, + "g": 0.0, + "b1": 0.0, + "g1": 0.0, + "b2": 0.0, + "g2": 0.0, + "trans": 0.0, + "tap": 1.0, + "phi": 0.0, + "owner": null, + "xcoord": null, + "ycoord": null + }, + { + "idx": "Line_11", + "u": 1.0, + "name": "Line_11", + "bus1": 7, + "bus2": 9, + "Sn": 100.0, + "fn": 60.0, + "Vn1": 138.0, + "Vn2": 138.0, + "r": 0.0, + "x": 0.11001, + "b": 0.0, + "g": 0.0, + "b1": 0.0, + "g1": 0.0, + "b2": 0.0, + "g2": 0.0, + "trans": 0.0, + "tap": 1.0, + "phi": 0.0, + "owner": null, + "xcoord": null, + "ycoord": null + }, + { + "idx": "Line_12", + "u": 1.0, + "name": "Line_12", + "bus1": 9, + "bus2": 10, + "Sn": 100.0, + "fn": 60.0, + "Vn1": 138.0, + "Vn2": 138.0, + "r": 0.03181, + "x": 0.0845, + "b": 0.0, + "g": 0.0, + "b1": 0.0, + "g1": 0.0, + "b2": 0.0, + "g2": 0.0, + "trans": 0.0, + "tap": 1.0, + "phi": 0.0, + "owner": null, + "xcoord": null, + "ycoord": null + }, + { + "idx": "Line_13", + "u": 1.0, + "name": "Line_13", + "bus1": 9, + "bus2": 14, + "Sn": 100.0, + "fn": 60.0, + "Vn1": 138.0, + "Vn2": 138.0, + "r": 0.12711, + "x": 0.27038, + "b": 0.0, + "g": 0.0, + "b1": 0.0, + "g1": 0.0, + "b2": 0.0, + "g2": 0.0, + "trans": 0.0, + "tap": 1.0, + "phi": 0.0, + "owner": null, + "xcoord": null, + "ycoord": null + }, + { + "idx": "Line_14", + "u": 1.0, + "name": "Line_14", + "bus1": 10, + "bus2": 11, + "Sn": 100.0, + "fn": 60.0, + "Vn1": 138.0, + "Vn2": 138.0, + "r": 0.08205, + "x": 0.19207, + "b": 0.0, + "g": 0.0, + "b1": 0.0, + "g1": 0.0, + "b2": 0.0, + "g2": 0.0, + "trans": 0.0, + "tap": 1.0, + "phi": 0.0, + "owner": null, + "xcoord": null, + "ycoord": null + }, + { + "idx": "Line_15", + "u": 1.0, + "name": "Line_15", + "bus1": 12, + "bus2": 13, + "Sn": 100.0, + "fn": 60.0, + "Vn1": 138.0, + "Vn2": 138.0, + "r": 0.22092, + "x": 0.19988, + "b": 0.0, + "g": 0.0, + "b1": 0.0, + "g1": 0.0, + "b2": 0.0, + "g2": 0.0, + "trans": 0.0, + "tap": 1.0, + "phi": 0.0, + "owner": null, + "xcoord": null, + "ycoord": null + }, + { + "idx": "Line_16", + "u": 1.0, + "name": "Line_16", + "bus1": 13, + "bus2": 14, + "Sn": 100.0, + "fn": 60.0, + "Vn1": 138.0, + "Vn2": 138.0, + "r": 0.17093, + "x": 0.34802, + "b": 0.0, + "g": 0.0, + "b1": 0.0, + "g1": 0.0, + "b2": 0.0, + "g2": 0.0, + "trans": 0.0, + "tap": 1.0, + "phi": 0.0, + "owner": null, + "xcoord": null, + "ycoord": null + }, + { + "idx": "Line_17", + "u": 1.0, + "name": "Line_17", + "bus1": 4, + "bus2": 7, + "Sn": 100.0, + "fn": 60.0, + "Vn1": 69.0, + "Vn2": 138.0, + "r": 0.0, + "x": 0.20912, + "b": 0.0, + "g": 0.0, + "b1": 0.0, + "g1": 0.0, + "b2": 0.0, + "g2": 0.0, + "trans": 1.0, + "tap": 0.99677, + "phi": 0.0, + "owner": null, + "xcoord": null, + "ycoord": null + }, + { + "idx": "Line_18", + "u": 1.0, + "name": "Line_18", + "bus1": 4, + "bus2": 9, + "Sn": 100.0, + "fn": 60.0, + "Vn1": 69.0, + "Vn2": 138.0, + "r": 0.0, + "x": 0.55618, + "b": 0.0, + "g": 0.0, + "b1": 0.0, + "g1": 0.0, + "b2": 0.0, + "g2": 0.0, + "trans": 1.0, + "tap": 0.99677, + "phi": 0.0, + "owner": null, + "xcoord": null, + "ycoord": null + }, + { + "idx": "Line_19", + "u": 1.0, + "name": "Line_19", + "bus1": 6, + "bus2": 5, + "Sn": 100.0, + "fn": 60.0, + "Vn1": 138.0, + "Vn2": 69.0, + "r": 0.0, + "x": 0.25202, + "b": 0.0, + "g": 0.0, + "b1": 0.0, + "g1": 0.0, + "b2": 0.0, + "g2": 0.0, + "trans": 1.0, + "tap": 0.99677, + "phi": 0.0, + "owner": null, + "xcoord": null, + "ycoord": null + }, + { + "idx": "Line_20", + "u": 1.0, + "name": "Line_20", + "bus1": 8, + "bus2": 7, + "Sn": 100.0, + "fn": 60.0, + "Vn1": 69.0, + "Vn2": 138.0, + "r": 0.0, + "x": 0.17615, + "b": 0.0, + "g": 0.0, + "b1": 0.0, + "g1": 0.0, + "b2": 0.0, + "g2": 0.0, + "trans": 1.0, + "tap": 0.99677, + "phi": 0.0, + "owner": null, + "xcoord": null, + "ycoord": null + } + ], + "Area": [ + { + "idx": 1, + "u": 1.0, + "name": "AREA1" + }, + { + "idx": 2, + "u": 1.0, + "name": "AREA2" + } + ], + "GENROU": [ + { + "idx": "GENROU_1", + "u": 1.0, + "name": "GENROU_1", + "bus": 1, + "gen": 1, + "coi": null, + "coi2": null, + "Sn": 100.0, + "Vn": 69.0, + "fn": 60.0, + "D": 0.0, + "M": 8.0, + "ra": 0.0, + "xl": 0.15, + "xd1": 0.6, + "kp": 0.0, + "kw": 0.0, + "S10": 0.09, + "S12": 0.38, + "gammap": 1.0, + "gammaq": 1.0, + "xd": 1.8, + "xq": 1.75, + "xd2": 0.23, + "xq1": 0.8, + "xq2": 0.23, + "Td10": 6.5, + "Td20": 0.06, + "Tq10": 0.2, + "Tq20": 0.05 + }, + { + "idx": "GENROU_2", + "u": 1.0, + "name": "GENROU_2", + "bus": 2, + "gen": 2, + "coi": null, + "coi2": null, + "Sn": 100.0, + "Vn": 69.0, + "fn": 60.0, + "D": 0.0, + "M": 13.0, + "ra": 0.0, + "xl": 0.15, + "xd1": 0.6, + "kp": 0.0, + "kw": 0.0, + "S10": 0.09, + "S12": 0.38, + "gammap": 1.0, + "gammaq": 1.0, + "xd": 1.8, + "xq": 1.75, + "xd2": 0.28, + "xq1": 0.8, + "xq2": 0.28, + "Td10": 6.5, + "Td20": 0.06, + "Tq10": 0.2, + "Tq20": 0.05 + }, + { + "idx": "GENROU_3", + "u": 1.0, + "name": "GENROU_3", + "bus": 3, + "gen": 3, + "coi": null, + "coi2": null, + "Sn": 100.0, + "Vn": 69.0, + "fn": 60.0, + "D": 0.0, + "M": 10.0, + "ra": 0.0, + "xl": 0.15, + "xd1": 0.6, + "kp": 0.0, + "kw": 0.0, + "S10": 0.09, + "S12": 0.38, + "gammap": 1.0, + "gammaq": 1.0, + "xd": 1.8, + "xq": 1.75, + "xd2": 0.34, + "xq1": 0.8, + "xq2": 0.34, + "Td10": 6.5, + "Td20": 0.06, + "Tq10": 0.2, + "Tq20": 0.05 + }, + { + "idx": "GENROU_4", + "u": 1.0, + "name": "GENROU_4", + "bus": 6, + "gen": 4, + "coi": null, + "coi2": null, + "Sn": 100.0, + "Vn": 138.0, + "fn": 60.0, + "D": 0.0, + "M": 10.0, + "ra": 0.0, + "xl": 0.15, + "xd1": 0.6, + "kp": 0.0, + "kw": 0.0, + "S10": 0.09, + "S12": 0.38, + "gammap": 1.0, + "gammaq": 1.0, + "xd": 1.8, + "xq": 1.75, + "xd2": 0.28, + "xq1": 0.8, + "xq2": 0.28, + "Td10": 6.5, + "Td20": 0.06, + "Tq10": 0.2, + "Tq20": 0.05 + }, + { + "idx": "GENROU_5", + "u": 1.0, + "name": "GENROU_5", + "bus": 8, + "gen": 5, + "coi": null, + "coi2": null, + "Sn": 100.0, + "Vn": 69.0, + "fn": 60.0, + "D": 0.0, + "M": 10.0, + "ra": 0.0, + "xl": 0.15, + "xd1": 0.6, + "kp": 0.0, + "kw": 0.0, + "S10": 0.09, + "S12": 0.38, + "gammap": 1.0, + "gammaq": 1.0, + "xd": 1.8, + "xq": 1.75, + "xd2": 0.34, + "xq1": 0.8, + "xq2": 0.34, + "Td10": 6.5, + "Td20": 0.06, + "Tq10": 0.2, + "Tq20": 0.05 + } + ], + "TGOV1": [ + { + "idx": "TGOV1_1", + "u": 1.0, + "name": "TGOV1_1", + "syn": "GENROU_1", + "Tn": NaN, + "wref0": 1.0, + "R": 0.05, + "VMAX": 1.05, + "VMIN": 0.3, + "T1": 0.05, + "T2": 1.0, + "T3": 2.1, + "Dt": 0.0 + }, + { + "idx": "TGOV1_2", + "u": 1.0, + "name": "TGOV1_2", + "syn": "GENROU_2", + "Tn": NaN, + "wref0": 1.0, + "R": 0.05, + "VMAX": 1.2, + "VMIN": 0.0, + "T1": 0.1, + "T2": 1.0, + "T3": 2.1, + "Dt": 0.0 + }, + { + "idx": "TGOV1_3", + "u": 1.0, + "name": "TGOV1_3", + "syn": "GENROU_3", + "Tn": NaN, + "wref0": 1.0, + "R": 0.05, + "VMAX": 1.2, + "VMIN": 0.0, + "T1": 0.1, + "T2": 1.0, + "T3": 2.1, + "Dt": 0.0 + }, + { + "idx": "TGOV1_4", + "u": 1.0, + "name": "TGOV1_4", + "syn": "GENROU_4", + "Tn": NaN, + "wref0": 1.0, + "R": 0.05, + "VMAX": 1.05, + "VMIN": 0.3, + "T1": 0.05, + "T2": 1.0, + "T3": 2.1, + "Dt": 0.0 + }, + { + "idx": "TGOV1_5", + "u": 1.0, + "name": "TGOV1_5", + "syn": "GENROU_5", + "Tn": NaN, + "wref0": 1.0, + "R": 0.05, + "VMAX": 1.05, + "VMIN": 0.3, + "T1": 0.05, + "T2": 1.0, + "T3": 2.1, + "Dt": 0.0 + } + ], + "EXST1": [ + { + "idx": "EXST1_1", + "u": 1.0, + "name": "EXST1_1", + "syn": "GENROU_2", + "TR": 0.02, + "VIMAX": 99.0, + "VIMIN": -99.0, + "TC": 0.0, + "TB": 0.02, + "KA": 50.0, + "TA": 0.02, + "VRMAX": 9999.0, + "VRMIN": -9999.0, + "KC": 0.0, + "KF": 0.01, + "TF": 1.0 + } + ], + "ESST3A": [ + { + "idx": "ESST3A_2", + "u": 1.0, + "name": "ESST3A_2", + "syn": "GENROU_1", + "TR": 0.02, + "VIMAX": 0.2, + "VIMIN": -0.2, + "KM": 8.0, + "TC": 1.0, + "TB": 5.0, + "KA": 20.0, + "TA": 0.0, + "VRMAX": 99.0, + "VRMIN": -99.0, + "KG": 1.0, + "KP": 3.67, + "KI": 0.435, + "VBMAX": 5.48, + "KC": 0.01, + "XL": 0.0098, + "VGMAX": 3.86, + "THETAP": 3.33, + "TM": 0.4, + "VMMAX": 99.0, + "VMMIN": 0.0 + }, + { + "idx": "ESST3A_3", + "u": 1.0, + "name": "ESST3A_3", + "syn": "GENROU_3", + "TR": 0.02, + "VIMAX": 0.2, + "VIMIN": -0.2, + "KM": 8.0, + "TC": 1.0, + "TB": 5.0, + "KA": 20.0, + "TA": 0.0, + "VRMAX": 99.0, + "VRMIN": -99.0, + "KG": 1.0, + "KP": 3.67, + "KI": 0.435, + "VBMAX": 5.48, + "KC": 0.01, + "XL": 0.0098, + "VGMAX": 3.86, + "THETAP": 3.33, + "TM": 0.4, + "VMMAX": 99.0, + "VMMIN": 0.0 + }, + { + "idx": "ESST3A_4", + "u": 1.0, + "name": "ESST3A_4", + "syn": "GENROU_4", + "TR": 0.02, + "VIMAX": 0.2, + "VIMIN": -0.2, + "KM": 8.0, + "TC": 1.0, + "TB": 5.0, + "KA": 20.0, + "TA": 0.0, + "VRMAX": 99.0, + "VRMIN": -99.0, + "KG": 1.0, + "KP": 3.67, + "KI": 0.435, + "VBMAX": 5.48, + "KC": 0.01, + "XL": 0.0098, + "VGMAX": 3.86, + "THETAP": 3.33, + "TM": 0.4, + "VMMAX": 99.0, + "VMMIN": 0.0 + } + ], + "EXAC1": [ + { + "idx": 1, + "u": 1.0, + "name": 1, + "syn": "GENROU_5", + "TR": 0.01, + "TB": 1.0, + "TC": 1.0, + "KA": 80.0, + "TA": 0.04, + "VRMAX": 8.0, + "VRMIN": 0.0, + "TE": 0.8, + "KF": 0.1, + "TF": 1.0, + "KC": 0.1, + "KD": 0.0, + "KE": 1.0, + "E1": 0.0, + "SE1": 0.0, + "E2": 1.0, + "SE2": 1.0 + } + ], + "BusFreq": [ + { + "idx": "BusFreq_1", + "u": 1.0, + "name": "BusFreq_1", + "bus": 3, + "Tf": 0.02, + "Tw": 0.02, + "fn": 60.0 + }, + { + "idx": "BusFreq_2", + "u": 1.0, + "name": "BusFreq_2", + "bus": 1, + "Tf": 0.02, + "Tw": 0.02, + "fn": 60.0 + }, + { + "idx": "BusFreq_3", + "u": 1.0, + "name": "BusFreq_3", + "bus": 2, + "Tf": 0.02, + "Tw": 0.02, + "fn": 60.0 + } + ] +} \ No newline at end of file diff --git a/andes/cases/ieee14/ieee14_pll1.xlsx b/andes/cases/ieee14/ieee14_pll1.xlsx new file mode 100644 index 000000000..f8a2a7437 Binary files /dev/null and b/andes/cases/ieee14/ieee14_pll1.xlsx differ diff --git a/andes/cli.py b/andes/cli.py index 7e3b19bb6..6faf891da 100644 --- a/andes/cli.py +++ b/andes/cli.py @@ -5,11 +5,11 @@ import argparse import importlib import logging -import os import platform import sys from time import strftime +from andes.shared import NCPUS_PHYSICAL from ._version import get_versions from andes.main import config_logger, find_log_path @@ -59,7 +59,7 @@ def create_parser(): run.add_argument('-P', '--pert', help='Perturbation file path', default='') run.add_argument('-o', '--output-path', help='Output path prefix', type=str, default='') run.add_argument('-n', '--no-output', help='Force no output of any kind', action='store_true') - run.add_argument('--ncpu', help='Number of parallel processes', type=int, default=os.cpu_count()) + run.add_argument('--ncpu', help='Number of parallel processes', type=int, default=NCPUS_PHYSICAL) run.add_argument('--dime-address', help='DiME streaming server protocol, address and port,' 'e.g., tcp://127.0.0.1:5000 or ipc:///tmp/dime2', type=str) run.add_argument('--tf', help='End time of time-domain simulation', type=float) @@ -159,7 +159,7 @@ def create_parser(): prep.add_argument('--pycode-path', help='Save path for generated pycode') prep.add_argument('-m', '--models', nargs='*', help='model names to be individually prepared', ) - prep.add_argument('--ncpu', help='Number of parallel processes', type=int, default=os.cpu_count()) + prep.add_argument('--ncpu', help='Number of parallel processes', type=int, default=NCPUS_PHYSICAL) prep.add_argument('--nomp', help='Disable multiprocessing', action='store_true',) prep.add_argument('--incubate', help='Save generated pycode under the ANDES code directory to avoid codegen', action='store_true') diff --git a/andes/core/block.py b/andes/core/block.py index 2fa4bc617..056aa1869 100644 --- a/andes/core/block.py +++ b/andes/core/block.py @@ -11,11 +11,9 @@ from collections import OrderedDict from typing import Iterable, List, Optional, Tuple, Union -import numpy as np - from andes.core.common import JacTriplet, ModelFlags, dummify from andes.core.discrete import (AntiWindup, AntiWindupRate, DeadBand, - HardLimiter, LessThan, RateLimiter, Selector,) + HardLimiter, LessThan, RateLimiter,) from andes.core.service import EventFlag from andes.core.var import Algeb, State @@ -1593,12 +1591,9 @@ def __init__(self, u1, u2, name=None, tex_name=None, info=None): self.u2 = dummify(u2) self.enforce_tex_name((u1, u2)) - self.sl = Selector(self.u1, self.u2, fun=np.maximum.reduce, - info='HVGate Selector', - ) - - self.y = Algeb(info='HVGate output', tex_name='y', discrete=self.sl) - self.vars = {'y': self.y, 'sl': self.sl} + self.lt = LessThan(self.u1, self.u2) + self.y = Algeb(info='HVGate output', tex_name='y', discrete=self.lt) + self.vars = {'y': self.y, 'lt': self.lt} def define(self): """ @@ -1619,8 +1614,8 @@ def define(self): Not sure if this is a bug or intended. """ - self.y.v_str = f'{self.name}_sl_s0*{self.u1.name} + {self.name}_sl_s1*{self.u2.name}' - self.y.e_str = f'{self.name}_sl_s0*{self.u1.name} + {self.name}_sl_s1*{self.u2.name} - ' \ + self.y.v_str = f'{self.name}_lt_z0*{self.u1.name} + {self.name}_lt_z1*{self.u2.name}' + self.y.e_str = f'{self.name}_lt_z0*{self.u1.name} + {self.name}_lt_z1*{self.u2.name} - ' \ f'{self.name}_y' @@ -1642,13 +1637,10 @@ def __init__(self, u1, u2, name=None, tex_name=None, info=None): self.u2 = dummify(u2) self.enforce_tex_name((u1, u2)) - self.sl = Selector(self.u1, self.u2, fun=np.minimum.reduce, - info='LVGate Selector', - ) + self.lt = LessThan(self.u1, self.u2) + self.y = Algeb(info='LVGate output', tex_name='y', discrete=self.lt) - self.y = Algeb(info='LVGate output', tex_name='y', discrete=self.sl) - - self.vars = {'y': self.y, 'sl': self.sl} + self.vars = {'y': self.y, 'lt': self.lt} def define(self): """ @@ -1664,8 +1656,8 @@ def define(self): Same problem as `HVGate` as `minimum` does not sympify correctly. """ - self.y.v_str = f'{self.name}_sl_s0*{self.u1.name} + {self.name}_sl_s1*{self.u2.name}' - self.y.e_str = f'{self.name}_sl_s0*{self.u1.name} + {self.name}_sl_s1*{self.u2.name} - ' \ + self.y.v_str = f'{self.name}_lt_z1*{self.u1.name} + {self.name}_lt_z0*{self.u2.name}' + self.y.e_str = f'{self.name}_lt_z1*{self.u1.name} + {self.name}_lt_z0*{self.u2.name} - ' \ f'{self.name}_y' @@ -1807,6 +1799,8 @@ class Piecewise(Block): The first range (-inf, x0) applies `fun_0`, and the last range (x_{n-1}, +inf) applies the last function `fun_n`. + The function returns zero if no condition is met. + Parameters ---------- points : list, tuple @@ -1837,7 +1831,7 @@ def define(self): args.append(f'({self.funs[i]}, {self.u.name} <= {self.points[i]})') args.append(f'({self.funs[i + 1]}, {self.u.name} > {self.points[-1]})') - args_comma = ', '.join(args) + args_comma = ', '.join(args) + ', (0, True)' pw_fun = f'Piecewise({args_comma}, evaluate=False)' self.y.v_str = pw_fun diff --git a/andes/core/discrete.py b/andes/core/discrete.py index b76ac5be8..0d82aaacc 100644 --- a/andes/core/discrete.py +++ b/andes/core/discrete.py @@ -38,6 +38,9 @@ def __init__(self, name=None, tex_name=None, info=None, no_warn=False, if not hasattr(self, 'export_flags_tex'): self.export_flags_tex = [] + self.input_list = [] # references to input variables + self.param_list = [] # references to parameters + self.x_set = list() self.y_set = list() # NOT being used @@ -265,6 +268,9 @@ def __init__(self, u, bound, equal=False, enable=True, name=None, tex_name=None, self.export_flags = ['z0', 'z1'] self.export_flags_tex = ['z_0', 'z_1'] + self.input_list.extend([self.u]) + self.param_list.extend([self.bound]) + self.has_check_var = True def check_var(self, *args, **kwargs): @@ -376,6 +382,9 @@ def __init__(self, u, lower, upper, enable=True, self.export_flags.append('zi') self.export_flags_tex.append('z_i') + self.input_list.extend([self.u]) + self.param_list.extend([self.lower, self.upper]) + if not self.no_lower: self.export_flags.append('zl') self.export_flags_tex.append('z_l') @@ -737,9 +746,9 @@ def check_eq(self, # logger.debug(f'AntiWindup for states {self.state.a[idx]}') # Very important note: - # `System.fg_to_dae` is called after `System.l_update_eq`, which calls this function. - # Equation values set in `self.state.e` is collected by `System._e_to_dae`, while - # variable values are collected by the separate loop in `System.fg_to_dae`. + # The set equation values and variable values are collected by `System.fg_to_dae`: + # - Equation values is collected by `System._e_to_dae`, + # - Variable values are collected at the end of `System.fg_to_dae`. # Also, equation values are processed in `TDS` for resetting the `q`. @@ -760,7 +769,7 @@ class RateLimiter(Discrete): """ def __init__(self, u, lower, upper, enable=True, - no_lower=False, no_upper=False, lower_cond=None, upper_cond=None, + no_lower=False, no_upper=False, lower_cond=1, upper_cond=1, name=None, tex_name=None, info=None): Discrete.__init__(self, name=name, tex_name=tex_name, info=info) self.u = u @@ -801,6 +810,9 @@ def __init__(self, u, lower, upper, enable=True, self.export_flags_tex.append('z_{ur}') self.warn_flags.append(('zur', 'upper')) + self.param_list.extend([self.rate_lower, self.rate_upper, + self.rate_lower_cond, self.rate_upper_cond]) + def check_eq(self, **kwargs): if not self.enable: return @@ -864,6 +876,13 @@ class Selector(Discrete): A potential bug when more than two inputs are provided, and values in different inputs are equal. Only two inputs are allowed. + .. deprecated:: 1.5.9 + + Use of this class for comparison-based output is discouraged. + Instead, use `LessThan` and `Limiter` to construct piesewise equations. + + See the new implementation of ``HVGate`` and ``LVGate``. + Examples -------- Example 1: select the largest value between `v0` and `v1` and put it into vmax. @@ -890,9 +909,6 @@ class Selector(Discrete): -------- numpy.ufunc.reduce : NumPy reduce function - andes.core.block.HVGate - - andes.core.block.LVGate """ def __init__(self, *args, fun, tex_name=None, info=None): @@ -911,6 +927,8 @@ def __init__(self, *args, fun, tex_name=None, info=None): self.export_flags = [f's{i}' for i in range(len(self.input_vars))] self.export_flags_tex = [f's_{i}' for i in range(len(self.input_vars))] + self.input_list = args + self.has_check_var = True def check_var(self, *args, **kwargs): @@ -986,6 +1004,7 @@ def __init__(self, u, options: Union[list, Tuple], info: str = None, self.export_flags = [f's{i}' for i in range(len(options))] self.export_flags_tex = [f's_{i}' for i in range(len(options))] + self.input_list.extend([self.u]) self.has_check_var = True @@ -1076,6 +1095,8 @@ def __init__(self, u, center, lower, upper, self.center = dummify(center) # CURRENTLY NOT IN USE + self.param_list.extend([self.center]) + def check_var(self, *args, **kwargs): """ Notes @@ -1211,6 +1232,8 @@ def __init__(self, u, mode='step', delay=0, self.delay = delay self.export_flags = ['v'] self.export_flags_tex = ['v'] + self.input_list.extend([u]) + self.has_check_var = True self.t = np.array([0]) @@ -1335,6 +1358,8 @@ def __init__(self, u, interval=1.0, offset=0.0, name=None, tex_name=None, info=N self.export_flags = ['v'] self.export_flags_tex = ['v'] + self.input_list.extend([self.u]) + self.has_check_var = True self.v = np.array([0]) @@ -1439,6 +1464,8 @@ def __init__(self, *, v, lower, upper, bsw, gsw, dt, u, enable=True, self.err_tol = err_tol self.has_check_var = True + self.input_list.extend([self.v]) + self.param_list.extend([self.lower, self.upper, self.u]) self.t_last = None self.t_enable = None diff --git a/andes/core/model.py b/andes/core/model.py index 65c315216..5d4359582 100644 --- a/andes/core/model.py +++ b/andes/core/model.py @@ -244,8 +244,10 @@ def add(self, **kwargs): idx = kwargs['idx'] self.uid[idx] = self.n self.n += 1 - if "name" in self.params and kwargs.get("name") is None: - kwargs["name"] = idx + if "name" in self.params: + name = kwargs.get("name") + if (name is None) or (not isinstance(name, str) and np.isnan(name)): + kwargs["name"] = idx if "idx" not in self.params: kwargs.pop("idx") diff --git a/andes/core/symprocessor.py b/andes/core/symprocessor.py index 70f5fbe42..15e03c619 100644 --- a/andes/core/symprocessor.py +++ b/andes/core/symprocessor.py @@ -64,6 +64,9 @@ def broadcastcond(cond): printer._print(sympy.S.NaN)) +# the line below caches Piecewise instances +sympy.OldPiecewise = sympy.Piecewise + sympy.Piecewise = FixPiecewise diff --git a/andes/main.py b/andes/main.py index 0ded4fce7..d69a779da 100644 --- a/andes/main.py +++ b/andes/main.py @@ -26,7 +26,7 @@ import andes from andes.routines import routine_cli -from andes.shared import Pool, Process, coloredlogs, unittest +from andes.shared import Pool, Process, coloredlogs, unittest, NCPUS_PHYSICAL from andes.system import System from andes.utils.misc import elapsed, is_interactive from andes.utils.paths import get_config_path, get_log_dir, tests_root @@ -490,7 +490,7 @@ def find_log_path(lg): return out -def _run_multiprocess_proc(cases, ncpu=os.cpu_count(), **kwargs): +def _run_multiprocess_proc(cases, ncpu=NCPUS_PHYSICAL, **kwargs): """ Run multiprocessing with `Process`. @@ -515,7 +515,7 @@ def _run_multiprocess_proc(cases, ncpu=os.cpu_count(), **kwargs): return True -def _run_multiprocess_pool(cases, ncpu=os.cpu_count(), verbose=logging.INFO, **kwargs): +def _run_multiprocess_pool(cases, ncpu=NCPUS_PHYSICAL, verbose=logging.INFO, **kwargs): """ Run multiprocessing jobs using Pool. @@ -539,7 +539,7 @@ def _run_multiprocess_pool(cases, ncpu=os.cpu_count(), verbose=logging.INFO, **k return ret -def run(filename, input_path='', verbose=20, mp_verbose=30, ncpu=os.cpu_count(), pool=False, +def run(filename, input_path='', verbose=20, mp_verbose=30, ncpu=NCPUS_PHYSICAL, pool=False, cli=False, codegen=False, shell=False, **kwargs): """ Entry point to run ANDES routines. @@ -724,7 +724,7 @@ def prepare(quick=False, incremental=False, models=None, cli = kwargs.get("cli", False) full = kwargs.get("full", False) - ncpu = kwargs.get("ncpu", os.cpu_count()) + ncpu = kwargs.get("ncpu", NCPUS_PHYSICAL) if cli is True: if not full: diff --git a/andes/models/__init__.py b/andes/models/__init__.py index 50f2ade20..c6bbcfa68 100644 --- a/andes/models/__init__.py +++ b/andes/models/__init__.py @@ -31,13 +31,16 @@ 'ESAC1A', 'ESST1A']), ('pss', ['IEEEST', 'ST2CUT']), ('motor', ['Motor3', 'Motor5']), - ('measurement', ['BusFreq', 'BusROCOF', 'PMU']), + ('measurement', ['BusFreq', 'BusROCOF', 'PMU', 'PLL1']), ('dc', ['Node', 'Ground', 'R', 'L', 'C', 'RCp', 'RCs', 'RLs', 'RLCs', 'RLCp']), ('acdc', ['VSCShunt']), ('renewable', ['REGCA1', 'REECA1', 'REECA1E', 'REECA1G', 'REPCA1', 'WTDTA1', 'WTDS', 'WTARA1', 'WTPTA1', 'WTTQA1', 'WTARV1', - 'REGCVSG', 'REGCVSG2']), + 'REGCV1', 'REGCV2']), ('distributed', ['PVD1', 'ESD1', 'EV1', 'EV2', 'DGPRCT1', 'DGPRCTExt']), ('coi', ['COI']), # ('experimental', ['PI2', 'TestDB1', 'TestPI', 'TestLagAWFreeze', 'FixedGen']), ]) + + +model_aliases = {"REGCVSG": "REGCV1", "REGCVSG2": "REGCV2"} diff --git a/andes/models/measurement/__init__.py b/andes/models/measurement/__init__.py index 5aebc9493..719e9c06e 100644 --- a/andes/models/measurement/__init__.py +++ b/andes/models/measurement/__init__.py @@ -4,4 +4,5 @@ from andes.models.measurement.busfreq import BusFreq # noqa from andes.models.measurement.busrocof import BusROCOF # noqa -from andes.models.measurement.pmu import PMU # noqa +from andes.models.measurement.pmu import PMU # noqa +from andes.models.measurement.pll import PLL1 # noqa diff --git a/andes/models/measurement/pll.py b/andes/models/measurement/pll.py new file mode 100644 index 000000000..7b299125e --- /dev/null +++ b/andes/models/measurement/pll.py @@ -0,0 +1,98 @@ +""" +Phase measurement loop model. +""" +from andes.core.model import ModelData, Model +from andes.core.param import NumParam, IdxParam +from andes.core.block import PIController, Lag # NOQA +from andes.core.var import ExtAlgeb, State + + +class PLL1Data(ModelData): + """ + Data for PLL. + """ + + def __init__(self): + ModelData.__init__(self) + + self.bus = IdxParam(info="bus idx", mandatory=True) + + self.Kp = NumParam(info='proportional gain', default=1, + tex_name='K_p', + ) + + self.Ki = NumParam(info='integral gain', default=0.2, + tex_name='K_i', + ) + + self.Tf = NumParam(default=0.05, + info="input digital filter time const", + unit="sec", + tex_name='T_f', + ) + self.Tp = NumParam(default=0.05, + info='output filter time const.', + unit='sec', + tex_name='T_p') + + self.fn = NumParam(default=60.0, + info="nominal frequency", + unit='Hz', + tex_name='f_n', + ) + + +class PLL1Model(Model): + """ + Simple PLL1 implementation. + """ + + def __init__(self, system, config): + super().__init__(system, config) + + self.flags.tds = True + self.a = ExtAlgeb(model='Bus', + src='a', + indexer=self.bus, + tex_name=r'\theta', + info='Bus voltage angle' + ) + + self.af = Lag(u=self.a, T=self.Tf, K=1, D=1, + info='input angle signal filter', + ) + + self.PI = PIController(u='u * (af_y - am)', kp=self.Kp, ki=self.Ki, + tex_name='PI', + info='PI controller', + ) + + self.ae = State(info='PLL angle output before filter', + e_str='2 * pi *fn * PI_y', v_str='a', + tex_name=r'\theta_{est}' + ) + + self.am = State(info='PLL output angle after filtering', + e_str='ae - am', + t_const=self.Tp, + v_str='a', + tex_name=r'\theta_{PLL}' + ) + + +class PLL1(PLL1Data, PLL1Model): + """ + Simple Phasor Lock Loop (PLL) using one PI controller. + + Input bus angle signal -> + Lag filter 1 with Tf -> + PI Controller (Kp, Ki) -> + Estimated angle (2 * pi * fn * PI_y) -> + Lag filter 2 with Tp + + The output signal is ``am``. + """ + + def __init__(self, system, config): + PLL1Data.__init__(self) + PLL1Model.__init__(self, system, config) diff --git a/andes/models/renewable/__init__.py b/andes/models/renewable/__init__.py index 77b2b5784..e9b7a93d2 100644 --- a/andes/models/renewable/__init__.py +++ b/andes/models/renewable/__init__.py @@ -5,8 +5,8 @@ from andes.models.renewable.reeca1 import REECA1 # NOQA from andes.models.renewable.reeca1e import REECA1E, REECA1G # NOQA from andes.models.renewable.regca1 import REGCA1 # NOQA -from andes.models.renewable.regcvsg import REGCVSG # NOQA -from andes.models.renewable.regcvsg2 import REGCVSG2 # NOQA +from andes.models.renewable.regcv1 import REGCV1 # NOQA +from andes.models.renewable.regcv2 import REGCV2 # NOQA from andes.models.renewable.repca1 import REPCA1 # NOQA from andes.models.renewable.wtara1 import WTARA1 # NOQA from andes.models.renewable.wtarv1 import WTARV1 # NOQA diff --git a/andes/models/renewable/regcvsg.py b/andes/models/renewable/regcv1.py similarity index 95% rename from andes/models/renewable/regcvsg.py rename to andes/models/renewable/regcv1.py index 6dc56944e..082bb6e21 100644 --- a/andes/models/renewable/regcvsg.py +++ b/andes/models/renewable/regcv1.py @@ -1,6 +1,7 @@ """ -REGCVSG model. -Voltage-controlled VSC with virtual synchronous generator control. +REGCV1 model. + +Voltage-controlled converter model (virtual synchronous generator) with inertia emulation. """ from andes.core import (Algeb, ConstService, ExtAlgeb, ExtService, IdxParam, @@ -9,9 +10,9 @@ from andes.core.var import AliasAlgeb, AliasState -class REGCVSGData(ModelData): +class REGCV1Data(ModelData): """ - REGC_VSG model data. + REGCV1 model data. """ def __init__(self): @@ -140,7 +141,7 @@ def __init__(self): ) -class REGCVSGModelBase(Model): +class REGCV1ModelBase(Model): """ Common variables and services for VSG models. """ @@ -179,11 +180,11 @@ def __init__(self, system, config): ) self.Pref = ConstService(v_str='gammap * p0s', tex_name='P_{ref}', - info='Initial P for the REGCVSG device', + info='Initial P for the REGCV1 device', ) self.Qref = ConstService(v_str='gammaq * q0s', tex_name='Q_{ref}', - info='Initial Q for the REGCVSG device', + info='Initial Q for the REGCV1 device', ) self.vref = ExtService(model='StaticGen', @@ -278,7 +279,7 @@ def v_numeric(self, **kwargs): class VSGOuterPIModel: """ - Outer PI controllers for REGCVSG + Outer PI controllers for REGCV1 """ def __init__(self): @@ -299,7 +300,7 @@ def __init__(self): class VSGInnerPIModel: """ - Inner current PI controllers for REGCVSG + Inner current PI controllers for REGCV1 """ def __init__(self): @@ -348,8 +349,8 @@ def __init__(self): self.uq = AliasState(self.uqLag_y) -class REGCVSG(REGCVSGData, VSGOuterPIData, VSGInnerPIData, - REGCVSGModelBase, VSGOuterPIModel, VSGInnerPIModel): +class REGCV1(REGCV1Data, VSGOuterPIData, VSGInnerPIData, + REGCV1ModelBase, VSGOuterPIModel, VSGInnerPIModel): """ Voltage-controlled VSC with VSG control. @@ -358,10 +359,10 @@ class REGCVSG(REGCVSGData, VSGOuterPIData, VSGInnerPIData, """ def __init__(self, system, config): - REGCVSGData.__init__(self) + REGCV1Data.__init__(self) VSGOuterPIData.__init__(self) VSGInnerPIData.__init__(self) - REGCVSGModelBase.__init__(self, system, config) + REGCV1ModelBase.__init__(self, system, config) VSGOuterPIModel.__init__(self) VSGInnerPIModel.__init__(self) diff --git a/andes/models/renewable/regcvsg2.py b/andes/models/renewable/regcv2.py similarity index 61% rename from andes/models/renewable/regcvsg2.py rename to andes/models/renewable/regcv2.py index ff1b4a51a..945bb41ee 100644 --- a/andes/models/renewable/regcvsg2.py +++ b/andes/models/renewable/regcv2.py @@ -1,7 +1,7 @@ from andes.core.block import Lag from andes.core.param import NumParam -from andes.models.renewable.regcvsg import (REGCVSGData, REGCVSGModelBase, - VSGOuterPIData, VSGOuterPIModel,) +from andes.models.renewable.regcv1 import (REGCV1Data, REGCV1ModelBase, + VSGOuterPIData, VSGOuterPIModel,) class VSGInnerLagData: @@ -12,18 +12,19 @@ def __init__(self) -> None: class VSGInnerLagModel: """ - REGCVSG2 model with lag transfer functions replacing PI controllers. + REGCV2 model with lag transfer functions replacing PI controllers. """ + def __init__(self): self.LGId = Lag(u=self.PIvd_y, T=self.Tid, K=-1) # Id - self.LGIq = Lag(u=self.PIvq_y, T=self.Tiq, K=-1) # Iq + self.LGIq = Lag(u=self.PIvq_y, T=self.Tiq, K=1) # Iq self.Id.e_str = 'LGId_y - Id' self.Iq.e_str = 'LGIq_y - Iq' -class REGCVSG2(REGCVSGData, VSGOuterPIData, VSGInnerLagData, - REGCVSGModelBase, VSGOuterPIModel, VSGInnerLagModel): +class REGCV2(REGCV1Data, VSGOuterPIData, VSGInnerLagData, + REGCV1ModelBase, VSGOuterPIModel, VSGInnerLagModel): """ Voltage-controlled VSC with VSG control. @@ -31,10 +32,10 @@ class REGCVSG2(REGCVSGData, VSGOuterPIData, VSGInnerLagData, """ def __init__(self, system, config): - REGCVSGData.__init__(self) + REGCV1Data.__init__(self) VSGOuterPIData.__init__(self) VSGInnerLagData.__init__(self) - REGCVSGModelBase.__init__(self, system, config) + REGCV1ModelBase.__init__(self, system, config) VSGOuterPIModel.__init__(self) VSGInnerLagModel.__init__(self) diff --git a/andes/models/timer.py b/andes/models/timer.py index d7d7c4a35..630790b94 100644 --- a/andes/models/timer.py +++ b/andes/models/timer.py @@ -116,13 +116,16 @@ def __init__(self, system, config): self.group = 'TimedEvent' self.config.add(OrderedDict((('restore', 1), - ('scale', 1.0) + ('mode', 1), + ('scale', 1.0), ))) self.config.add_extra('_alt', restore=(0, 1), + mode=(1, 2), ) self.config.add_extra('_help', restore='restore algebraic variables to pre-fault values', + mode='1 - restore voltages on all buses, 2 - fault bus only', scale='scaling factor of restored algebraic values', ) @@ -183,10 +186,20 @@ def clear_fault(self, is_time: np.ndarray): for i in range(self.n): if is_time[i] and (self.u.v[i] == 1): self.uf.v[i] = 0 + v_addr = self.system.Bus.get(src='v', idx=self.bus.v[i], attr='a') + bus_uid = self.system.Bus.idx2uid(self.bus.v[i]) if self.config.restore: - self.system.dae.y[self.system.Bus.n:] = self._vstore * self.config.scale - logger.debug(f"Voltage restored after fault clearance at t={self.system.dae.t:.6f}") + if self.config.mode == 1: + self.system.dae.y[self.system.Bus.n:] = self._vstore * self.config.scale + logger.debug("All voltage restored after clearance at t=%.6f", + self.system.dae.t) + elif self.config.mode == 2: + self.system.dae.y[v_addr] = self._vstore[bus_uid] * self.config.scale + logger.debug("Voltage on bus %s restored after clearance at t=%.6f", + self.bus.v[i], self.system.dae.t) + else: + logger.error("Unsupport fault voltage restoration mode") tqdm.write(f': ' f'Clearing fault on Bus (idx={self.bus.v[i]}) at t={self.tc.v[i]} sec.') diff --git a/andes/routines/tds.py b/andes/routines/tds.py index 6df5cd98c..8705ab32b 100644 --- a/andes/routines/tds.py +++ b/andes/routines/tds.py @@ -23,6 +23,9 @@ class TDS(BaseRoutine): """ Time-domain simulation routine. + + Some cases may be sensitive to large convergence tolerance ``config.tol``. + If numerical oscillation happens, try reducing ``config.tol`` to ``1e-6``. """ def __init__(self, system=None, config=None): @@ -56,7 +59,7 @@ def __init__(self, system=None, config=None): fixt="use fixed step size (1) or variable (0)", shrinkt='shrink step size for fixed method if not converged', honest='honest Newton method that updates Jac at each step', - tstep='the initial step step size', + tstep='integration step size', max_iter='maximum number of iterations', refresh_event='refresh events at each step', test_init='test if initialization passes', @@ -185,9 +188,10 @@ def init(self): self.fg_update(system.exist.tds, init=True) + # reset diff. equation RHS for binding antiwindups for item in system.antiwindups: for key, _, eqval in item.x_set: - np.put(system.dae.x, key, eqval) + np.put(system.dae.f, key, eqval) # only store switch times when not replaying CSV data if self.data_csv is None: @@ -282,10 +286,8 @@ def run(self, no_summary=False, **kwargs): Run time-domain simulation using numerical integration. The default method is the Implicit Trapezoidal Method (ITM). - - Parameters - ---------- """ + system = self.system dae = self.system.dae config = self.config @@ -318,7 +320,7 @@ def run(self, no_summary=False, **kwargs): logger.debug("Initialization only is requested and done") return self.initialized - self.pbar = tqdm(total=100, ncols=70, unit='%', + self.pbar = tqdm(total=100, unit='%', ncols=80, ascii=True, file=sys.stdout, disable=self.config.no_tqdm) if resume: diff --git a/andes/shared.py b/andes/shared.py index 358eeea24..eb46a8f9f 100644 --- a/andes/shared.py +++ b/andes/shared.py @@ -12,6 +12,8 @@ import math import os +import psutil + from distutils.spawn import find_executable import coloredlogs # NOQA @@ -29,13 +31,16 @@ from andes.utils.paths import get_dot_andes_path # NOQA from andes.utils.texttable import Texttable # NOQA -# --- constants --- +# --- SYSTEM INFO --- +NCPUS_PHYSICAL = psutil.cpu_count(logical=False) +# --- MATH CONSTANTS --- deg2rad = math.pi/180 pi2o3 = math.pi * 2 / 3 sqrt3 = math.sqrt(3) isqrt3 = math.sqrt(1/3) +# --- NAME CONSTANTS --- jac_names = ('fx', 'fy', 'gx', 'gy') jac_types = ('c', '') diff --git a/andes/system.py b/andes/system.py index 393dcb69e..98463e4d2 100644 --- a/andes/system.py +++ b/andes/system.py @@ -29,7 +29,7 @@ from andes.models import file_classes from andes.models.group import GroupBase from andes.routines import all_routines -from andes.shared import (Pool, Process, dilled_vars, jac_names, matrix, np, +from andes.shared import (NCPUS_PHYSICAL, Pool, Process, dilled_vars, jac_names, matrix, np, sparse, spmatrix,) from andes.utils.misc import elapsed from andes.utils.paths import (andes_root, confirm_overwrite, get_config_path, @@ -106,15 +106,16 @@ def __init__(self, self.options.update(options) if kwargs: self.options.update(kwargs) - self.calls = OrderedDict() # a dictionary with model names (keys) and their ``calls`` instance - self.models = OrderedDict() # model names and instances - self.groups = OrderedDict() # group names and instances - self.routines = OrderedDict() # routine names and instances - self.switch_times = np.array([]) # an array of ordered event switching times - self.switch_dict = OrderedDict() # time: OrderedDict of associated models - self.with_calls = False # if generated function calls have been loaded - self.n_switches = 0 # number of elements in `self.switch_times` - self.exit_code = 0 # command-line exit code, 0 - normal, others - error. + self.calls = OrderedDict() # a dictionary with model names (keys) and their ``calls`` instance + self.models = OrderedDict() # model names and instances + self.model_aliases = OrderedDict() # alias: model instance + self.groups = OrderedDict() # group names and instances + self.routines = OrderedDict() # routine names and instances + self.switch_times = np.array([]) # an array of ordered event switching times + self.switch_dict = OrderedDict() # time: OrderedDict of associated models + self.with_calls = False # if generated function calls have been loaded + self.n_switches = 0 # number of elements in `self.switch_times` + self.exit_code = 0 # command-line exit code, 0 - normal, others - error. # get and load default config file self._config_path = get_config_path() @@ -269,7 +270,7 @@ def _clear_adder_setter(self): self._adders = dict(f=list(), g=list(), x=list(), y=list()) self._setters = dict(f=list(), g=list(), x=list(), y=list()) - def prepare(self, quick=False, incremental=False, models=None, nomp=False, ncpu=os.cpu_count()): + def prepare(self, quick=False, incremental=False, models=None, nomp=False, ncpu=NCPUS_PHYSICAL): """ Generate numerical functions from symbolically defined models. @@ -517,7 +518,7 @@ def add(self, model, param_dict=None, **kwargs): This methods calls the ``add`` method of `model` and registers the device `idx` to group. """ - if model not in self.models: + if model not in self.models and (model not in self.model_aliases): logger.warning("<%s> is not an existing model.", model) return @@ -533,7 +534,7 @@ def add(self, model, param_dict=None, **kwargs): param_dict.update(kwargs) idx = param_dict.pop('idx', None) - if idx is np.nan: + if idx is not None and (not isinstance(idx, str) and np.isnan(idx)): idx = None idx = group.get_next_idx(idx=idx, model_name=model) @@ -700,7 +701,7 @@ def _init_numba(self, models: OrderedDict): def precompile(self, models: Union[OrderedDict, None] = None, nomp: bool = False, - ncpu: int = os.cpu_count()): + ncpu: int = NCPUS_PHYSICAL): """ Trigger precompilation for the given models. @@ -1076,7 +1077,10 @@ def j_islands(self): if self.config.ipadd: self.dae.gy.ipset(self.config.diag_eps, aidx, aidx) + self.dae.gy.ipset(0.0, aidx, vidx) + self.dae.gy.ipset(self.config.diag_eps, vidx, vidx) + self.dae.gy.ipset(0.0, vidx, aidx) else: avals = [-self.dae.gy[int(idx), int(idx)] + self.config.diag_eps for idx in aidx] vvals = [-self.dae.gy[int(idx), int(idx)] + self.config.diag_eps for idx in vidx] @@ -1804,6 +1808,9 @@ def import_models(self): # link to the group group_name = self.__dict__[model_name].group self.__dict__[group_name].add_model(model_name, self.__dict__[model_name]) + for key, val in andes.models.model_aliases.items(): + self.model_aliases[key] = self.models[val] + self.__dict__[key] = self.models[val] def import_routines(self): """ diff --git a/binder/requirements.txt b/binder/requirements.txt index c8b582153..5c23cf98b 100644 --- a/binder/requirements.txt +++ b/binder/requirements.txt @@ -24,4 +24,4 @@ numpydoc sphinx-copybutton sphinx_rtd_theme myst-parser - +psutil diff --git a/docs/requirements-rtd.txt b/docs/requirements-rtd.txt index bc323217f..13204eee1 100644 --- a/docs/requirements-rtd.txt +++ b/docs/requirements-rtd.txt @@ -11,6 +11,7 @@ pathos tqdm pyyaml coloredlogs +psutil ipython numpydoc sphinx-copybutton diff --git a/docs/source/release-notes.rst b/docs/source/release-notes.rst index f16b5880b..d282a0aec 100644 --- a/docs/source/release-notes.rst +++ b/docs/source/release-notes.rst @@ -9,7 +9,16 @@ The APIs before v3.0.0 are in beta and may change without prior notice. v1.5 Notes ---------- -v1.5.8 (2021-12-xx) +v1.5.9 (2022-01-xx) +``````````````````` +- Added PLL1, a simple PLL model. +- Renamed ``REGCVSG`` to ``REGCV1`` and ``REGCVSG2`` to ``REGCV2``. +- Added an alias list for model names. See ``models/__init__.py``. +- Multiprocessing now executes on all CPUs that are physical, instead + of logical. A new package ``psutil`` needs to be installed. +- Use of ``Selector`` is deprecated. + +v1.5.8 (2021-12-21) ``````````````````` - Full initialization debug message will be printed only when ``-v 10`` and ``run --init`` are both used. diff --git a/examples/2. inspect_data.ipynb b/examples/2. inspect_data.ipynb index 2705de2e6..07f5eeab1 100644 --- a/examples/2. inspect_data.ipynb +++ b/examples/2. inspect_data.ipynb @@ -109,11 +109,28 @@ "output_type": "stream", "text": [ "Working directory: \"/home/hacui/repos/andes/examples\"\n", - "Loaded config from file \"/home/hacui/.andes/andes.rc\"\n", "Loaded generated Python code in \"/home/hacui/.andes/pycode\".\n", + "Generated code for is stale.\n", + "Numerical code generation (rapid incremental mode) started...\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Generating code for 1 models on 16 processes.\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Saved generated pycode to \"/home/hacui/.andes/pycode\"\n", + "Reloaded generated Python code of module \"pycode\".\n", + "Generated numerical code for 1 models in 0.2276 seconds.\n", "Parsing input file \"/home/hacui/repos/andes/andes/cases/kundur/kundur_full.xlsx\"...\n", - "Input file parsed in 0.1294 seconds.\n", - "System internal structure set up in 0.0248 seconds.\n", + "Input file parsed in 0.0956 seconds.\n", + "System internal structure set up in 0.0251 seconds.\n", "-> System connectivity check results:\n", " No islanded bus detected.\n", " A total of 1 island(s) detected.\n", @@ -122,32 +139,27 @@ "-> Power flow calculation\n", " Sparse solver: KLU\n", " Solution method: NR method\n", - "Numba compilation initiated with caching.\n", - "Power flow initialized in 0.2110 seconds.\n", + "Power flow initialized in 0.0020 seconds.\n", "0: |F(x)| = 14.9282832\n", "1: |F(x)| = 3.608627841\n", - "2: |F(x)| = 3.371691245\n", - "3: |F(x)| = 3.38335788\n", - "4: |F(x)| = 1.643469337\n", - "5: |F(x)| = 0.2341714002\n", - "6: |F(x)| = 0.03397375079\n", - "7: |F(x)| = 0.0009863888463\n", - "8: |F(x)| = 1.354810848e-06\n", - "9: |F(x)| = 2.629008122e-12\n", - "Converged in 10 iterations in 0.0075 seconds.\n", - "Report saved to \"kundur_full_out.txt\" in 0.0004 seconds.\n" + "2: |F(x)| = 0.1701107882\n", + "3: |F(x)| = 0.002038626956\n", + "4: |F(x)| = 3.745103977e-07\n", + "Converged in 5 iterations in 0.0035 seconds.\n", + "Report saved to \"kundur_full_out.txt\" in 0.0006 seconds.\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ - "-> Single process finished in 0.4561 seconds.\n" + "-> Single process finished in 0.4505 seconds.\n" ] } ], "source": [ - "ss = andes.run(get_case('kundur/kundur_full.xlsx'))" + "ss = andes.run(get_case('kundur/kundur_full.xlsx'),\n", + " default_config=True) # one can remove `default_config=True` to use custom config file" ] }, { @@ -179,15 +191,16 @@ "output_type": "stream", "text": [ "Working directory: \"/home/hacui/repos/andes/examples\"\n", - "Loaded config from file \"/home/hacui/.andes/andes.rc\"\n", "Reloaded generated Python code of module \"pycode\".\n", "Parsing input file \"/home/hacui/repos/andes/andes/cases/kundur/kundur_full.xlsx\"...\n", - "Input file parsed in 0.0344 seconds.\n" + "Input file parsed in 0.0380 seconds.\n" ] } ], "source": [ - "ss = andes.load(get_case('kundur/kundur_full.xlsx'), setup=False)" + "ss = andes.load(get_case('kundur/kundur_full.xlsx'), \n", + " default_config=True, \n", + " setup=False)" ] }, { @@ -199,7 +212,7 @@ } }, "source": [ - "For example, we can toggle the connectivity status `u` of `Line_1` to `0` using" + "For example, we can toggle the connectivity status `u` of `Line_3` to `0` using" ] }, { @@ -219,7 +232,7 @@ }, "outputs": [], "source": [ - "ss.Line.alter('u', 'Line_1', 0)" + "ss.Line.alter('u', 'Line_3', 0)" ] }, { @@ -249,7 +262,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "System internal structure set up in 0.0213 seconds.\n", + "System internal structure set up in 0.0336 seconds.\n", "-> System connectivity check results:\n", " No islanded bus detected.\n", " A total of 1 island(s) detected.\n", @@ -258,42 +271,21 @@ "-> Power flow calculation\n", " Sparse solver: KLU\n", " Solution method: NR method\n", - "Numba compilation initiated with caching.\n", - "Power flow initialized in 0.0282 seconds.\n", + "Power flow initialized in 0.0024 seconds.\n", "0: |F(x)| = 14.9282832\n", - "1: |F(x)| = 3.601770103\n", - "2: |F(x)| = 3.253186474\n", - "3: |F(x)| = 0.3815599084\n", - "4: |F(x)| = 0.1989554785\n", - "5: |F(x)| = 0.03286377753\n", - "6: |F(x)| = 0.5344550338\n", - "7: |F(x)| = 0.1631495275\n", - "8: |F(x)| = 0.04380085028\n", - "9: |F(x)| = 0.021852953\n", - "10: |F(x)| = 0.2476334924\n", - "11: |F(x)| = 0.07602469013\n", - "12: |F(x)| = 0.02557716728\n", - "13: |F(x)| = 0.04993750579\n", - "14: |F(x)| = 0.02061860059\n", - "15: |F(x)| = 0.1118704275\n", - "16: |F(x)| = 0.03728503202\n", - "17: |F(x)| = 0.02230540901\n", - "18: |F(x)| = 0.09122806773\n", - "19: |F(x)| = 0.03188512126\n", - "20: |F(x)| = 0.02512214074\n", - "21: |F(x)| = 0.03301829778\n", - "22: |F(x)| = 0.021629876\n", - "23: |F(x)| = 0.1291023496\n", - "24: |F(x)| = 0.04212230118\n", - "25: |F(x)| = 0.02157051899\n", - "26: |F(x)| = 0.4059038447\n", - "Power flow failed after 27 iterations for \"/home/hacui/repos/andes/andes/cases/kundur/kundur_full.xlsx\".\n" + "1: |F(x)| = 3.579044433\n", + "2: |F(x)| = 0.119268955\n", + "3: |F(x)| = 0.03278820195\n", + "4: |F(x)| = 2.880943096e-05\n", + "5: |F(x)| = 3.93747257e-11\n", + "Converged in 6 iterations in 0.0056 seconds.\n", + "Report saved to \"kundur_full_out.txt\" in 0.0008 seconds.\n" ] }, { "data": { "text/plain": [ - "False" + "True" ] }, "execution_count": 6, @@ -381,15 +373,14 @@ "output_type": "stream", "text": [ "Working directory: \"/home/hacui/repos/andes/examples\"\n", - "Loaded config from file \"/home/hacui/.andes/andes.rc\"\n", "Reloaded generated Python code of module \"pycode\".\n", "Parsing input file \"/home/hacui/repos/andes/andes/cases/kundur/kundur.raw\"...\n", " MODIFIED KUNDUR'S TWO-AREA TEST SYSTEM, DISTRIBUTED WITH ANDES\n", " SEE THE BOOK \"POWER SYSTEM STABILITY AND CONTROL\" FOR ORIGINAL DATA\n", "Input file parsed in 0.0029 seconds.\n", "Parsing additional file \"/home/hacui/repos/andes/andes/cases/kundur/kundur_full.dyr\"...\n", - "Addfile parsed in 0.0688 seconds.\n", - "System internal structure set up in 0.0204 seconds.\n", + "Addfile parsed in 0.0804 seconds.\n", + "System internal structure set up in 0.0232 seconds.\n", "-> System connectivity check results:\n", " No islanded bus detected.\n", " A total of 1 island(s) detected.\n", @@ -398,11 +389,10 @@ "-> Power flow calculation\n", " Sparse solver: KLU\n", " Solution method: NR method\n", - "Numba compilation initiated with caching.\n", - "Power flow initialized in 0.0276 seconds.\n", + "Power flow initialized in 0.0024 seconds.\n", "0: |F(x)| = 3.175850023\n", "1: |F(x)| = 3.176155228e-08\n", - "Converged in 2 iterations in 0.0015 seconds.\n", + "Converged in 2 iterations in 0.0016 seconds.\n", "Report saved to \"kundur_out.txt\" in 0.0005 seconds.\n" ] }, @@ -410,12 +400,12 @@ "name": "stdout", "output_type": "stream", "text": [ - "-> Single process finished in 0.2526 seconds.\n" + "-> Single process finished in 0.2484 seconds.\n" ] } ], "source": [ - "ss = andes.run(raw_path, addfile=dyr_path)" + "ss = andes.run(raw_path, addfile=dyr_path, default_config=True)" ] }, { @@ -1572,6 +1562,273 @@ "ss.GENROU.cache.df_in" ] }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Alternatively, one can call the `as_df()` function to build a new dataframe *without overwriting* the cache:" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
idxunamebusgencoicoi2SnVnfnDMraxlxd1kpkwS10S12gammapgammaqxdxqxd2xq1xq2Td10Td20Tq10Tq20
uid
0GENROU_11.0GENROU_111NoneNone900.020.060.00.090.000.00.0066670.0333330.00.00.00.01.01.00.20.1888890.0277780.0611110.0277788.00.030.40.05
1GENROU_21.0GENROU_222NoneNone900.020.060.00.0117.000.00.0066670.0333330.00.00.00.01.01.00.20.1888890.0277780.0611110.0277788.00.030.40.05
2GENROU_31.0GENROU_333NoneNone900.020.060.00.0111.150.00.0066670.0333330.00.00.00.01.01.00.20.1888890.0277780.0611110.0277788.00.030.40.05
3GENROU_41.0GENROU_444NoneNone900.020.060.00.0111.150.00.0066670.0333330.00.00.00.01.01.00.20.1888890.0277780.0611110.0277788.00.030.40.05
\n", + "
" + ], + "text/plain": [ + " idx u name bus gen coi coi2 Sn Vn fn D \\\n", + "uid \n", + "0 GENROU_1 1.0 GENROU_1 1 1 None None 900.0 20.0 60.0 0.0 \n", + "1 GENROU_2 1.0 GENROU_2 2 2 None None 900.0 20.0 60.0 0.0 \n", + "2 GENROU_3 1.0 GENROU_3 3 3 None None 900.0 20.0 60.0 0.0 \n", + "3 GENROU_4 1.0 GENROU_4 4 4 None None 900.0 20.0 60.0 0.0 \n", + "\n", + " M ra xl xd1 kp kw S10 S12 gammap gammaq xd \\\n", + "uid \n", + "0 90.00 0.0 0.006667 0.033333 0.0 0.0 0.0 0.0 1.0 1.0 0.2 \n", + "1 117.00 0.0 0.006667 0.033333 0.0 0.0 0.0 0.0 1.0 1.0 0.2 \n", + "2 111.15 0.0 0.006667 0.033333 0.0 0.0 0.0 0.0 1.0 1.0 0.2 \n", + "3 111.15 0.0 0.006667 0.033333 0.0 0.0 0.0 0.0 1.0 1.0 0.2 \n", + "\n", + " xq xd2 xq1 xq2 Td10 Td20 Tq10 Tq20 \n", + "uid \n", + "0 0.188889 0.027778 0.061111 0.027778 8.0 0.03 0.4 0.05 \n", + "1 0.188889 0.027778 0.061111 0.027778 8.0 0.03 0.4 0.05 \n", + "2 0.188889 0.027778 0.061111 0.027778 8.0 0.03 0.4 0.05 \n", + "3 0.188889 0.027778 0.061111 0.027778 8.0 0.03 0.4 0.05 " + ] + }, + "execution_count": 19, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "ss.GENROU.as_df()" + ] + }, { "cell_type": "markdown", "metadata": {}, @@ -1604,7 +1861,7 @@ }, { "cell_type": "code", - "execution_count": 19, + "execution_count": 20, "metadata": { "ExecuteTime": { "end_time": "2021-03-19T01:57:46.497826Z", @@ -1625,7 +1882,7 @@ " 0.96908585, 0.9562181 , 0.95400018, 0.96856366, 0.98377143])" ] }, - "execution_count": 19, + "execution_count": 20, "metadata": {}, "output_type": "execute_result" } @@ -1650,7 +1907,7 @@ }, { "cell_type": "code", - "execution_count": 20, + "execution_count": 21, "metadata": { "ExecuteTime": { "end_time": "2021-03-19T01:57:46.502680Z", @@ -1670,7 +1927,7 @@ "andes.core.var.Algeb" ] }, - "execution_count": 20, + "execution_count": 21, "metadata": {}, "output_type": "execute_result" } @@ -1688,7 +1945,7 @@ }, { "cell_type": "code", - "execution_count": 21, + "execution_count": 22, "metadata": { "ExecuteTime": { "end_time": "2021-03-19T01:57:46.508151Z", @@ -1709,7 +1966,7 @@ " 0.96908585, 0.9562181 , 0.95400018, 0.96856366, 0.98377143])" ] }, - "execution_count": 21, + "execution_count": 22, "metadata": {}, "output_type": "execute_result" } @@ -1741,7 +1998,7 @@ }, { "cell_type": "code", - "execution_count": 22, + "execution_count": 23, "metadata": { "ExecuteTime": { "end_time": "2021-03-19T01:57:48.088224Z", @@ -1764,8 +2021,7 @@ "Sparse Solver: KLU\n", "Simulation time: 0.0-20.0 s.\n", "Fixed step size: h=33.33 ms. Shrink if not converged.\n", - "Numba compilation initiated with caching.\n", - "Initialization for dynamics completed in 0.0710 seconds.\n", + "Initialization for dynamics completed in 0.0293 seconds.\n", "Initialization was successful.\n" ] }, @@ -1774,16 +2030,16 @@ "output_type": "stream", "text": [ ": Line.Line_8 status changed to 0 at t=2.0 sec. \n", - "100%|███████████████████████████████| 100/100 [00:00<00:00, 196.03%/s]" + "100%|███████████████████████████████| 100/100 [00:00<00:00, 139.47%/s]" ] }, { "name": "stderr", "output_type": "stream", "text": [ - "Simulation completed in 0.5107 seconds.\n", + "Simulation completed in 0.7172 seconds.\n", "Outputs to \"kundur_out.lst\" and \"kundur_out.npz\".\n", - "Outputs written in 0.0168 seconds.\n" + "Outputs written in 0.0179 seconds.\n" ] }, { @@ -1799,7 +2055,7 @@ "True" ] }, - "execution_count": 22, + "execution_count": 23, "metadata": {}, "output_type": "execute_result" } @@ -1810,7 +2066,7 @@ }, { "cell_type": "code", - "execution_count": 23, + "execution_count": 24, "metadata": { "ExecuteTime": { "end_time": "2021-03-19T01:57:48.098566Z", @@ -1827,10 +2083,10 @@ { "data": { "text/plain": [ - "" + "" ] }, - "execution_count": 23, + "execution_count": 24, "metadata": {}, "output_type": "execute_result" } @@ -1860,7 +2116,7 @@ }, { "cell_type": "code", - "execution_count": 24, + "execution_count": 25, "metadata": { "ExecuteTime": { "end_time": "2021-03-19T01:57:48.107524Z", @@ -1880,7 +2136,7 @@ "(603,)" ] }, - "execution_count": 24, + "execution_count": 25, "metadata": {}, "output_type": "execute_result" } @@ -1891,7 +2147,7 @@ }, { "cell_type": "code", - "execution_count": 25, + "execution_count": 26, "metadata": { "ExecuteTime": { "end_time": "2021-03-19T01:57:48.116573Z", @@ -1911,18 +2167,18 @@ "(603, 204)" ] }, - "execution_count": 25, + "execution_count": 26, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "ss.dae.ts.xy.shape" + "ss.dae.ts.xy.shape # x-axis is for time stamps, and y-axis is for variables" ] }, { "cell_type": "code", - "execution_count": 26, + "execution_count": 27, "metadata": { "ExecuteTime": { "end_time": "2021-03-19T01:57:48.125081Z", @@ -1942,7 +2198,7 @@ "204" ] }, - "execution_count": 26, + "execution_count": 27, "metadata": {}, "output_type": "execute_result" } @@ -1951,6 +2207,141 @@ "len(ss.dae.xy_name)" ] }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Extracting Variable Data" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let's extract the data for rotor speed (variable `omega`) of `GENROU` generators.\n", + "The first step to extract variable data is to determine the type of the variable: differential or algebraic.\n", + "One can print the variable to see the type:" + ] + }, + { + "cell_type": "code", + "execution_count": 28, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "State: GENROU.omega, a=[4 5 6 7], v=[1.0016599 1.00166701 1.00182666 1.00184462], e=[-0.00238804 -0.00360342 0.00131428 0.00161908]" + ] + }, + "execution_count": 28, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "ss.GENROU.omega" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The output shows that `omega` is a state (differential variable), which should be looked up in `ss.dae.x`. For algebraic variables such as `ss.Bus.v`, they should be looked up in `ss.dae.y`.\n", + "\n", + "Therefore, all `omega` variables can be extracted as follows:" + ] + }, + { + "cell_type": "code", + "execution_count": 29, + "metadata": {}, + "outputs": [], + "source": [ + "omega = ss.dae.ts.x[:, ss.GENROU.omega.a]" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "where the `:` in the first axis will access such data for all time stamps, the `a` field of `ss.GENROU.omega` stores the addresses into `ss.dae.x`." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "To access all bus voltages (algebraic variable `v`) of the generators, one can use:" + ] + }, + { + "cell_type": "code", + "execution_count": 30, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[1. , 1. , 1. , 1. ],\n", + " [1. , 1. , 1. , 1. ],\n", + " [1. , 1. , 1. , 1. ],\n", + " ...,\n", + " [1.00241882, 1.00149857, 0.99525458, 1.00006109],\n", + " [1.00250567, 1.00159638, 0.99514609, 0.99997064],\n", + " [1.00259407, 1.00169544, 0.99503479, 0.99987801]])" + ] + }, + "execution_count": 30, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "ss.dae.ts.y[:, ss.GENROU.v.a]" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "These data correspond to the timestamps stored in `ss.dae.ts.t`. One can process such data as necessary. \n", + "\n", + "To show verify the extracted data, we plot them with `ss.TDS.plt.plot_data`." + ] + }, + { + "cell_type": "code", + "execution_count": 31, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + }, + { + "data": { + "text/plain": [ + "(
, )" + ] + }, + "execution_count": 31, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "ss.TDS.plt.plot_data(ss.dae.ts.t, omega )" + ] + }, { "cell_type": "markdown", "metadata": {}, @@ -1960,7 +2351,7 @@ }, { "cell_type": "code", - "execution_count": 27, + "execution_count": 32, "metadata": { "ExecuteTime": { "end_time": "2021-03-19T01:57:49.038948Z", @@ -1978,16 +2369,16 @@ "name": "stdout", "output_type": "stream", "text": [ - "\r\n", - " _ _ | Version 1.5.7.post27.dev0+g9e0e253e\r\n", - " /_\\ _ _ __| |___ ___ | Python 3.9.7 on Linux, 12/14/2021 02:48:47 PM\r\n", - " / _ \\| ' \\/ _` / -_|_-< | \r\n", - " /_/ \\_\\_||_\\__,_\\___/__/ | This program comes with ABSOLUTELY NO WARRANTY.\r\n", - "\r\n", - "\"/home/hacui/repos/andes/examples/kundur_out.lst\" removed.\r\n", - "\"/home/hacui/repos/andes/examples/kundur_out.npz\" removed.\r\n", - "\"/home/hacui/repos/andes/examples/kundur_full_out.txt\" removed.\r\n", - "\"/home/hacui/repos/andes/examples/kundur_out.txt\" removed.\r\n" + "\n", + " _ _ | Version 1.5.8.post16.dev0+g00a5f9be\n", + " /_\\ _ _ __| |___ ___ | Python 3.9.7 on Linux, 01/24/2022 02:33:26 PM\n", + " / _ \\| ' \\/ _` / -_|_-< | \n", + " /_/ \\_\\_||_\\__,_\\___/__/ | This program comes with ABSOLUTELY NO WARRANTY.\n", + "\n", + "\"/home/hacui/repos/andes/examples/kundur_out.lst\" removed.\n", + "\"/home/hacui/repos/andes/examples/kundur_out.npz\" removed.\n", + "\"/home/hacui/repos/andes/examples/kundur_full_out.txt\" removed.\n", + "\"/home/hacui/repos/andes/examples/kundur_out.txt\" removed.\n" ] } ], @@ -1997,7 +2388,7 @@ }, { "cell_type": "code", - "execution_count": 28, + "execution_count": 33, "metadata": { "execution": { "iopub.execute_input": "2021-09-26T22:41:56.081852Z", diff --git a/examples/8. change-setpoints-Copy1.ipynb b/examples/8. change-setpoints-Copy1.ipynb deleted file mode 100644 index 84dfabdce..000000000 --- a/examples/8. change-setpoints-Copy1.ipynb +++ /dev/null @@ -1,1010 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Changing Turbine Governor Setpoints" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "This notebook shows an example of changing the generator setpoints in a time-domain simulation. Data in this example is trivial, but the example can be retrofitted for scenarios such as economic dispatch incorporation or reinforcement learning.\n", - "\n", - "Steps are the folllwing:\n", - "\n", - "1. Initialize a system by running the power flow,\n", - "2. Set the first simulation stop time in `TDS.config.tf`,\n", - "3. Run the simulation,\n", - "3. Update the setpoints,\n", - "4. Set the new simulation stop time and repeat from 3 until the end." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Step 1: Case Setup" - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "metadata": { - "ExecuteTime": { - "end_time": "2021-03-19T20:13:21.558619Z", - "start_time": "2021-03-19T20:13:21.016971Z" - }, - "execution": { - "iopub.execute_input": "2021-09-26T22:41:51.050449Z", - "iopub.status.busy": "2021-09-26T22:41:51.050057Z", - "iopub.status.idle": "2021-09-26T22:41:51.755718Z", - "shell.execute_reply": "2021-09-26T22:41:51.755953Z" - } - }, - "outputs": [], - "source": [ - "import andes\n", - "from andes.utils import get_case" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": { - "ExecuteTime": { - "end_time": "2021-03-19T20:13:22.290011Z", - "start_time": "2021-03-19T20:13:21.560840Z" - }, - "execution": { - "iopub.execute_input": "2021-09-26T22:41:51.758840Z", - "iopub.status.busy": "2021-09-26T22:41:51.758605Z", - "iopub.status.idle": "2021-09-26T22:41:52.421460Z", - "shell.execute_reply": "2021-09-26T22:41:52.421887Z" - } - }, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Working directory: \"/home/hacui/repos/andes/examples\"\n", - "Loaded generated Python code in \"/home/hacui/.andes/pycode\".\n", - "Parsing input file \"/home/hacui/repos/andes/andes/cases/kundur/kundur_full.xlsx\"...\n", - "Input file parsed in 0.2020 seconds.\n", - "System internal structure set up in 0.0226 seconds.\n", - "-> System connectivity check results:\n", - " No islanded bus detected.\n", - " A total of 1 island(s) detected.\n", - " Each island has a slack bus correctly defined and enabled.\n", - "\n", - "-> Power flow calculation\n", - " Sparse solver: KLU\n", - " Solution method: NR method\n", - "Power flow initialized in 0.0021 seconds.\n", - "0: |F(x)| = 14.9282832\n", - "1: |F(x)| = 3.608627841\n", - "2: |F(x)| = 0.1701107882\n", - "3: |F(x)| = 0.002038626956\n", - "4: |F(x)| = 3.745103977e-07\n", - "Converged in 5 iterations in 0.0031 seconds.\n", - "Report saved to \"kundur_full_out.txt\" in 0.0005 seconds.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "-> Single process finished in 0.3373 seconds.\n" - ] - } - ], - "source": [ - "kundur = get_case('kundur/kundur_full.xlsx')\n", - "\n", - "ss = andes.run(kundur)" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": { - "ExecuteTime": { - "end_time": "2021-03-19T20:13:22.297356Z", - "start_time": "2021-03-19T20:13:22.292557Z" - }, - "execution": { - "iopub.execute_input": "2021-09-26T22:41:52.425666Z", - "iopub.status.busy": "2021-09-26T22:41:52.425203Z", - "iopub.status.idle": "2021-09-26T22:41:52.426753Z", - "shell.execute_reply": "2021-09-26T22:41:52.427317Z" - } - }, - "outputs": [], - "source": [ - "# disable the Toggler in this case\n", - "ss.Toggler.alter('u', 1, 0)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Step 2: Set the First Stop Time" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "metadata": { - "ExecuteTime": { - "end_time": "2021-03-19T20:13:22.305395Z", - "start_time": "2021-03-19T20:13:22.302336Z" - }, - "execution": { - "iopub.execute_input": "2021-09-26T22:41:52.432122Z", - "iopub.status.busy": "2021-09-26T22:41:52.429462Z", - "iopub.status.idle": "2021-09-26T22:41:52.432582Z", - "shell.execute_reply": "2021-09-26T22:41:52.432907Z" - } - }, - "outputs": [], - "source": [ - "# simulate to t=1 sec\n", - "\n", - "# specify the first stop in `ss.TDS.config.tf`\n", - "ss.TDS.config.tf = 1" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Step 3: Run Simulation" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "metadata": { - "ExecuteTime": { - "end_time": "2021-03-19T20:13:22.499102Z", - "start_time": "2021-03-19T20:13:22.308794Z" - }, - "execution": { - "iopub.execute_input": "2021-09-26T22:41:52.437495Z", - "iopub.status.busy": "2021-09-26T22:41:52.436163Z", - "iopub.status.idle": "2021-09-26T22:41:52.577962Z", - "shell.execute_reply": "2021-09-26T22:41:52.578395Z" - } - }, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "\n", - "-> Time Domain Simulation Summary:\n", - "Sparse Solver: KLU\n", - "Simulation time: 0.0-1 s.\n", - "Fixed step size: h=33.33 ms. Shrink if not converged.\n", - "Initialization for dynamics completed in 0.0211 seconds.\n", - "Initialization was successful.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "100%|██████████████████████████████| 100/100 [00:00<00:00, 2717.91%/s]" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Simulation completed in 0.0370 seconds.\n", - "Outputs to \"kundur_full_out.lst\" and \"kundur_full_out.npz\".\n", - "Outputs written in 0.0011 seconds.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n" - ] - }, - { - "data": { - "text/plain": [ - "True" - ] - }, - "execution_count": 5, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "ss.TDS.run()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Step 4. Apply the auxiliary power setpoints to `TGOV1.paux0.v`" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "First, let's check the equations of TGOV1. `ss.TGOV1.paux0` is associated with equation `0 = paux - paux0`, in which `paux` is added to the power input equation." - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "metadata": { - "ExecuteTime": { - "end_time": "2021-03-19T20:13:22.519088Z", - "start_time": "2021-03-19T20:13:22.503939Z" - }, - "execution": { - "iopub.execute_input": "2021-09-26T22:41:52.580576Z", - "iopub.status.busy": "2021-09-26T22:41:52.579961Z", - "iopub.status.idle": "2021-09-26T22:41:52.589596Z", - "shell.execute_reply": "2021-09-26T22:41:52.590029Z" - }, - "scrolled": true - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Model in Group \n", - "\n", - " TGOV1 turbine governor model.\n", - "\n", - " Implements the PSS/E TGOV1 model without deadband.\n", - " \n", - "Parameters\n", - "\n", - " Name | Description | Default | Unit | Properties \n", - "-------+-----------------------------------+---------+------+-----------------\n", - " idx | unique device idx | | | \n", - " u | connection status | 1 | bool | \n", - " name | device name | | | \n", - " syn | Synchronous generator idx | | | mandatory,unique\n", - " Tn | Turbine power rating. Equal to | | MVA | \n", - " | `Sn` if not provided. | | | \n", - " wref0 | Base speed reference | 1 | p.u. | \n", - " R | Speed regulation gain (mach. base | 0.050 | p.u. | ipower \n", - " | default) | | | \n", - " VMAX | Maximum valve position | 1.200 | p.u. | power \n", - " VMIN | Minimum valve position | 0 | p.u. | power \n", - " T1 | Valve time constant | 0.100 | | \n", - " T2 | Lead-lag lead time constant | 0.200 | | \n", - " T3 | Lead-lag lag time constant | 10 | | \n", - " Dt | Turbine damping coefficient | 0 | | power \n", - " Sg | Rated power from generator | 0 | MVA | \n", - " ug | Generator connection status | 0 | bool | \n", - " Vn | Rated voltage from generator | 0 | kV | \n", - "\n", - "Variables (States + Algebraics)\n", - "\n", - " Name | Type | Description | Unit | Properties\n", - "-------+----------+--------------------------------------+------+-----------\n", - " LAG_y | State | State in lag TF | | v_str \n", - " LL_x | State | State in lead-lag | | v_str \n", - " omega | ExtState | Generator speed | p.u. | \n", - " paux | Algeb | Auxiliary power input | | v_str \n", - " pout | Algeb | Turbine final output power | | v_str \n", - " wref | Algeb | Speed reference variable | | v_str \n", - " pref | Algeb | Reference power input | | v_str \n", - " wd | Algeb | Generator speed deviation | p.u. | v_str \n", - " pd | Algeb | Pref plus speed deviation times gain | p.u. | v_str \n", - " LL_y | Algeb | Output of lead-lag | | v_str \n", - " tm | ExtAlgeb | Mechanical power interface to SynGen | | \n", - "\n", - "Variable Initialization Equations\n", - "\n", - " Name | Type | Initial Value\n", - "-------+----------+--------------\n", - " LAG_y | State | pd * 1 / 1 \n", - " LL_x | State | LAG_y \n", - " omega | ExtState | \n", - " paux | Algeb | paux0 \n", - " pout | Algeb | ue * tm0 \n", - " wref | Algeb | wref0 \n", - " pref | Algeb | tm0 * R \n", - " wd | Algeb | 0 \n", - " pd | Algeb | ue * tm0 \n", - " LL_y | Algeb | LAG_y \n", - " tm | ExtAlgeb | \n", - "\n", - "Differential Equations\n", - "\n", - " Name | Type | RHS of Equation \"T x' = f(x, y)\" | T (LHS)\n", - "-------+----------+----------------------------------+--------\n", - " LAG_y | State | 1 * pd - 1 * LAG_y | T1 \n", - " LL_x | State | (LAG_y - LL_x) | T3 \n", - " omega | ExtState | | \n", - "\n", - "Algebraic Equations\n", - "\n", - "Name | Type | RHS of Equation \"0 = g(x, y)\" \n", - "------+----------+------------------------------------------------------------\n", - " paux | Algeb | paux0 - paux \n", - " pout | Algeb | ue * (LL_y - Dt * wd) - pout \n", - " wref | Algeb | wref0 - wref \n", - " pref | Algeb | pref0 * R - pref \n", - " wd | Algeb | ue * (omega - wref) - wd \n", - " pd | Algeb | ue*(- wd + pref + paux) * gain - pd \n", - " LL_y | Algeb | 1 * T2 * (LAG_y - LL_x) + 1 * LL_x * T3 - LL_y * T3+ \n", - " | | LL_LT1_z1 * LL_LT2_z1 * (LL_y - 1 * LL_x) \n", - " tm | ExtAlgeb | ue * (pout - tm0) \n", - "\n", - "Services\n", - "\n", - " Name | Equation | Type \n", - "-------+----------+-------------\n", - " ue | u * ug | ConstService\n", - " pref0 | tm0 | ConstService\n", - " paux0 | 0 | ConstService\n", - " gain | ue/R | ConstService\n", - "\n", - "Discrete\n", - "\n", - " Name | Type | Info \n", - "---------+------------+---------------\n", - " LAG_lim | AntiWindup | Limiter in Lag\n", - " LL_LT1 | LessThan | \n", - " LL_LT2 | LessThan | \n", - "\n", - "Blocks\n", - "\n", - "Name | Type | Info\n", - "-----+---------------+-----\n", - " LAG | LagAntiWindup | \n", - " LL | LeadLag | \n", - "\n", - "\n", - "Config Fields in [TGOV1]\n", - "\n", - " Option | Value | Info | Acceptable values\n", - "--------------+-------+------------------------------------+------------------\n", - " allow_adjust | 1 | allow adjusting upper or lower | (0, 1) \n", - " | | limits | \n", - " adjust_lower | 0 | adjust lower limit | (0, 1) \n", - " adjust_upper | 1 | adjust upper limit | (0, 1) \n", - "\n", - "\n" - ] - } - ], - "source": [ - "print(ss.TGOV1.doc())" - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "metadata": { - "ExecuteTime": { - "end_time": "2021-03-19T20:13:22.529826Z", - "start_time": "2021-03-19T20:13:22.523414Z" - }, - "execution": { - "iopub.execute_input": "2021-09-26T22:41:52.592093Z", - "iopub.status.busy": "2021-09-26T22:41:52.591477Z", - "iopub.status.idle": "2021-09-26T22:41:52.595739Z", - "shell.execute_reply": "2021-09-26T22:41:52.596145Z" - } - }, - "outputs": [ - { - "data": { - "text/plain": [ - "array([0., 0., 0., 0.])" - ] - }, - "execution_count": 7, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "ss.TGOV1.paux0.v" - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "metadata": { - "ExecuteTime": { - "end_time": "2021-03-19T20:13:22.539756Z", - "start_time": "2021-03-19T20:13:22.534130Z" - }, - "execution": { - "iopub.execute_input": "2021-09-26T22:41:52.598119Z", - "iopub.status.busy": "2021-09-26T22:41:52.597503Z", - "iopub.status.idle": "2021-09-26T22:41:52.601937Z", - "shell.execute_reply": "2021-09-26T22:41:52.602406Z" - } - }, - "outputs": [ - { - "data": { - "text/plain": [ - "array([0., 0., 0., 0.])" - ] - }, - "execution_count": 8, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "# look up the original values of TGOV1 make sure they are as expected\n", - "\n", - "ss.TGOV1.paux0.v" - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "metadata": { - "ExecuteTime": { - "end_time": "2021-03-19T20:13:22.546373Z", - "start_time": "2021-03-19T20:13:22.544173Z" - }, - "execution": { - "iopub.execute_input": "2021-09-26T22:41:52.604382Z", - "iopub.status.busy": "2021-09-26T22:41:52.603758Z", - "iopub.status.idle": "2021-09-26T22:41:52.606646Z", - "shell.execute_reply": "2021-09-26T22:41:52.607071Z" - } - }, - "outputs": [], - "source": [ - "# MUST use in-place assignments. \n", - "# Here, we increase the setpoint of the 0-th generator\n", - "\n", - "# method 1: use in-place assignment again\n", - "\n", - "ss.TGOV1.paux0.v[0] = 0.05\n", - "\n", - "# method 2: use ``ss.TGOV1.alter()``\n", - "\n", - "# ss.TGOV1.alter('paux0', 1, 0.05)" - ] - }, - { - "cell_type": "code", - "execution_count": 10, - "metadata": { - "ExecuteTime": { - "end_time": "2021-03-19T20:13:22.551802Z", - "start_time": "2021-03-19T20:13:22.548389Z" - }, - "execution": { - "iopub.execute_input": "2021-09-26T22:41:52.609061Z", - "iopub.status.busy": "2021-09-26T22:41:52.608409Z", - "iopub.status.idle": "2021-09-26T22:41:52.612636Z", - "shell.execute_reply": "2021-09-26T22:41:52.613057Z" - } - }, - "outputs": [ - { - "data": { - "text/plain": [ - "array([0.05, 0. , 0. , 0. ])" - ] - }, - "execution_count": 10, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "ss.TGOV1.paux0.v" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Continue to simulate to 2 seconds." - ] - }, - { - "cell_type": "code", - "execution_count": 11, - "metadata": { - "ExecuteTime": { - "end_time": "2021-03-19T20:13:22.555851Z", - "start_time": "2021-03-19T20:13:22.553588Z" - }, - "execution": { - "iopub.execute_input": "2021-09-26T22:41:52.615819Z", - "iopub.status.busy": "2021-09-26T22:41:52.615124Z", - "iopub.status.idle": "2021-09-26T22:41:52.618576Z", - "shell.execute_reply": "2021-09-26T22:41:52.619047Z" - } - }, - "outputs": [], - "source": [ - "ss.TDS.config.tf = 2" - ] - }, - { - "cell_type": "code", - "execution_count": 12, - "metadata": { - "ExecuteTime": { - "end_time": "2021-03-19T20:13:22.815687Z", - "start_time": "2021-03-19T20:13:22.557346Z" - }, - "execution": { - "iopub.execute_input": "2021-09-26T22:41:52.621307Z", - "iopub.status.busy": "2021-09-26T22:41:52.620675Z", - "iopub.status.idle": "2021-09-26T22:41:52.952951Z", - "shell.execute_reply": "2021-09-26T22:41:52.961101Z" - } - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "100%|████████████████████████████| 100.0/100 [00:00<00:00, 1376.33%/s]" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Simulation completed in 0.0728 seconds.\n", - "Outputs to \"kundur_full_out.lst\" and \"kundur_full_out.npz\".\n", - "Outputs written in 0.0026 seconds.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n" - ] - }, - { - "data": { - "text/plain": [ - "True" - ] - }, - "execution_count": 12, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "ss.TDS.run()" - ] - }, - { - "cell_type": "code", - "execution_count": 13, - "metadata": { - "ExecuteTime": { - "end_time": "2021-03-19T20:13:23.904691Z", - "start_time": "2021-03-19T20:13:22.817185Z" - }, - "execution": { - "iopub.execute_input": "2021-09-26T22:41:52.965842Z", - "iopub.status.busy": "2021-09-26T22:41:52.964986Z", - "iopub.status.idle": "2021-09-26T22:41:53.817992Z", - "shell.execute_reply": "2021-09-26T22:41:53.817166Z" - } - }, - "outputs": [ - { - "data": { - "image/png": "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\n", - "text/plain": [ - "
" - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - }, - { - "data": { - "text/plain": [ - "(
, )" - ] - }, - "execution_count": 13, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "ss.TDS.plotter.plot(ss.TGOV1.paux)" - ] - }, - { - "cell_type": "code", - "execution_count": 14, - "metadata": { - "ExecuteTime": { - "end_time": "2021-03-19T20:13:24.736064Z", - "start_time": "2021-03-19T20:13:23.906408Z" - }, - "execution": { - "iopub.execute_input": "2021-09-26T22:41:53.839939Z", - "iopub.status.busy": "2021-09-26T22:41:53.827388Z", - "iopub.status.idle": "2021-09-26T22:41:54.670798Z", - "shell.execute_reply": "2021-09-26T22:41:54.671184Z" - } - }, - "outputs": [ - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAhoAAAFwCAYAAAD+PtKHAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjQuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/MnkTPAAAACXBIWXMAAA9hAAAPYQGoP6dpAABZZUlEQVR4nO3dd1xb973/8ddhGAw2yOC9LWzHjp0lm+xtuWnStE1TsNMmbdKmhc50pVZ9b++v85bC7V4ppE1n0trQNm2SNg1yRjOcxAZnOE48kPc2IMAYbMb394dGhBEYsIQEvJ+Phx62js736HMkHfTRd1rGGERERESiISHWAYiIiMjwpURDREREokaJhoiIiESNEg0RERGJGiUaIiIiEjVKNERERCRqlGiIiIhI1CTFOoCzZVmWBUwFmmIdi4iIyBA0FjhgojSx1pBPNPAlGftiHYSIiMgQNh3YH40DD4dEowlg7969ZGRkxDoWERGRIaOxsZEZM2ZAFFsF+pVoWJZlA1YA+caY5WEeXwV4/XdtxpiSPhyz32XCycjIUKIhIiISZ/rcGdSyLAe+JMMGZIV5fBWAMabMGFMGVFuWVXqGY/a7jIiIiAwdVn/7fliWlQesNsYsOW17PTDHGOMN2WaMMVYvx+p3mTDHyAAaGhoaVKMhIiLSD42NjWRmZgJkGmMao/EcERnealmWHV+zhzfMY85IlREREZGhJVKdQe09bPfia2qJVBksy0oBUkI2je01MhEREYmZaE/YVUeY/hxnWWY10BBy09BWERGROBXt4a39TTL6UqYI+EHI/bH0Mdno6Oigra1tACGJnL3k5GQSExNjHYaIyKCKVKLh6WG7rZfHBlIGY8xJ4GTgvm9i0N4ZYzh06BBer/eM+4pEk81mY/LkyX363IqIDAcRSTSMMR7LsryWZdmNMZ7THnNHqsxABZKMiRMnkpaWpj/yMuiMMZw4cYIjR44AMGXKlBhHJCIyOAaSaPTUtFEEOIEyCA6DLQs86B9lknfahFy9lomEjo6OYJKRnZ0dyUOL9Mvo0aMBOHLkCBMnTlQzioiMCP2ZsMvun2CrEHBYllXsTwwA8CcQNsuy8vzbc40xhSGHcPrL0o8yZy3QJyMtLS2ShxUZkMDnUH2FRGSk6HONhr95o8R/62mf0McqTnusjDC1Fb2ViSQ1l0g80OdQROKBMYZNe7389qktUX+u4bComoiIiPRBQ0sbD2/az59e3sNbh5qYlNoZ9edUojEMeDweiouLKSsrIy8vj9zcXGpra/F4fH1si4uLsdt7mh/t7J53yZIlOJ3O4PErKiqw2WysXLmS2tpa3G5fv96qqqpu5V0uF0Cw74zNZqOgoACXy0VxcXG3/b1eL0VFReTm5gJQV1cHQEFBQXCfiooKSktLcbvdOJ1OiouLcTgcXWLOz8/H6/VSWFjIqlWrIvFSiIjELWMM1XvqeeilvTz2+gHaOwzOhZNYfdNCzp84iqxvDEIAQ/kGZACmoaHBhNPS0mK2bNliWlpawj4+XFRVVRnf29lVeXm5sdlsUXvO4uLiLtvsdrtZtWpVl21Op7NbOYfDYaqqqrpsr6mpMXl5ecbhcIR9LqfTaerr67tsLy8v73b8+vp6A5jy8vKwcZeXl5vKyspuZUpLS7sd60z6W26kfB5FJPbqm0+aB57zmOU/eNrMcj1qrip+0vz8qe3mcOPbf38aGhoMYIAME6Xv6WjPDCqDxO12d/nlHuBwOPB6vVRXV0f8Oevq6rrUJoCvVuJ0+fn5Xe4vW7asW00DgN1up7AwfF/gZcuW4XK5uh0/Ly+vWzmbzUZeXh6lpeEXAvZ4PDidby+nU11dzdq1a/F6vcFakr4YaDkRkWjavL+Be8tf5ZLvrON/H3uTeRPH8se7L+Hpe6/lU9fOZeLY1EGNR00nw0RlZSVLly7ttj2QYIRLQs6W1+sNm1iczm63B/ctLCzEbrd3+aIP5XQ6ycrqOoLa5XL1WsblcpGTkxPcD6CwsJDly5eHjfH0+w6HA4fDQUVF//oiD7SciEiktXV08q/Nh/jdC7uo2l3PNNtoPuecR/6SGUwYm3LmA0SRajSGiY0bN7J8+fJu210uV9T6IeTl5Z15J3zJQ+DL3e12h02IQgX6bgRUVFT02scktH/I6c9ZVtZ1oFNZWRkrVqzoU9wiIvHuSFMrP3Zv54rvPsk9f9rEqMQEfnnHEp75sq/2ItZJBozwGo2WUx3UHD0e6zAAyJkwhtGjBjaBk8fjwev1dvnF7/F4cLlccdfh0ePxkJOT0+s+p9dceDyeHptUAux2Oxs2bOiyraCggNLS0i7n39daGBGReLZpTz2/e2EXj71+kKSEBN7nmMadl83mnMnxt6D5iE40ao4e5+afPhfrMAB49LNXsnha5oDKut1ubDYba9euDW6z2+2Ul5dHKryYq62t7XeZlStXUlJSQnV1NQ6HA4/HE5XRNyIig6Gj0/DvNw5R9h8Pr+z1MjMrDdc7F5C/ZAaZacmxDq9HIzrRyJkwhkc/e2WswwB8sQxUZWUlTqezW8fMsxWNX/8Oh4Oamppu291uN9XV1ZSWllJXV8fq1auDNRF2uz04VLcn4Wo9HA4Hdrud0tLS4JDXSL9GIiLR1nKqg4qqvfzquZ3srj3BpfYsfvXhpVy3YCKJCfE/CeCITjRGj0occC1CPHG73WHnnThby5YtCzv/xdlwOp1hO086nU6cTie1tbVUVFR0ae5wOp3B+TjCCXR4DddZtLCwkKKiIkpLS7V6r4gMKceOn+T363fzh/W7aGhp46bzpvDTD1zE+dNtsQ6tX9QZdIjzer3d+mdEQnV1dVSaGQIJUU8jNcLVohQXF1NXV9djGZfLRUFBQdiRNQUFBXi9XlwuV8RfIxGRaPAcPc5//e11rvjuk9z/Hw/vvXAaz3z5On72QceQSzJAicaQF+if0VtS4PF4KCkpoaKiIti84PF4KCsrC94PfBmDL8koKioiKyur15qEcAKJT28qKyspKirqduye5qOw2WyUl5dTVFTUrQklMKqkpxodm80WrEU50xDfgc6FoTk0RCQSXtvnpfAPG1n2g2d44o3D3LNsHutXX8/X37OIGVlDd2HQEd10MpR5vV7KyspYs2YNACUlJT2OLsnPzw82gQQSjMC8FIEOo6Ff+oEv5NB5Kc6kpKQkOO252+2mpKQEu90edgis3W6nqqoKl8tFZWUl2dnZwVqM8vLysMmN0+lk3bp1FBUVdRu1UllZ2WtshYWFvfbx8Hg8VFRUsGbNGqqrq3G5XOTm5p5x+O5Ay4mIhKraXcdP1u3gmW1HmTM+naL3ncctF00jNXlgIxHjjWV803gPWZZlZQANDQ0NZGRkdHu8tbWVnTt3MmfOHFJTB3c2tHhQVlZGTU1N8Bd/YCKrvLw8SkpKguuLFBYWkp+fH2xeyMnJCdtpU87OSP88ioiPMYb1nlp+um4H6z21zJ80hk9fN5ebz586qB08GxsbyczMBMg0xjRG4znUdDIChNYAbNy4MfiLe8OGDcHEIjCRltvtxuPxBGs1+tt0IiIiPTPG8PTWI+T/cj0fvP8lGlvb+OUdDh7/3NW898JpQ2IUSX+p6WSYW7FiBUVFRVRUVODxeFi3bl3wsZUrVwZXW3U4HKxdu5YVK1Zgs9nIysrSLJoiIhFijKFyy2F+9tQOXtvXwIUzbDxw11KuO2ciljX8kotQajoRGUT6PIqMLMYYnt52lO8/sZXN+xu5eE4W91w/jyvmZsdFgjEYTSeq0RAREYmC9TW1fP+JrWzcXc/SWeP408cv5bKc7FiHNeiUaIiIiETQpj31fP+JbTy34xjnTcvktx/J5Zr5E+KiBiMWlGiIiIhEwJYDjfygcivuN48wb+IYfnmHgxsWTR6xCUaAEg0REZGz4Dl6nB9UbuPR1w4yKzuNH628kHdfMLjDVOOZEg0REZEBqD1+kh+v285DL+1hwtgUim49j7wl00lO1MwRoZRoiIiI9ENrWwe/fm4n9z1dgwV86R3n8JErZg+bmTwjTYmGiIhIH3R2Gv62aT/ff2IrR5pOcsels7hn2Tyy0kfFOrS4pkRjGPB4PBQXF1NWVkZeXh65ubnBdUfAt+BYNFZi9Xg8LFmyBKfTGTx+YAKwlStXUltbG5xZNNxy84FF3LKzfcO9AtOhu1yusIukeb1eioqKyM3NBd5ezKygoCC4T0VFBaWlpbjdbpxOJ8XFxV0WU/N4POTn5+P1eiksLOxxfRgRkVDP7zjGd/75Jm8caOTGxZNZ9c4FzBmfHuuwhgZjzJC+ARmAaWhoMOG0tLSYLVu2mJaWlrCPDxdVVVXG93Z2VV5ebmw2W9Ses7i4uMs2u91uVq1a1WWb0+nsVs7hcJiqqqou22tqakxeXp5xOBxhn8vpdJr6+vou28vLy7sdv76+3gCmvLw8bNzl5eWmsrKyW5nS0tJuxzqT4uJiU1xcbAoKCkxBQcEZ9x8pn0eR4WLroUZz1wMvmVmuR80tP3/ObNxVG+uQIqqhocEABsgwUfqeVo+VYcLtdoddBt3hcOD1eqmuro74c9bV1XWpTQCCq7CGys/P73J/2bJl3WoawLeqa2DZ+tMtW7YMl8vV7fh5eXndytlsNvLy8igtLQ17LI/HE1zjBaC6upq1a9f2uEx9T1wuF6tWrWLVqlXB51q+fHmfy4tI/Go40cbX//EGN/74WTzHmvnF7Q7++snLWTIrK9ahDTlqOhkmKisrWbp0abftgQQjXBJytrxeb9jE4nR2uz24b2FhYXCJ+nCcTidZWV0v5MBy9T2Vcblc5OTkdFnWPrBKbbgYT7/vcDhwOBxUVFSc8VwCAslb6PELCwtZsmQJHo8nKk1VIhJ9HZ2G8o17Kfn3Vk62dbDqhnP4yBVzGJWk3+UDpVdumNi4cWPYX9OBX93REFgF9kycTmfwyziwSmxvAn03AioqKnr94g7tH3L6c5aVlXXZN5ILxW3cuDHYDyY0Dq/XG5Hji8jgqtpdzy0/f56v/PV1rp0/gSfvvZbCa3KUZJwl1Wg0HfLdQo22wbjZ0NYKR9/qXmbqhb5/j22HU81dH7PNhLQsaD4GDfu6PpYyFrJzoLMDDr3+9vaxk323AfJ4PHi93i6/+D0eDy6XK+46PHo8ni7L1odzes2Fx+PpsUklwG63s2HDhi7bCgoKKC0t7XL+fa2FORObzUZ9fX2XbYGOr6rNEBlajjS28t3H3+Kv1ftZPC2Dik9cxtLZaiKJFCUaG38Dz3y367bzVsD774fG/VB2TfcyX2/w/fvwJ2Ff1y833lcGF6yEN/4G/7y362M518OH/uZLTkKPe81X4LrVAz4Ft9uNzWZj7dq1wW12u53y8vIBHzPe1NbW9rvMypUrKSkpobq6GofDEfUmjaKiIkpLSyOSyIhI9J1q7+S3L+zkJ+t2kJxo8Z33ncfK3Bma0TPClGgs/Qicc2PXbaNtvn8zpkHBMz2XveW+8DUaAIveB9Nzuz6WMtb376j0rsc9i9oM8PXPcDqd3Tpmnq1I/foP5XA4qKmp6bbd7XZTXV1NaWkpdXV1rF69OlgTYbfbuzRRhBOu1sPhcGC32yktLQ0OeY30axTgcrlYuXJl1I4vIpH1Qs0xvvrwZnYda+bDl83mC875ZKYlxzqsYUmJRm/NFsmpbzeThDN+Xs+PpY/33cJJSOz9uP3kdrvDzjtxtpYtWxZ2/ouz4XQ6w3a6dDqdOJ1Oamtrqaio6NLc4XQ6g80S4QQ6vIbrLFpYWBisaYhW34mKigpycnKUZIgMAXXNp/jfx97kL9X7yJ09jl/c7mDB5IxYhzWsRbyHi2VZq0JuZ/z2syzLaVlWuWVZBf7/F1uW1bdehoLX6+3WPyMSqquro9LMEEiIehrhEa4Wpbi4mLq6uh7LuFwuCgoKwo6sKSgowOv14nK5Iv4awdv9MgJJhtfrPWPti4gMPmN8o0mWff9pKrcc4ru3nseagsuUZAyCiCYalmWVA15jTIkxpgSo6UOyYQOcQKn/VmOM6fs4wxEu0D+jt6TA4/FQUlJCRUVFsHnB4/FQVlYWvB/4MgZfklFUVERWVlavNQnhBBKf3lRWVlJUVNTt2D3NY2Gz2SgvL6eoqKjbl3hgVElPNTo2my1Yi3KmIb79mUMDfK9TaP+PwGt6+vBcEYmtmqPH+cD9L/Llite4Zv4E1n3pWm67eCYJ6osxKCLWdGJZlh3IAz4esnktUG9ZVpExxttL8TlneFxO4/V6KSsrY82aNQCUlJT0OLokPz8/2AQS+DIMzEsR6DAa+qUf+EIOnZfiTEpKSoLTnrvdbkpKSrDb7WGHwNrtdqqqqnC5XFRWVpKdnR2sxSgvLw+b3DidTtatW0dRUVG3USuVlZW9xlZYWNhrLYPH46GiooI1a9ZQXV2Ny+UiNze31+G7Xq+XZcuWdUnQAuJplI/ISHayvYP7nq7hF0/VMMWWyh/uvpir5k2IdVgjjmV803if/YEsywlUGmOs07YbYLkxJuxPY38zibuviYZlWSlASsimscC+hoYGMjK6V4G1trayc+dO5syZQ2pqat9OZhgpKyujpqYm+Is/MJFVXl4eJSUlwfVFCgsLyc/PDzYv5OTkhO20KWdnpH8eRQbL+ppa/vvh19lTe4LCa+x89vp5Wl01jMbGRjIzMwEyjTGN0XiOSDadeAAsy7KFeexMP4tXWJaV5++ncaamltVAQ8htX++7S2gNwMaNG4O/1Dds2BBMLAITabndbjweT7BWo79NJyIisdTU2sbqv77GB+5/kXFpo/jn567iyzcsUJIRQxFrOjHGeCzLcuPrb1EBwVqOM6kOlPeXKbAsq9wYk9/D/kXAD0Luj0XJRo9WrFhBUVERFRUVeDwe1q1bF3xs5cqVwdVWHQ4Ha9euZcWKFdhsNrKysiI6i6aISLQ9s+0oq//yGg0tbXz7lsV8UP0w4kLEmk6CB/TVSNQAdfhqOaropekkTHkbUA+M60tzimVZGUCDmk5kKNDnUSTyGlvb+M5jb/LnDXu5cu54vvv+85g+Li3WYQ0Jg9F0EvF5NIwxwZ5xIc0oG3va37KsvNBRJsYYr2VZ4GtuifySoyIiMmw8s+0oX/nLazS2tPGd953HBy6egf87ROJERBMNy7IcxpjQ5MAJVPRUM+FPRMoty8oJaTqx+R/WZAQiIhJWY2sb//vom6zZqFqMeBfpGo1yy7IKQ5pJCv034O0hsP45NgK1FyWBJMOvgF6SExERGdme3nqE1X99nabWdopuPY/bclWLEc8inWgUAg5/QpEDFJ6WRDj9+5SEbCuyLCt04oHsXjqCiojICNV8sp1vPbqFP2/Yy1XzxvPd95/PNNvoWIclZxDRRMNfk9Fjp09jTBlQdto2L10TDxERkS5e2evl83/exOHGk+qLMcRoUTUREYlbHZ2GXzy1gx+t287iqRn85iMXM2d8eqzDkn5QoiEiInFpb90JvrDmFar31PPp6+Zyz7J5JCdGfC1QiTIlGiIiEnce3rSf/3l4Mxmjk1lTeBm5s7VY4VClRGMY8Hg8FBcXU1ZWRl5eHrm5ucEFzsC3smk0lnz3eDwsWbIEp9MZPH5gptGVK1dSW1sbnMI8sKhbqMBiZNnZ2QDBdVdcLlfY1Vi9Xi9FRUXk5uYCb6+2GliiPfD8paWluN1unE4nxcXFXVZt9Xg85Ofn4/V6KSws1AJoInGmoaWN/3l4M/949QC3XDiVb96ymIzU5FiHJWfDGDOkb0AGYBoaGkw4LS0tZsuWLaalpSXs48NFVVWV8b2dXZWXlxubzRa15ywuLu6yzW63m1WrVnXZ5nQ6u5VzOBymqqqqy/aamhqTl5dnHA5H2OdyOp2mvr6+y/by8vJux6+vrzeAKS8vDxt3eXm5qays7FamtLS027F6EyhTWlpqVq1aZfLy8rrFd7qR8nkUGYiXPLXm8qJ1ZvH/e9w8vGlfrMMZERoaGgxggAwTpe9pNXYNE263u8sv9wCHw4HX66W6OvKTrNbV1XWpTQCCy72Hys/vOlp52bJl3WoawLd8fGFhIeEsW7YMl8vV7fh5eXndytlsNvLy8igtLQ17LI/HE1xMDqC6upq1a9fi9XqDtSR94XK5cDqdFBQUUFxcTFZWVrdzFZEz6+w0/GTddm4rW88022j+9fmreO+F02IdlkSIEo1horKykqVLl3bbHkgwwiUhZ8vr9YZNLE5nt9vxer2Ab5l6u93e5Ys+lNPpJCura1usy+XqtYzL5aKsrCzYVBR4HrfbHXzeUKfH7HA4KCgo6HfzksfjoaIiOHs+OTk5bNzY42z7IhJG7fGT3Pmbl/mhexufvX4efyq4VDN8DjNKNIaJjRs3snz58m7bXS5X1PohBJabPxOn0xn8cg8sR9+bQN+NgIqKil6TgND+Iac/Z1lZl2lbIroibWVlZZfXdsOGDT0mQyLS3cs767jpJ8+y5UAjv//oxXxh+XwStdrqsDPiO4MePXGUoy1He91nSvoUxqWOo761noPNBzk3+1wAdjbspKW9pdey82zzSE5MZm/TXjpNJ7MyZtHR2cHW+q3BfSaMnsCEtAkDPgePx4PX6+3yJefxeHC5XHHX4dHj8ZCTk9PrPqd/WXs8nh6bVALsdjsbNmzosq2goIDS0tIu59/XWpj+qqiowOv1Ul5eHvFjiww3nZ2G0v94+N4TW1kyaxw//cBFTMrQasbD1YhPNMq3lXPfq/f1us/XL/s675//fp7c8yRfX/91Xr/zdQC++vxXee3oa72WrcyrZHL6ZH5Y9UOa25opXV5KS3sLKx9dGdznkxd8kk9d+KkBn4Pb7cZms7F27drgNrvdPqy+9Gpra/tdZuXKlZSUlFBdXY3D4cDj8UR89I3X6w3278jPz49KEiMynNQ3n+KLa1/hqa1H+fR1OXzBOZ8kzY0xrI34RCN/fj7Xzri2132mpE8B4PqZ17Mwe2Fw+7ev+PYZazSyU31DN7+w5At0mk4ARieNZs3Na4L7TBg98NoM8FXhBzolRlI0fv07HA5qamq6bXe73VRXV1NaWkpdXR2rV68O1kTY7fYu/S/CCVfr4XA4sNvtlJaWBoe8Rvo1CgzJBV+zzLhx49i5c6cSDpEwqnbX8ZmHNtHa1sFvP5LLtedMjHVIMghGfKIxIa3vzRbjUscxLnVc8P6czDl9fp4ZY2cE/5+YkBhsfokEt9sddt6Js7Vs2bKw81+cDafT2aUvReh2p9NJbW0tFRUVXZo7nE5ncD6OcAIdXsP1jygsLKSoqIjS0tKwHUMHKjCnx+rVq4NJhdPpxOv14na7+9x/RWQkMMbwq2d3Uvz4W1www8ZPP3ARU7UY2oih+qohzuv1duufEQnV1dVRmeQrkBCFSzYgfC1KcXExdXV1PZZxuVwUFBSEHVlTUFCA1+sNDkWNFI/HQ0lJSZfhsIFERrUZIm9rPtnOpx+q5n//+SZ3XzmHPxdcqiRjhFGiMcQF+mf0lhQEvhQrKiqCzQsej4eysrLg/cCXMfiSjKKiIrKysnqtSQgnkPj0prKykqKiom7H7mkeC5vNRnl5OUVFRd2aUAKjSnqq0bHZbMFalDMN8e3PHBoOh4NVq1Z1ed3XrFmDw+HQyBMRv921zdz6ixd4ZutRfnnHElbftFBrlYxAI77pZKjyer2UlZWxZo2vr0dJSUmPo0vy8/ODTSCBBCMwL0Wgw2jol37gCzkwf0VflJSUBKc9d7vdlJSUYLfbwzYh2O12qqqqcLlcVFZWkp2dHawFKC8vD5vcOJ1O1q1bR1FRUbdRK5WVlb3GVlhY2Gsfj8B8GGvWrKG6uhqXy0Vubu4Zmz9Wr15NSUlJ8L7X62XdunW9lhEZKZ7dfpTPPLSJcWnJ/O3TVzB/0thYhyQxYhnfNN5DlmVZGUBDQ0MDGRkZ3R5vbW1l586dzJkzh9TUkTd8qqysjJqamuAv/sLCQpYvX05eXh4lJSXBzoyFhYXk5+cHf43n5OSE7bQpZ2ekfx5l+DPGcP+zHr77r7e4at4EfnLbRWSmaa2SeNXY2EhmZiZApjGmMRrPoTqsESC0BmDjxo3BX+qhE0wFJtJyu914PJ5grUZ/m05EZORqOdXB59e8wnf++RaF1+TwwF25SjJETSfD3YoVKygqKqKiogKPx9Olan/lypXB1VYdDgdr165lxYoV2Gw2srKyIjqLpogMb/vqT1D4hyo8R5v52Qcv4ubzp8Y6JIkTajoRGUT6PMpwtL6mlk8/VE3aqETKPrSUc6d2/1ss8Wkwmk5UoyEiIgP2+/W7+MYjW7jUnsXPPuBgXPqoWIckcUaJhoiI9FtHp+Hbj23hN8/v4qNXzOG/blqgqcQlLCUaIiLSL80n2/ncnzfx5FtH+NYti/nQpbNiHZLEMSUaIiLSZ4cbW7n7dxvYebSZX9+Vy3Var0TOQImGiIj0yZYDjdz9uw0AlH/icnX6lD5RoiEiImf01NYjfObBamaPT+eBu3KZlKFRU9I3SjRERKRXf3hxN1/7+2auXzCRH992Eekp+uqQvtOnZRjweDwUFxdTVlZGXl4eubm5wXVHwLfgWDRWYvV4PCxZsgSn0xk8fmACsJUrV1JbWxucWTTccvOBRdyys7MBgtOhu1yusIukBZZmz83NBd5eBK2goCC4T0VFBaWlpbjdbpxOJ8XFxV0WU/N4POTn5+P1eiksLOxxfRgR8Y0sKfrnm/zquZ185IrZfPVd55KYYMU6LBlqjDFD+gZkAKahocGE09LSYrZs2WJaWlrCPj5cVFVVGd/b2VV5ebmx2WxRe87i4uIu2+x2u1m1alWXbU6ns1s5h8NhqqqqumyvqakxeXl5xuFwhH0up9Np6uvru2wvLy/vdvz6+noDmPLy8rBxl5eXm8rKym5lSktLux2rP/pSdqR8HmXoaznVbj7+uw1mzlceNb95zhPrcCRKGhoaDGCADBOl72kNeh4m3G532GXQHQ4HXq+X6urqiD9nXV1dl9oEILgKa6j8/Pwu95ctW9atpgF8q7oGlq0/3bJly3C5XN2On5eX162czWYjLy+P0tLSsMfyeDxdlnKvrq5m7dq1PS5T3xcVFRVaF0aGjYaWNj7865f5z/aj3P/hpdx1xZxYhyRDmBKNYaKyspKlS5d22x5IMMIlIWfL6/WGTSxOZ7fb8Xq9gG/12MAS9eE4nU6ysrK6bAssV99TGZfLRVlZWZel4AsLC3G73cHnDXV6zA6Hg4KCggE3L51NgiISb440tXJb2YtsPdzEgx+7lGULJ8U6JBnilGgMExs3bmT58uXdtrtcrqj1QwisAnsmTqcz+OUeWCW2N4G+GwEVFRW9JgGh/UNOf86ysrIu+0ZjobjAYnQiQ92e2hPk3beeuuaTlH/iMpbMGhfrkGQYGPGJRtuRI7Ru3Ra8f3LHDtoOHgSg8+RJWt54g47jzQC0HztG61tvvb2vZydt+/cDYNrafPs2Nfn2raujdcuW4L6ndu3i1L59vn07Onz7NjRE5Bw8Hg9er7fLL/5Ap8fCwsKwHStjxePxdFm2PpzTay48Hk+wA2hP7HY7GzZs6LKtoKCgW/NJX2th+irQ6VRkqHvzYCPv/+ULJCZYVHzicuZPGhvrkGSYiHiiYVnWqpBbn77h/PsW+G+DOgzAu2Yte0P6Gez/4peo/fUDALQfOsSu9+fR+sYbADT8/e/svvOu4L4HV6/m6H33+fatr2fX+/M44R9d0fivf7Fr5W1v7/uNb3D0Bz8EoLOlhV3vz6N5/fqInIPb7cZms7F27VrKysqCzQjl5eXDZlRFbW1tv8usXLkSj8cTbD7yeDwRH33j9XqjMqJHZDC9vLOOFaXrmZSRQvknLmNGVlqsQ5JhJKLDWy3LKgcqjTFl/vsFlmUVG2NcvZRZBRBSxmlZVqkxJnyvwAizrVzB2He8I3h/2g++T0J6OgBJkycz+y8VjJo1G4DM976X9CuuCO47paiIhBTfSoVJ48b59p05E4CMG28k7aKL3t73a1+DJN/LnTB6tG/f6dMjcg6VlZU4nc5uHTPPVqR//YOvP0RNTU237W63m+rqakpLS6mrq2P16tXBJMlut3fpfxGOx+Pp1pHU4XBgt9spLS0NDnmN5GtUVlYW8ddcZLC5txzm0w9Vs2TWOEo/tISxqcmxDkmGmYjVaFiWZQfygLUhm9cCqyzLsvVSdDUQbEg3xriBQfvrnTxxIqnnzA/eT5k7l+QpUwBISElh9KJFJI7xJx7jx5O6YMHb+9rnkDxtGgBWcrJv37G+6sakrCxSzz03uO+o2bODiYWVmOjbNzMzIufgdrvD9s84W8uWLYv4MZ1OZ9jRGU6nk1WrVpGXl0dWVlaXmhin09nrqJnAY+GaMAoLC1m71veRDNcxdKCqq6vP2NdEJN5VVO2j8I9VXHfORB64K1dJhkRFJJtO7ADGGG9gQ8j/w/5F9icnttAyIY+p4bsPvF5vt/4ZkVBdXR2VJoFAf5HQjpuhwtWiFBcXU1dX12MZl8tFQUFB2JE1BQUFeL1eXC5XRF+juro63G43JSUllJSUBDuwlpSU9BinSDy5/z8e7i1/lRVLp/Pz2x2kJifGOiQZpiLZdOIBsCwrXOLQ0zdWT9u9gC3cA5ZlpQApIZtGdI+lQP+M3pICj8cTHLlRWVlJaWkpHo8Ht9tNVVUVpaWlwVk3i4uLqa6upqioiKysrH53dgwkPr2prKwkPz8fm83W5dg9DRO12WyUl5fjcrmCzSEBgVElPXV4DTxHRUXFGTvF9meIqtPp7DYXR1lZ2bDpEyPDlzGGH7m38+N12/n0dTnc+45zsCzN9inRE7FEwxjjsSzLDTiBCjirWok6IKuHx1YDXxvgcYcNr9dLWVkZa9asAXy/pHv6ksvPzw9OAe7xeCgrKwvOS1FeXg7QpTkjUDMQmL+iL0pKSoLTngd+6dvt9rBDYO12O1VVVbhcLiorK8nOzg7WYpSXl/fYtLJu3TqKioq6jVqprKzsNbbCwsJe+3gEErE1a9ZQXV2Ny+UiNze3z8N3A2XB95otX75cI1EkLhlj+N4TW/n5UzW43rmAT17b+wgwkUiwjG8a78gd0DfSpAZfsuABqoDl/r4Xp+/rxNd51Dptez3gCnQQPe2xcDUa+xoaGsjI6L5kcWtrKzt37mTOnDmkpo681QbLysqoqakJ/povLCxk+fLl5OXlUVJSElxfpLCwkPz8/OAXZE5OTthOm3J2RvrnUWLHGMN3//UWpf/x8NV3LeRjV2m0lEBjYyOZvv6CmcaYxmg8R8SHtxpjXMaYMmNMBf7mFGBjD7v39DPT1tNjxpiTxpjGwA1oOquAR4DQGoCNGzcGf6lv2LAhmFgEJtJyu914PJ5grYam1RYZ+owxfOvRNyn9j4evvftcJRkyqCI9vNVhjAkdHuAEKsJ19oRgc4vXsiy7McZz2mP6houAFStWUFRUREVFBR6Ph3Xr1gUfW7lyZXC1VYfDEZzh0mazkZWVFZVZNEVkcBlj+Po/3uB363fzrfcu4kOXzY51SDLCRLTpxLKsGqAwkCRYllXpvx/oKGoH8owxJSFlVgHekHk08vA1tfRpHg3LsjKABjWdyFCgz6MMps5Ow1f/vpmHXtrDd953Hh+8ZGasQ5I4MxhNJxGt0QAKAYc/ocghJMnwc/r3CSYaxpgS/8yggZ53uYM1WZeIyHDV2WlY/dfXWVu1l5K881mxdEasQ5IRKqKJhr8mo8cmD3+tRbcOnqE1HPhHrIiIyMB0dBq+XPEqD2/az/fzL+BWR2RmIRYZiEjXaMStSI+uERkIfQ4l2to7OvlS+as8+tpBfrjyQt574bRYhyQj3LBPNJL864u0t7fHOBKRtz+Hgc+lSCR1dBq+uPZV/vn6QX5y20W86/wpsQ5JZPgvE5+YmEhiYiKNjVHp4yLSL42NjcHPpEgkdXYaXH95jcdeP8hPPqAkQ+LHsP9ZZVkWEydO5ODBg6SkpJCenq7pdmXQGWNobm6msbGRKVOm6DMoEWWM4X/+vpm/VO/jRysv5KbzlGRI/Bj2iQZAZmYmLS0tHDt2jKNHj8Y6HBmhLMvCZrMFhpKJRIQxhm8+uoUHX9pDyfvPV58MiTsjItGwLIspU6YwceJE2traYh2OjFDJyclqMpGIMsZQ/PhWfvP8Lr51y2JW5GoIq8SfEZFoBKhtXESGk58/tYNfPlPDV9+1kA9dOivW4YiENew7g4qIDEe/X7+L7z2xjS8un6+1SySuKdEQERli/rZpH//v729w95Vz+Oz1c2MdjkivlGiIiAwhlVsOc2/5a6xYOp2vvmuhRjBJ3FOiISIyRLxQc4xPP1TNDYsmUXTr+UoyZEhQoiEiMgRs3t9Awe+ruGROFj9ceSGJCUoyZGhQoiEiEud21zZz129eJmfiGEo/tISUJI2ek6FDiYaISBw72nSSDz/wMhmpyfzmrlzSRo2oWQlkGNAnVkQkTh0/2c5HfvsyLac6+MsnLycrfVSsQxLpN9VoiIjEoVPtnXziD1XsPnaC3330YmZkpcU6JJEBUY2GiEicMcawquJVXt5Zx+8+ejELp2TEOiSRAVOiISISZ773xFYefuUAP/vgRVyWkx3rcETOippORETiyJ9e3sPPn6rhv25awM3nT411OCJnTYmGiEiceGrrEb768GY+dOksPq71S2SYUKIhIhIHNu9v4DMPVnPt/Al87d3natZPGTaUaIiIxNjBhhY++tsN2CeM4acfvIikRP1pluFDn2YRkRhqPtnO3b/dSHJiAr++a6km5JJhR4mGiEiMdHYaPr/mFXbXNvOrO5cycWxqrEMSiTilziIiMVL877dY9+ZhfnXnUs2VIcOWajRERGJg7Ya9lD7j4b9uWsj1CybFOhyRqFGiISIyyF701PJff3udD1w8k7uvnBPrcESiSomGiMgg2lt3gk/+sYqL52Txzfcu0jBWGfaUaIiIDJLmk+18/PcbGZuazC9ud5CsYawyAuhTLiIyCDo7DfeWv8reuhP86s6l2NK05LuMDBp1IiIyCH721A7+tfkQZR9awvxJY2MdjsigUY2GiEiUPfHGIX5QuY0vLp/POxZNjnU4IoMq4jUalmUVADbAC+QARcYYby/7O4FCoBLwAMuBDcaYikjHJiIy2LYdbuILa17hxsWT+cx1c2Mdjsigi2iiYVnWKqAskFhYlmUD7gfyeylmA5xAHr5Eo1hJhogMB42tbRT+oYrp49L4Xv4FJCRohImMPJGu0VhujCkJ3DHGeP3JxpnM6a3WQ0RkqOnsNHxp7ascO36SRz5zJekp6hInI1Ok+2h4LcuqDCQXlmXZ8dVSiIiMKPc9U0PllsP8aOWFzB6fHutwRGIm0in2x4EqoN6yrBKgxhhT2IdyKyzLqgOygBxjjKunHS3LSgFSQjap+7aIxJX/bDvK957Yyj3Xz2XZQk0vLiNbRGs0/M0fxUAFsArI70PTSTXgNsZUGGPKgBrLssp72X810BBy23e2cYuIRMreuhPc8+dNXD1vAp9zzo91OCIxF9FEw7KsYsBjjMnHN+IkC18NR4+MMR5jTGjzylogr5cEpQjIDLlNP9u4RUQiobWtg089WM3Y1CR+fNuFJKrzp0jkEg1/fwybMcYNwQRiCb5+G3m9lOvyWEinUHu4/Y0xJ40xjYEb0BSRExAROUvfenQLWw83cd/tSzTzp4hfJGs07PjmzjhdaU8F/LUW5f4kJXQbqBOpiAwhf39lPw++tIdvvGcRi6dlxjockbgRsUTDX5PhCNPksSQwL4ZlWXb/XBuBMl6g5LSmkwKgQsNdRWSo2HHkOKv/+jrvu2gat+XOiHU4InEl0qNO8oHVlmXV4qvdsAGhI0gCs4CWhGwrCk0+gGx/Hw8RkbjXcqqDTz1YxVTbaL59y2It+y5yGssYE+sYzoplWRlAQ0NDAxkZGbEOR0RGmHvLX+Wx1w7yj89cwTwtliZDTGNjI5mZmQCZ/n6PEaep6kREBmjtxr1UVO3jBysuUJIh0gOt3ioiMgDbDzfx//6+mZVLZ3CrQ6PsRXqiRENEpJ9a2zr47J82MX1cGl9/z6JYhyMS19R0IiLST//72JvsPNbM3z9zBaNHJcY6HJG4phoNEZF+eHzzIf7w4m6+evO5LJisDugiZ6JEQ0Skj/Z7W1hV8So3LJrEHZfMjHU4IkOCEg0RkT5o7+jkc3/axJiUJIrff77myxDpI/XREBHpg58+uYNNe72sKbhU65iI9INqNEREzqBqdz0/e2oHn7luLktnZ8U6HJEhRYmGiEgvjp9s5wtrXuH86Zl89vq5sQ5HZMhR04mISC+++cgb1B4/yR/uvpikRP02E+kvXTUiIj14fPNB1m7cx9fes4hZ2emxDkdkSFKiISISxuHGVr7y19d556LJ5C/RFOMiA6VEQ0TkNJ2dhnvLXyUlKYGiW8/TUFaRs6A+GiIip/njS7t5dvsx/nD3xYxL11BWkbOhGg0RkRA7jzXznX++yYcvm8VV8ybEOhyRIU+JhoiIX0en4UtrX2FSRipfuXFBrMMRGRbUdCIi4nf/sx427fVSXngZaaP051EkElSjISICvHWokR88sY2Cq+ya/VMkgpRoiMiId6q9ky+tfZXZ49P4wvL5sQ5HZFhR3aCIjHg/e2oHWw818bdPXUFqcmKswxEZVlSjISIj2hsHGvjFUzv41HVzOW96ZqzDERl2lGiIyIjV1tHJl8tfY+7EMXzmOi2YJhINajoRkRGr9Jkath5u4uFPXcGoJP3uEokGXVkiMiJtO9zET9btoOBqu5pMRKJIiYaIjDgdnYYvV7zG9KzRfG7ZvFiHIzKsqelEREacB57byWv7vFR84jKNMhGJMtVoiMiIsvNYM997YisfuXwOS2ZpYi6RaFOiISIjhjGG1X99jYkZKdx7gybmEhkMajoRkRGjvGofL3rq+MPdF2stE5FBohoNERkRjjad5H8fe5NbL5qm5d9FBpESDREZEb716BYSLPjvdy2MdSgiI4oSDREZ9p7aeoR/vHqA/7n5XLLHpMQ6HJERJeKNlJZlFQA2wAvkAEXGGO8Zyqzy7w9gM8aURDouERmZmk+289W/beaqeeN530XTYh2OyIgT0UTDnzCUBRILy7JswP1A/hnKYIwp8993WpZVaowpjGRsIjIy/bByG7XNJ/nTxy/FsqxYhyMy4kS66WR5aO2F//+2M5RZDZSFlHEDBRGOS0RGoM37G3jg+Z18btl8ZmanxTockREp0omG17KsSn9NBpZl2QFPTzv7H7eFa1qxLMsZ4dhEZATp7DT898ObmTdxLB+7ak6swxEZsSLdR+PjQBVQb1lWCVBzhiYQew/bvfRQE2JZVgoQ2ptrbP/DFJHh7k8b9vDqXi/ln7iM5ET1exeJlYheff6aiWKgAlgF5AdqN/qpDuhpbuDVQEPIbd8Aji8iw9ix4ycp/tdb5C+ZTu5sTTMuEksRTTQsyyoGPMaYfHwjTrLw1XD0V29/GYqAzJDb9AEcX0SGse/8800sy+IrNy6IdSgiI17EEo2Q/hZuAGOMxxizBF+/jbweivXUf8PW02PGmJPGmMbADWg6y9BFZBh50VPLX6v385UbF2jODJE4EMkaDTtvz4URqrSnAsYYD75EpFtfjUDCIiLSV6faO/mfhzdz0UwbK5fOiHU4IkIEEw1/YuAI0ydjiTGmAny1HoF5M0IUAcERJv7ajzJERPrpged3UnP0ON++ZTEJCZozQyQeRHrUST6w2rKsWt4eOeIKedwJFALBmT+NMSWWZa0KaV7J1WRdItJfhxpa+cm67dx5+WwWTc2MdTgi4mcZY2Idw1mxLCsDaGhoaCAjIyPW4YhIjNzzp028UHOMJ++9lozU5FiHIzIkNDY2kpmZCZDp7/cYcRpcLiJD3oueWv7x6gFWvXOBkgyROKNEQ0SGtPaOTr7+jze4cIaNPIdGu4vEm4iv3ioiMpgefGkPWw838fCnrlAHUJE4pBoNERmyao+f5PtPbGXl0hlcMMMW63BEJAwlGiIyZP3fv7cC8OUbzolxJCLSEyUaIjIkvbbPy5qNe/ni8vmaAVQkjinREJEhxxjDNx/ZwvyJY7nj0lmxDkdEeqFEQ0SGnMdeP8jG3fV89eaFJGkJeJG4pitURIaU1rYOiv75Fs6FE7lq3oRYhyMiZ6BEQ0SGlF8/t5PDja38100LYx2KiPSBEg0RGTKONLby86d2cOfls7FPGBPrcESkD5RoiMiQ8X//3kpKUgL3XD8v1qGISB8p0RCRIeH1fQ1UVO/ji8vnk5mm9UxEhgolGiIS94wxfOvRLcydMIYPXDwz1uGISD8o0RCRuPfElsO8vKuOr958roazigwxumJFJK61dXRS/K+3uGreeK6Zr+GsIkONEg0RiWt/fnkPO2ubWX2jhrOKDEVKNEQkbjW1tvEj93ZuvWg6507NiHU4IjIASjREJG6VPuPh+Ml27r1hfqxDEZEBUqIhInHpYEML9z/r4e4r5zAlc3SswxGRAVKiISJx6ftPbCM9JYlPXJsT61BE5Cwo0RCRuLPlQCN/qd7H55bNIyNVk3OJDGVKNEQk7hQ//hazs9P54CWanEtkqFOiISJxZX1NLc9sO8q97ziHZE3OJTLk6SoWkbhhjKHk329x3rRMbjpvcqzDEZEIUKIhInHjiS2H2bTHi+udC7AsK9bhiEgEKNEQkbjQ0Wn4v39v5Yq52Vw5b3yswxGRCFGiISJx4a/V+9hx5DirblgQ61BEJIKUaIhIzLW2dfAj93ZuXDyZC2bYYh2OiERQUqwDEBF58KU9HGps5fc3XBzrUEQkwlSjISIx1dTaxs+f2kH+kunkTBgT63BEJMKUaIhITD3w3C6On2znnmXzYh2KiERBRJtOLMsqB9YAHsAb+pgxxtNDGSdQCFT6yy0HNhhjKiIZm4jEH++JU/zqWQ93XDKLqTYtnCYyHEW6j4YDyAuzvQLI76GMDXD6y3mAYiUZIiPD/c96aO80fFILp4kMW5FONEqNMSWhGyzLKjDGlJ2h3BxjjDfCsYhIHKs9fpLfPL+LOy+fzYSxKbEOR0SiJNJ9NLrURPibRTZG+DlEZBj45TM1JFgWhVfbYx2KiERRRGs0QvthWJZlB+zGGHcfiq6wLKsOyAJyjDGunna0LCsFCP35M3ag8YpIbBxubOX363fziWtyGJc+KtbhiEgURXMeDZcxprAP+1XD20mKZVkFlmWVG2N66tOxGvhahGIUkRj4xVM7SE1O5O6r5sQ6FBGJsqgMb7Usy9HXfY0xntNGpKwF8izLsvVQpAjIDLlNH2icIjL49tWf4KGX91BwtZ2M1ORYhyMiURateTQKgZq+7GhZVpdRKiGdQsM23BpjThpjGgM3oOlsAhWRwfWzJ3eQkZrMXZfPjnUoIjIIopVoODltHo1w/LUW5f7+HKHbwDfUVUSGkb11J6io2scnr80hPUUrIIiMBNFKNOyESRQsy7JblrUqcN9fe1FyWtNJAVCh4a4iw8/Pn9qBLW0Ut18yK9ahiMggidZPCg9QF2Z7YBbQ0Lk2ikKTDyC7l46gIjJEBWozXO9cwOhRibEOR0QGSVQSDWNM2Gn+/BN3lZ22zUvXxENEhqFfPF1D5uhkbr90ZqxDEZFBpEXVRCTq9ntbqKjaS8HVdtJGqW+GyEiiRENEou4XT+1gbGoyH7pMfTNERholGiISVfu9LazduJePX6XaDJGRSImGiETVfU/vYExKEh9WbYbIiKREQ0Si5mBDC2s37ONjV9k1b4bICKVEQ0Si5rfP7yItJZE7NQuoyIilRENEoqZyy2FuXDyFMarNEBmxlGiISFTsOtaM51gz150zIdahiEgMKdEQkah48q0jjEpM4Iq542MdiojEkBINEYmKp7Ye4RJ7ljqBioxwSjREJOKaT7bzkqeO6xdMjHUoIhJjSjREJOKe23GMUx2dSjREJGqrtw66ww2tnDCjYh2GiAD/3nwI+4R0ZmWnxzoUEYmxYZNoLPvBMySkpMU6DBHxK7jaHusQRCQODJtE4xd3OEgfMzbWYYgIYAG5s7NiHYaIxIFhk2hcPW8CGRkZsQ5DREREQqgzqIiIiESNEg0RERGJGiUaIiIiEjVKNERERCRqlGiIiIhI1CjREBERkahRoiEiIiJRo0RDREREokaJhoiIiESNEg0RERGJGiUaIiIiEjVKNERERCRqlGiIiIhI1CjREBERkahRoiEiIiJRo0RDREREokaJhoiIiERNUiQPZllWObAG8ADe0MeMMZ5eyq0K2d9mjCmJZFwiIiISGxFNNAAHkBdmewWQH66AP8nAGFPmv++0LKvUGFMY4dhERERkkEW66aTUGGOF3oBCY0zYJMNvNVAWuGOMcQMFEY5LREREYiDSNRoVoXcsy3ICG3va2bIsO76mEm+Yx5z+pOP07SlASsimsQAvbvwl6WPTSNx1FJLT6Mi9Ejo7Sap8hIn2ucyZnkPtkUPUvPUa5+Xfy+ixE3jriftp8O6jwz4JgKTNe+iYOx9jX4B1+CCJr2xgfu6l2EZnsHPbZhpbWrjgVhcA1Q9+jbbsdDonZGA1t5K48wjtl1wJGeNIePMVEo8eZmnuNQC8/vKzpM1eSM5l+TQe3MHWJ35DR85kGD2KhENerOOtdFx9AwCJz61jbGYGC+aeR+uJ42ze9CJzrllB9szz2Vv1GIe3vkzHgmkAJOw4BOPG07l4CTQ3kbj+aaads4gp46dyaP9u9u+p4aLb/oeExCTefOznNJvjmGnZ0N5B4tb9dCy6AKbMxNq9g4Qdb7Ho0qtJSUhm+xub6EhNY4Hz47SfbOG1iu/SOTUbY0vH8jaTcKCWjquXQ3IKCa9uIKWtlcWLLwbg1fVPMeG8y5m6eBm1NdXsfukROudPg6RErP21WCaBzqVX++J/5nGypk1n9vR5NNbXUvPWq8x/x12kZ89g5/Pl1B+pwcyZ7Nt3+37MtFmYnIVQf4yEVzYwe/FFjBs7jn27tlPnreX8934RgDf+/iPa0hMwE23Qegpr12HMhblgmwA1b2Id3MsFjquwLIutr73MqAnTmXPp+zlRd5Dt7t9iZk6AtFSobcSqb8Jc6XtvrI3PkZY6inlzz6ft5Em2vLKe6bk3kj37Ag5veY5Db76AmT/dt++eIzB6DGbxUjh1CuvFp5g4Zy5TJkyn7sgB9u3axrnvvYek5NHseOYhmltrYdp46DRY2/dh5p4DU2fDof1Y2zaTc+ElpI8azZ4dW2jFYv51d/o+W3/7HkwcB7Yx0HQCDtbC0ishNR22vkrS8QYWLvK9N29uWk9mzmKmLrqexoPb2PPSozBnMiQnweF6ONkB/veGl54mIzubmdPn0dLUiGfbq8y84n2MHT+bA688Qf2BbTDb996w8yBMmAT2RdDUAK+/zNR5CxmXMZ4jB/Zw7OgBzr3p0wBsX/dbTiW1+2I+1Qa7D8OC8yF7IuzdCft3cs75l5KUkMiura9hjbEx6+JbONXsZceTv4cp2ZA+GrzHobYBLrkOEhLgjSpSLENOznmYjk7eenU9ExdfSfbsC6nb+QqHtzwPOVOxLAtzsBaSRmOd68B0dsLLT5M1bSaTJkynqf4Y+3dvw37t7YxKy2Rf1WMcbzyENXU8AMZzAKbPwZo2B1N7GHa8wYwFF5CelsmhvTtpbmsl5zJfpe72/6ylwzYGK2scpvUUHDgKc+dhpaZiDh0moaWV+RctAyuBna8+y+isCUyeuZDmpjr2vbkBZkwlITWVhNoGON5Mkn02CVYCZvd+0jKzGT9jHu2trdTu3krmDDupaWNpbaij7cRxkiZM8O17vJnEpFEkpaWDMZhTp7CSk7ESEzHGBP6m9vQnWiQirMCHLeIH9iURzkCTSA/7OIFKf81H6PZ64OPGmIowZb4OfO307Yt+vgArPYlV5R0AlOQnYnUa1hR3sPm6k+RPqmXjobGkPz2Wsf/4JdPnX8Njt15Ic/MpvvXBRAAeLGnn98sS+PeSBC7a0cnq8k5O5NexJLGVJ16ZSGdjEu988k0ANl64kL9dlsA/Lk3g3N2dfP2hTj5bmMjhLIuPPNHBoj2GG5YdAGD9o1M4tDSL9/3yBTb//Uckukq59+5E9ky0+MDTHVz2puGeT/pyvh+VtnN0dge3zT/MwePJeB+dQP3/vJfLb/8u/7pnGZnPH6DwHt++332gne1TLX79zkQmeA0/v68Dz03NvCujgWd2jmPMptFcULWJpORUnnAuomac4Rc3JzL2hOHXP+6gOC+BqnkJODd18rF/d2K7/TDT2jtwvzCZ42nJ3PLwZpprD7DnimX8+D0JPL8ogas2d/LZRzr54JcTaU+y+NJfOshs6+R9lxwE4M0/T6Umz87N336M5378CbLve4aPfD6R5tEWn/lHB9lNhm/c7ov/999rZ9slp1g5/Ribj6aTuC4T64GvsuDy23n09lzM/uP810d8+97/43Yey03g4csTOGev4Vt/7KDuVi9XjDpB5ZbxJO4fxfXP+96b5y9eyFOLLdZck8icQ4bi33Tg+kgiOydbrHymg6veMFxx4wGSgP88MYVj88Zw6+82UvPsnzn18W/w/+5I5K0ZFre80MnNL3fysc/7YvjOb9tpzu7ktsWHaGpJZN/fJ3Honqu57lOlPLH63Ux8ZAcf+rJv36892E7dWIufvieR9BbDb37UwdblLdySXc8L+zIZ91w6U1/8F5m22fzrXedxOLGD778/kaR2w0P/18FPb07g2fMSuOKNTj73j06s246ygDae2DCRkx3JvPvxLQBsXriQX9+QgPuiBJZs78RV0cnH7kmkMd3iU492ML3O8O6rfJ/DTX+dym7nZG75wVNs+N1/M6bor3z6k4kctVnc/e8O5u03fOWjvvhLf9LOnsVt3DbnKDXeVE49nkXL9+7GcfO9PPaxK0jdUsfnC337/uS+dtYvtPjTtYnMPGL43q872P+eJpxpTTy5LZuUbSlcsdH33jx11blsmgm/eUcik+oNP/1lB1//YAJbZiXw7hc7ed/6TubfeojMzk6efHoyDZNSed+aVzm85Tnqbv04RfkJbJqbwDuqOrlzXSe3r/LF8NU/dWCldLDiokN0tFls+8sU9tx1ATd85c88+e0PMOWPr3CbK5HOBCv+/0b84yckrrqv978Rc5O5zWnnYG0b3lIP9d+6g8vz/5t/3nsLtqe2Bv9GFD/QzrZpFr++IZGJXvjZfe3s+vzV3OhcwbMPPkj6X9ZzXvUrJCelsO49l7Mno42/5U0h4wR84f88PHz7LHYvyua86nqueHwf85+oZPzo8Tzz+TtoTbG4ofgPtJ5o4sUPvYea917I8cWzmbDtKDPcW9h7zy0kp45mQuUrpCWkcvEn/weA13/wdbKuW860i66gcU8NdS+vJ3359aSOHou15yBJnZA6fz4AbYcOkZiRQUJaGsYYJUVR0NjYSGZmJkCmMaYxGs8RzUTjjP0sekk0aoDicElKDzUa+7a+9QwZGWPp9DZCYhIJ03IwnZ0YzxbSbNnYbBNoaW6k7sg+Ji68kuSUNGo91bSe8JKQlQlA5+FjWNmTsLImYY43YA7sInvaHFJTRlN/9ACtbSeZcq6vluLAq27M6FFYY9Iwp05h6hqxZs7FSk2j89BeOO5l+qwFvn13byU1awpZM8/jZFMth7eux8oeh5WchGk8jjl5ioS55/li8GwhNXU0EyfOoO1kKwf2bmf83KWkj5tC/b43aTzsIWFStm/fo3VYo8diTZuNOdmK8Wxh3KQZZIwdR2PdUerrDjJz6buxEhI4+MYznOpoIWFcBqajE3P4GNbUWViZ4zF1hzCH9zE1ZxHJCUkc3uehMymFKedeRUfbKfZufBRrXAZWWirmRCumvhFrwQVYicl07tlGUtspps88B4Dd214lY8YCxk0/l6YjOzm6YyPW5AlYiQmYugYgAcu+yBf/GxsZO34iE7KnceJ4Awf31TDtgmWkjsniyLYXOV5/ACtwrgeOYo2fiDVpBqa5EePZyuRZ80gfPZZjh/fSdNzLnEve54vhpb/RnpKIZRuLOdWGOVyHZT8Ha0wm5sAeqD+Cfd6FWJbF3po3SM4cz+QFV3KyqZa9m/6NNSELK3WU771pOkGCv7bGbH2VlFHJTJ8+j462U+zc9ioTFlxK5uS51O16jdrdr2HN8P3KN4frIGU01pyFmPZTsHkjWVNnkT1uEg11Rzh8cBf2q1aSlJTC3k2P03KyAWvCON8v7L2HYcZsrPFTMbVHYM92Zp5zAanJqRzYs4NTppPZue8FYOuTv4WsDKyx6ZgTrXCkHs51+H41e94iseU4c+ddCMCOLRvJmLGAiXMvpunITva/9iRMm+j7HB7zQlsn1qKlvvhffZGx47KYNsVOy/FGdnu2MGPJDaRnTefQlmepP7Qda/pE3777joBtAtbseZjmJtiyicn2cxg3Npujh/dSe+wgC5Z91BfDs3+mLakdsjOhrR32HYG5C321TQd2w6G9zFuU66vR2PYaVrqNWUvexakTDex45iGYlAXpqdDY7KvRWHKVr0bjzU2kQLBGY8vrLzBp4RWMn30Btbte4dCbL8CcKWBZvlqfpFRYeCF0GtjwDFnTZjJl4kwa64+yd+dbzL3uDlLSbOze8A+aGg+Bv0YDzwGYPgumzYHaI7B9M7MXns+YUens37WVppMnWOD0tfy+8ffv0Tk2GTJTobkVDtTCxdfD2Gx440Wso7tYnLMATAdvbd1C+uzzmXH5HRw/8CY7H/8ZZnIaJtHC1DVhWtppv6kAYwzmkZ+SQQsLbem0nDhB9d7DzLvFxcTz3sX2v3yV/dWP0Tzd0NnZQcqeNtqnz6Plhrvg2F7G/OGH2LNPMC/pFNuOp7L1+Ghu/nkNVmIi/161lMOdxzg8E0znKGZtTmTvVRdSn2PH9uoWplXv4sYbL2Lc6CwefeoVWtLSyP/mPzjecJTHP/pOnr1sDNtmJmHffgLns8cpvj2FE52n+LC7nXFJmdz9m/WY9nZevvh8jhbczM2fKOE/vy9mwnd+y51fSKQl1eJzD3eQeQJ+eKeN0Umj+eE3D7LvzmXc9OWfUvPPtbTe+3XG/XMtU2cv5uVvfoETuz3s/uKtjE4azeyfP0bn1ReTevUVpB9rJsm9nim330Vq9nha33yTjqYm0i/2XcvtR4+SMHYsCampvX1FjQhDNtGwLMuBr2/GQBONesDVW21IyL4ZQENDQwMZGRlnE7aIyPBlDLS3wqkT0BZym3qR7/GaJ6HpkG/bqRPQ1gILb4ZJi2Dr47DxATjZCCeboLURZl4K778fjh+F783t/nyuXZhUG+2PfI62o1tIGz0e0rLYk5xMxrm3YptzDUcPvsb2nf/hVPoYTo5Kpb2+hVPtp2jISqGlvYW0TduYvfhyrsnNZ9uW56lcU8yt9/yUKdmzePAnn6RmZxWPLbVoaW/h3op2nl1k8eLCBBbuMXzhbx0k/Pb7XHL+TTz12ZWYN3dwvbsKgOrcC3nreju7bl3K9P0nOe8nlRz+dgFj5sxl3DOvk7r3KDmu/wdAwyOPMMpuZ/SiRXSeOkVHvZek8dlYiYmD9c5F1VBONEqBmjMNU/U3r9SESTQMsDxcH40wx1CiISISK50dcPzw2wnISf9t4Xt9tU0v/hIOvgotdXCizvfvdf8Fi9/vS14e/ULX4+Usgw/9FTra4C93Q/oESJ8IYybAmEm+x5NToaMdEn1NRMYYTrSfoOlUE8dPHed423GaTjVx3vjzsKXaWF/zNLuObeMDl/hqm354353sTmthz7h2kg7WkvtiPX+5pJPm0RY3buhk3pEEPr72dQBeuvQC6t6xhBu/+QA7n/83rXd/nueK8kiZPw/7v14nY+tB0v/vG2SnZtP+xwpGL15M+qWX0nniBCd37CBl/vy4rjkZyolGj00fYfatB5aEzrNhWZY5PfnopbwSDRGRoehUs68WJZCAnKiD1ExYcBO0NsDaO6H5KBw/AieOgekE124YbYM/5sGe9b5EZMwkyJgCSz4C9mug8QDU74KMqTB2CiSlnCkSWtpbaDjZgPeklxNtJ3BMcgDw4JY/MmvMDK6ceQ1bdr7Mnyu+wavT2znYWc/5m5uZfgz+cqVvAOf//r6DlqsdrPzaHzn44tN47/okox/6JbMd17D1x0Wc2vQqtp/8HxPTJ9L8UDmp5y4kbckSOk+epKOujqSJEwe9pmQwEo1IjzoJsOObtKsLfw1G3mk1HUWAE/8QV8uy8ggZ7ioiIsPUqHTIzvHdTpeaCR9++O37nR1vJyIAFxfAnKuh+YgvEWk66GvuAdj6T3jsS2+XTcuG+TfCLT/31ZQ890NfApIxFTJnQOZ0Ro9KY3TSaCanT+4Sxu3n3hH8/7lzLuabX34seP9E2wlqW2p5b+sxaltqOXbJMaaP9Y08a50zmfu/sIBPT/ONanw2eRee0a/zyN9uAuD7DxjeXDqBHd7FLDyQwHX/+wRpf76fWRdeyaE//o72rduZ/q1vA9D8wgskz5zFqOnTBvIqx1w0azTyjTHVp20vwNf3Iue07at4OzHJNca4+vFcqtEQEZG3nWoG715oOuCr3Wg8CGMngePDvqTkvst9NSWhvrIXUjPg2e/7Ehp/AoJtBmTP9SVFZ6G5rZnDJw5z5MQRDjcf5lDzIQ6f8P3bcOwAY7cf4GMf/hFLZ11O+fc/wZEt1Xz61y8D8IrjfHa8azEnbnsns/e3MeH7f2Zq6S/InD2P5pdeprOpkbFOJ0C/R+cM2aaTwaREQ0RE+q39lK8WpGGvLxk5f4Vv+yOfg53PQsM+6Djp23brr+D8fHjjb/DKn8A2E8bN9t0mLgxfIzMAgSRhR/0ODjYf5KrpV2GMYdUjn2Dv8QPUdB5i3JEW3rGpkzVXJZCaMY6Cxw0zay2ueeRZALZcdQVjC+9mxh0fpW3/fo4/9zyZN7+LhPTwidJQbjoRERGJX0mjYNws3y3Uu3/s+7ez01fr0bDXl1AAJI7yDZHe/Ty88qBvhM7iPMj7tS9ZKb8Lxs3x7Z81x/f/GRf7yvRBoCZi7ri5zB03N7jt/95TCvgSkdrWWvY17WPh8f3sa9rH9hn72dHeyTWA6ehgzUUtLBxzkNuA1194hJRv/JhfTtjMtElzWfyr/5DemYz9Bz8hOTGZ+vJyOs4996xexj6dl2o0RERE+skYXyLSccrXxOLdA09+G+p2Qv1O32MpmfCV3b5EY+2Hff1MQpOQ6Uvf7nMSkZAM+47vIy0pjezR2Ww6sok/vv47djXvZU/jHi544wSj2uGF85KZkzyZb31rDwfvuY13fPJroKaTninREBGRuHPyuG/Yb6BZ5d//DUe2+EbDePdAZzt89N+++UjW/wI8T8P4ef7OsXNh4rmQPj5i4XSaTo6cOMLuxt3sbtzNnsY97KnfybUTruX9jhWgRKNnSjRERGRI6WiHxn0wZrJvTpBND8KWh6F2B9TvBtMBV34RnF+Dg6/5Rslkzw255fiG+EaA+miIiIgMN4lJb/f7ALjodt8NfJ1UvbshebTvftsJ30iZ3S/A8UO+bRMXwade8DXfPPYl/8iYeb4akSw7JCYP6umciRINERGReJE0ypcwBMy8FD7in7vjZBPU1rw9X8ipZjhQDa+thVNNvm0JSfCFN2DsZNj8V18fkvHzfcdMGTu45+KnRENERGQoSBkLUy8MuT8GCp721WwcPwzHtsGx7b6ZUgFeeQh2VL69f8Y0eNf34ZwbfQlL435ImR71sJVoiIiIDGWW5avBGDvZN1tqwB0VvlqQY9v9Scg23xwgAK+tgWeKIee90Q9PnUFFRERGmI42qNtJ4/FmMu0OUGdQERERiZjEZJgwH1Kiklt0kRD1ZxAREZERS4mGiIiIRI0SDREREYkaJRoiIiISNUo0REREJGqUaIiIiEjUKNEQERGRqFGiISIiIlGjRENERESiRomGiIiIRM2wmYK8sTH606iKiIgMJ4Px3TkcEo0sgBkzZsQ6DhERkaEqC9Ciaj2o8/87HWiKZSBRNhbYh85zuNB5Di86z+FnpJxr4DzrzrTjQA2HRCOgKVpL3MYDy7IC/9V5DgM6z+FF5zn8jJRzDTnPqFFnUBEREYkaJRoiIiISNcMh0TgJfMP/73Cm8xxedJ7Di85z+Bkp5xr187SMMdE6toiIiIxww6FGQ0REROKUEg0RERGJGiUaIiIiEjVKNERERCRq4m7CLsuyVgFe/12bMabkbMsM5JjRdhbnCZADYIwpDHnMCRQClYAHWA5sMMZURDDsfuvvefblPOLx/YQBnWs5sAbfeXpDHzPGeOLxPbUsywasAPKNMcv7WGYoXp82BnaeMLSuTxv9OM+hen0O4DyH3LUZ0Nvn8AxlvP67kb9GjTFxcwNWAatC7juB0rMpM5Bjxul5Fp92vxSoDLmfB9QDBqgBCobo+9nrecTj+3kW51rjP8/Tb+Xx+J4CDqDAf65VkXhd4vH9HOB5DsXrcyDnOeSuzwGe55C6Nvv6OeyhTNSv0Zi/MKedcD2+bCl0mzmbMgM5ZrydJ2DDlznbQrY5/B9yu/9+3unHjPVtgO9nr+cRj+/nWZzrqjDbCkL+H3fvaUhcff2DPeSuz/6e51C9Pgf4fg7J63MA5znkrs2+fA4H8p5F4j2Nmz4almXZ8Z2MN8xjzoGUGcgxo+0sYloK2EPue/z/2iIWXARF47WPx/fT/9wDjatLNat/342RjS52huL1eRaG1PUZDcPs/Ryq12a/PoeDdY3GUx8New/bvfR8sZ6pzECOGW39jsn/Jo87bXPgTfaEbFthWVYdvuV+c4wxrgFHefbO5rXv6Tzi8f2EAcZljAm+d/4L2m6McZ+2Wzy9p/01FK/Pfhui1+fZGGrXZ78NxWuzH5/DUINyjcZTotGTwBs5kDLeCB4z2vob02qgMCTTrIa3LxDLsgosyyo3xuRHNMqzd6bzHMh5xOP7Cf2Ly2W6d9oaKu9pfw3F67O/hur1eSbD6frsq6F8bZ7+OeyriF6jQyHRGMgH9Exl4vFD3+eYLMsqBtYYY8oC20IzcL+1QKllWWGrvWKo1/Ps7TwGeswY6lNclmU5wm0fQu9pfw3F67PPhvj12athdn2e0VC+NsN9Dvshotdo3PTRoOeqHVsvj52pzECOGW1nFZNlWXlAjek+/Cgv9H7Ih72nqq9oG9B5nuE84vH9pJfntvXyWKhCfD3Xu4jD97S/huL1eVaG0PU5IEP0+jwbQ/La7OlzGMbgXKOx7ikbpver/bRtvfZuPVOZgRwzHs/Tv48TyAu5b8P3wbZxWs/ikG22oXKefTmPeHw/zzYuwg8TjMv31B9Hf0edDKnrcyDn6d9/SF2f/T3PoXx9DuT99JcZUtemP5awn8Ne9o/6NRpPNRoARbzdeSWQlZWF3LeHTEbSpzJ9eDwW+n2e/io8B1Dtf9yOb2x4nfFl0yWma3VeAVBhYluN16/z7ON5xOP7CQP77AZ0+zUYx+8p9FBtOoyuz4A+n+cQvT4D+nSeQ/z6hP59bgOG1LXZ2+fQ/3hMrtG4Wybe/yIE3sBcE9KT17KsAnwdc3L6WqYvj8dCf87T3/65kzC9fI0xVsg+BSEPZQ+18/Rvs3GG84jH9xMG9tn1P1aDb8bC6tO224ij99T/RysPWInvj1kJIbMhDpfrs7/nOVSvz4G8n0Px+hzo59b/2JC4NqHPn8OYXKNxl2iIiIjI8BFvTSciIiIyjCjREBERkahRoiEiIiJRo0RDREREokaJhoiIiESNEg0RERGJGiUaIiIiEjVKNERERCRqlGiISNyyLKvUf7P1sk+Bf5+8nvYRkdgZCsvEi0iE+KdjrgLcvD2lcB7gBdYA2fjXNTDGLIlBiEH+5MJ7pumOjX8ZbP+y2BWDEJqI9IMSDZGRxQYUmZDlo/01Ae7TtlWG/L8Y3+qN+YMZqIgMD0o0REaWLLqvvOgNs195yP8rCbNQk4hIXyjREBlZbH1cytpjWZbNGOM1xrijHZSIDF9KNERGkMDS2H3Yzw1gWZYDCDSdBJZFd/q3AXwcsOOrKVlijCn0L0Vdh29Z7qIwS2wHlpy2A56+xuQvW+Ava/OX9wb6aIhIfFKiISI9MsZUW5blIqQpxRjj9m8rBbICiYJlWTWWZRUHOm9algVwPxDsVGpZVjmwJqRMpWVZntOTkXACo0pCkiA7/o6rIhK/NLxVRAaiDl8tR2iziue0farx1ToAwcQg77QajHKgsB/Pmx8Y6mqM8QAb+xO0iAw+1WiIyECdnlh4gZpe9ncCXn/TS0AOIclIb4wxFZZlFQL1lmVV46sZKTlTORGJLSUaIjJYbPj6ZITWgvSro6kxZrm/34gTKLQsCyUbIvFNTSciMli6NKUE9Dbr52n7FYCv34g/uViCr8OpiMQxJRoiYiMy82T0egx/TcbGMFOFr+jr8QPJRojTm29EJM6o6URkhPIPM83GV8vgDAw7De2s6W+mWA3YLctaZYwp6WHbKmCpv4wHX2fR1fiSg2J8w1y9/qaPYsuysvz70I/hqV7/8QOJih3f8FoRiWOWMSbWMYiIdONvUll9prVOQvYv7uu+IjJ41HQiIiIiUaNEQ0RERKJGiYaIxLM8y7JKexuZYllWgX/GURGJQ+qjISIiIlGjGg0RERGJGiUaIiIiEjVKNERERCRqlGiIiIhI1CjREBERkahRoiEiIiJRo0RDREREokaJhoiIiETN/wcWL6o+ENJ3RgAAAABJRU5ErkJggg==\n", - "text/plain": [ - "
" - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - }, - { - "data": { - "text/plain": [ - "(
, )" - ] - }, - "execution_count": 14, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "ss.TDS.plotter.plot(ss.TGOV1.pout)" - ] - }, - { - "cell_type": "code", - "execution_count": 15, - "metadata": { - "ExecuteTime": { - "end_time": "2021-03-19T20:13:25.014751Z", - "start_time": "2021-03-19T20:13:24.739696Z" - }, - "execution": { - "iopub.execute_input": "2021-09-26T22:41:54.675715Z", - "iopub.status.busy": "2021-09-26T22:41:54.674499Z", - "iopub.status.idle": "2021-09-26T22:41:55.292894Z", - "shell.execute_reply": "2021-09-26T22:41:55.293267Z" - } - }, - "outputs": [ - { - "data": { - "image/png": "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\n", - "text/plain": [ - "
" - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - }, - { - "data": { - "text/plain": [ - "(
, )" - ] - }, - "execution_count": 15, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "ss.TDS.plotter.plot(ss.GENROU.omega)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Step 5: Set Another New Setpoints and New Ending TIme.\n", - "\n", - "In this example, we clear the auxiliary power previously set to `TGOV1.paux0.v`" - ] - }, - { - "cell_type": "code", - "execution_count": 16, - "metadata": { - "ExecuteTime": { - "end_time": "2021-03-19T20:13:25.018446Z", - "start_time": "2021-03-19T20:13:25.016455Z" - }, - "execution": { - "iopub.execute_input": "2021-09-26T22:41:55.297967Z", - "iopub.status.busy": "2021-09-26T22:41:55.297473Z", - "iopub.status.idle": "2021-09-26T22:41:55.300246Z", - "shell.execute_reply": "2021-09-26T22:41:55.300764Z" - } - }, - "outputs": [], - "source": [ - "# method 1: use in-place assignment again\n", - "\n", - "ss.TGOV1.paux0.v[0] = 0.\n", - "\n", - "# method 2: use ``ss.TGOV1.alter()``\n", - "\n", - "# ss.TGOV1.alter('paux0', 1, 0)\n", - "\n", - "# set the new ending time to 10 sec.\n", - "ss.TDS.config.tf = 10" - ] - }, - { - "cell_type": "code", - "execution_count": 17, - "metadata": { - "ExecuteTime": { - "end_time": "2021-03-19T20:13:26.308257Z", - "start_time": "2021-03-19T20:13:25.019594Z" - }, - "execution": { - "iopub.execute_input": "2021-09-26T22:41:55.304817Z", - "iopub.status.busy": "2021-09-26T22:41:55.304316Z", - "iopub.status.idle": "2021-09-26T22:41:56.777619Z", - "shell.execute_reply": "2021-09-26T22:41:56.778204Z" - } - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "100%|█████████████████████████████| 100.0/100 [00:00<00:00, 288.52%/s]" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Simulation completed in 0.3468 seconds.\n", - "Outputs to \"kundur_full_out.lst\" and \"kundur_full_out.npz\".\n", - "Outputs written in 0.0100 seconds.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n" - ] - }, - { - "data": { - "text/plain": [ - "True" - ] - }, - "execution_count": 17, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "ss.TDS.run()" - ] - }, - { - "cell_type": "code", - "execution_count": 18, - "metadata": { - "ExecuteTime": { - "end_time": "2021-03-19T20:13:26.578840Z", - "start_time": "2021-03-19T20:13:26.313049Z" - }, - "execution": { - "iopub.execute_input": "2021-09-26T22:41:56.780897Z", - "iopub.status.busy": "2021-09-26T22:41:56.780138Z", - "iopub.status.idle": "2021-09-26T22:41:56.988481Z", - "shell.execute_reply": "2021-09-26T22:41:56.989070Z" - } - }, - "outputs": [ - { - "data": { - "image/png": "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\n", - "text/plain": [ - "
" - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - }, - { - "data": { - "text/plain": [ - "(
, )" - ] - }, - "execution_count": 18, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "ss.TDS.plotter.plot(ss.TGOV1.paux)" - ] - }, - { - "cell_type": "code", - "execution_count": 19, - "metadata": { - "ExecuteTime": { - "end_time": "2021-03-19T20:13:26.866303Z", - "start_time": "2021-03-19T20:13:26.583667Z" - }, - "execution": { - "iopub.execute_input": "2021-09-26T22:41:56.991745Z", - "iopub.status.busy": "2021-09-26T22:41:56.991033Z", - "iopub.status.idle": "2021-09-26T22:41:57.284121Z", - "shell.execute_reply": "2021-09-26T22:41:57.284691Z" - } - }, - "outputs": [ - { - "data": { - "image/png": "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\n", - "text/plain": [ - "
" - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - }, - { - "data": { - "text/plain": [ - "(
, )" - ] - }, - "execution_count": 19, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "ss.TDS.plotter.plot(ss.GENROU.omega)" - ] - }, - { - "cell_type": "code", - "execution_count": 20, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "0.0001" - ] - }, - "execution_count": 20, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "ss.TDS.config.tol" - ] - }, - { - "cell_type": "code", - "execution_count": 21, - "metadata": { - "execution": { - "iopub.execute_input": "2021-09-26T22:41:57.287146Z", - "iopub.status.busy": "2021-09-26T22:41:57.286493Z", - "iopub.status.idle": "2021-09-26T22:41:58.279313Z", - "shell.execute_reply": "2021-09-26T22:41:58.278821Z" - } - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\r\n", - " _ _ | Version 1.5.7.post27.dev0+g9e0e253e\r\n", - " /_\\ _ _ __| |___ ___ | Python 3.9.7 on Linux, 12/14/2021 02:58:15 PM\r\n", - " / _ \\| ' \\/ _` / -_|_-< | \r\n", - " /_/ \\_\\_||_\\__,_\\___/__/ | This program comes with ABSOLUTELY NO WARRANTY.\r\n", - "\r\n", - "\"/home/hacui/repos/andes/examples/kundur_full_out.txt\" removed.\r\n", - "\"/home/hacui/repos/andes/examples/kundur_full_out.npz\" removed.\r\n", - "\"/home/hacui/repos/andes/examples/kundur_full_out.lst\" removed.\r\n" - ] - } - ], - "source": [ - "!andes misc -C" - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.9.7" - }, - "varInspector": { - "cols": { - "lenName": 16, - "lenType": 16, - "lenVar": 40 - }, - "kernels_config": { - "python": { - "delete_cmd_postfix": "", - "delete_cmd_prefix": "del ", - "library": "var_list.py", - "varRefreshCmd": "print(var_dic_list())" - }, - "r": { - "delete_cmd_postfix": ") ", - "delete_cmd_prefix": "rm(", - "library": "var_list.r", - "varRefreshCmd": "cat(var_dic_list()) " - } - }, - "types_to_exclude": [ - "module", - "function", - "builtin_function_or_method", - "instance", - "_Feature" - ], - "window_display": false - } - }, - "nbformat": 4, - "nbformat_minor": 4 -} diff --git a/requirements.txt b/requirements.txt index 616f5af4e..07ae40ca1 100644 --- a/requirements.txt +++ b/requirements.txt @@ -13,3 +13,4 @@ pyyaml coloredlogs chardet numba +psutil diff --git a/tests/test_block.py b/tests/test_block.py index 3ff791244..e6ce04834 100644 --- a/tests/test_block.py +++ b/tests/test_block.py @@ -22,10 +22,10 @@ def test_hvgate(self): Test `andes.core.discrete.HVGate` """ self.hv = HVGate(self.u1, self.u2) - self.hv.sl.list2array(self.n) - self.hv.sl.check_var() - np.testing.assert_almost_equal(self.hv.sl.s0, np.array([1, 1, 1, 0, 0])) - np.testing.assert_almost_equal(self.hv.sl.s1, np.array([0, 0, 1, 1, 1])) + self.hv.lt.list2array(self.n) + self.hv.lt.check_var() + np.testing.assert_almost_equal(self.hv.lt.z0, np.array([1, 1, 1, 0, 0])) + np.testing.assert_almost_equal(self.hv.lt.z1, np.array([0, 0, 0, 1, 1])) def test_lvgate(self): """ @@ -33,7 +33,7 @@ def test_lvgate(self): """ self.lv = LVGate(self.u1, self.u2) - self.lv.sl.list2array(self.n) - self.lv.sl.check_var() - np.testing.assert_almost_equal(self.lv.sl.s0, np.array([0, 0, 1, 1, 1])) - np.testing.assert_almost_equal(self.lv.sl.s1, np.array([1, 1, 1, 0, 0])) + self.lv.lt.list2array(self.n) + self.lv.lt.check_var() + np.testing.assert_almost_equal(self.lv.lt.z1, np.array([0, 0, 0, 1, 1])) + np.testing.assert_almost_equal(self.lv.lt.z0, np.array([1, 1, 1, 0, 0])) diff --git a/tests/test_case.py b/tests/test_case.py index ee9842104..48aa33db3 100644 --- a/tests/test_case.py +++ b/tests/test_case.py @@ -297,11 +297,15 @@ def test_islands(self): self.assertEqual(len(ss.Bus.islands), 2) -class TestPVD1Init(unittest.TestCase): +class TestCaseInit(unittest.TestCase): """ - Test if PVD1 model initialization works. + Test if initializations pass. """ + def test_pvd1_init(self): + """ + Test if PVD1 model initialization works. + """ ss = andes.run(get_case('ieee14/ieee14_pvd1.json'), no_output=True, default_config=True, @@ -312,3 +316,21 @@ def test_pvd1_init(self): ss.TDS.init() self.assertEqual(ss.exit_code, 0, "Exit code is not 0.") + + def test_exac1_init(self): + """ + Test if EXAC1 model initialization. One TGOV1 is at the lower limit. + """ + ss = andes.load(get_case('ieee14/ieee14_exac1.json'), + no_output=True, + default_config=True, + ) + ss.PV.config.pv2pq = 1 + ss.PFlow.run() + + ss.config.warn_limits = 0 + ss.config.warn_abnormal = 0 + + ss.TDS.init() + + self.assertEqual(ss.exit_code, 0, "Exit code is not 0.")