Running: ./testmodel.py --libraries=/home/hudson/saved_omc/libraries/.openmodelica/libraries/ --ompython_omhome=/usr PowerSystems_latest_PowerSystems.Examples.AC3ph.Transmission.FaultTline.conf.json loadFile("/home/hudson/saved_omc/libraries/.openmodelica/libraries/ModelicaServices 4.0.0+maint.om/package.mo", uses=false) loadFile("/home/hudson/saved_omc/libraries/.openmodelica/libraries/Complex 4.0.0+maint.om/package.mo", uses=false) loadFile("/home/hudson/saved_omc/libraries/.openmodelica/libraries/Modelica 4.0.0+maint.om/package.mo", uses=false) loadFile("/home/hudson/saved_omc/libraries/.openmodelica/libraries/PowerSystems 2.0.0-master/package.mo", uses=false) Using package PowerSystems with version 2.0.0 (/home/hudson/saved_omc/libraries/.openmodelica/libraries/PowerSystems 2.0.0-master/package.mo) Using package Modelica with version 4.0.0 (/home/hudson/saved_omc/libraries/.openmodelica/libraries/Modelica 4.0.0+maint.om/package.mo) Using package Complex with version 4.0.0 (/home/hudson/saved_omc/libraries/.openmodelica/libraries/Complex 4.0.0+maint.om/package.mo) Using package ModelicaServices with version 4.0.0 (/home/hudson/saved_omc/libraries/.openmodelica/libraries/ModelicaServices 4.0.0+maint.om/package.mo) Running command: translateModel(PowerSystems.Examples.AC3ph.Transmission.FaultTline,tolerance=1e-06,outputFormat="mat",numberOfIntervals=80000,variableFilter="Time|abc.i_abc.1.|abc.i_abc.2.|abc.i_abc.3.|meter.i.1.|meter.i.2.|meter.i.3.|meter.p.1.|meter.p.2.|meter.p.3.|meter.v.1.|meter.v.2.|meter.v.3.",fileNamePrefix="PowerSystems_latest_PowerSystems.Examples.AC3ph.Transmission.FaultTline") translateModel(PowerSystems.Examples.AC3ph.Transmission.FaultTline,tolerance=1e-06,outputFormat="mat",numberOfIntervals=80000,variableFilter="Time|abc.i_abc.1.|abc.i_abc.2.|abc.i_abc.3.|meter.i.1.|meter.i.2.|meter.i.3.|meter.p.1.|meter.p.2.|meter.p.3.|meter.v.1.|meter.v.2.|meter.v.3.",fileNamePrefix="PowerSystems_latest_PowerSystems.Examples.AC3ph.Transmission.FaultTline") Notification: Performance of loadFile(/home/hudson/saved_omc/libraries/.openmodelica/libraries/ModelicaServices 4.0.0+maint.om/package.mo): time 0.001228/0.001228, allocations: 108 kB / 17.7 MB, free: 5.266 MB / 14.72 MB Notification: Performance of loadFile(/home/hudson/saved_omc/libraries/.openmodelica/libraries/Complex 4.0.0+maint.om/package.mo): time 0.001166/0.001166, allocations: 192.1 kB / 18.64 MB, free: 4.34 MB / 14.72 MB Notification: Performance of loadFile(/home/hudson/saved_omc/libraries/.openmodelica/libraries/Modelica 4.0.0+maint.om/package.mo): time 1.282/1.282, allocations: 222.9 MB / 242.3 MB, free: 15.15 MB / 206.1 MB Notification: Performance of loadFile(/home/hudson/saved_omc/libraries/.openmodelica/libraries/PowerSystems 2.0.0-master/package.mo): time 0.1647/0.1647, allocations: 38.04 MB / 330.5 MB, free: 8.77 MB / 270.1 MB Notification: Performance of FrontEnd - Absyn->SCode: time 2.563e-05/2.571e-05, allocations: 2.281 kB / 400.2 MB, free: 33.41 MB / 302.1 MB Notification: Performance of NFInst.instantiate(PowerSystems.Examples.AC3ph.Transmission.FaultTline): time 0.007121/0.007163, allocations: 8.996 MB / 409.2 MB, free: 24.39 MB / 302.1 MB Notification: Performance of NFInst.instExpressions: time 0.004696/0.01191, allocations: 3.021 MB / 412.2 MB, free: 21.38 MB / 302.1 MB Notification: Performance of NFInst.updateImplicitVariability: time 0.0006916/0.01262, allocations: 24.69 kB / 412.2 MB, free: 21.36 MB / 302.1 MB Notification: Performance of NFTyping.typeComponents: time 0.001798/0.01443, allocations: 0.8315 MB / 413.1 MB, free: 20.53 MB / 302.1 MB Notification: Performance of NFTyping.typeBindings: time 0.00177/0.01621, allocations: 0.8007 MB / 413.9 MB, free: 19.72 MB / 302.1 MB Notification: Performance of NFTyping.typeClassSections: time 0.001406/0.01766, allocations: 0.7096 MB / 414.6 MB, free: 19.01 MB / 302.1 MB Notification: Performance of NFFlatten.flatten: time 0.00185/0.01953, allocations: 2.358 MB / 416.9 MB, free: 16.65 MB / 302.1 MB Notification: Performance of NFFlatten.resolveConnections: time 0.0007375/0.02027, allocations: 0.603 MB / 417.6 MB, free: 16.03 MB / 302.1 MB Notification: Performance of NFEvalConstants.evaluate: time 0.0009658/0.02125, allocations: 0.8758 MB / 418.4 MB, free: 15.15 MB / 302.1 MB Notification: Performance of NFSimplifyModel.simplify: time 0.0007468/0.02201, allocations: 0.8484 MB / 419.3 MB, free: 14.3 MB / 302.1 MB Notification: Performance of NFPackage.collectConstants: time 0.0001397/0.02216, allocations: 136 kB / 419.4 MB, free: 14.17 MB / 302.1 MB Notification: Performance of NFFlatten.collectFunctions: time 0.0008203/0.02299, allocations: 0.5773 MB / 420 MB, free: 13.59 MB / 302.1 MB Notification: Performance of combineBinaries: time 0.001015/0.02401, allocations: 2.069 MB / 422.1 MB, free: 11.5 MB / 302.1 MB Notification: Performance of replaceArrayConstructors: time 0.0004678/0.02449, allocations: 1.253 MB / 423.3 MB, free: 10.23 MB / 302.1 MB Notification: Performance of NFVerifyModel.verify: time 0.0002317/0.02473, allocations: 195.4 kB / 423.5 MB, free: 10.04 MB / 302.1 MB Notification: Performance of FrontEnd: time 0.0001345/0.02487, allocations: 31.88 kB / 423.5 MB, free: 10.01 MB / 302.1 MB Notification: Model statistics after passing the front-end and creating the data structures used by the back-end: * Number of equations: 369 (198) * Number of variables: 369 (202) Notification: Performance of Bindings: time 0.003436/0.02831, allocations: 5.707 MB / 429.2 MB, free: 4.121 MB / 302.1 MB Notification: Performance of FunctionAlias: time 0.0003697/0.02869, allocations: 441.2 kB / 429.7 MB, free: 3.695 MB / 302.1 MB Notification: Performance of Early Inline: time 0.00258/0.03128, allocations: 3.724 MB / 433.4 MB, free: 15.93 MB / 318.1 MB Notification: Performance of simplify1: time 0.0003166/0.03161, allocations: 263.6 kB / 433.6 MB, free: 15.67 MB / 318.1 MB Notification: Performance of Alias: time 0.003717/0.03534, allocations: 3.354 MB / 437 MB, free: 11.94 MB / 318.1 MB Notification: Performance of simplify2: time 0.0003967/0.03575, allocations: 243.6 kB / 437.2 MB, free: 11.7 MB / 318.1 MB Notification: Performance of Events: time 0.0006826/0.03644, allocations: 0.6031 MB / 437.8 MB, free: 11.09 MB / 318.1 MB Notification: Performance of Detect States: time 0.001159/0.03761, allocations: 1.13 MB / 439 MB, free: 9.941 MB / 318.1 MB Notification: Performance of Partitioning: time 0.001445/0.03906, allocations: 1.285 MB / 440.3 MB, free: 8.598 MB / 318.1 MB Error: Internal error NBSlice.fillDependencyArray failed because number of flattened indices 1 for dependency breaker2.breaker_a.s could not be devided by the body size 2 without rest. Error: Internal error NBAdjacency.Matrix.createPseudo failed for: [ARRY] (2) {breaker2.breaker_a.v, breaker2.breaker_a.i} = if not breaker2.breaker_a.open then {breaker2.breaker_a.epsR * breaker2.breaker_a.s, breaker2.breaker_a.s} else if breaker2.breaker_a.arc then {breaker2.breaker_a.arcBreaker.v, breaker2.breaker_a.arcBreaker.i} else {breaker2.breaker_a.s, breaker2.breaker_a.epsG * breaker2.breaker_a.s} ($RES_SIM_84) Error: Internal error NBAdjacency.Matrix.create failed to create adjacency matrix for system: System Variables (206/404) **************************** (1) [ALGB] (1) protected Real breaker1.breaker_c.i (2) [DER-] (3) Real[3] $DER.line.iF (3) [ALGB] (2) protected Real[2] infBus2.vPhasor_internal (4) [ALGB] (3) flow Real[3] line.term_p.i (nominal = {1.0 for $i1 in 1:3}) (5) [DISS] (1) protected Boolean breaker2.breaker_a.arc (fixed = true, start = false) (6) [ALGB] (3) Real[3] breaker2.term_n.v (nominal = {1000.0 for $i1 in 1:3}) (7) [DISC] (1) protected Boolean breaker1.breaker_c.opening (fixed = true, start = false) (8) [DISC] (1) protected Boolean breaker2.breaker_a.open = not (not breaker2.breaker_a.open) (start = true) (9) [DISC] (1) Boolean $SEV_22 (10) [ALGB] (6) Real[3, 2] line.iF_p (nominal = {1.0 for $i1 in 1:3, $i2 in 1:2}, StateSelect = never) (11) [ALGB] (2) protected Real[2] infBus1.vPhasor_internal (12) [DISC] (1) Boolean $SEV_21 (13) [DISC] (1) Boolean $SEV_20 (14) [DISC] (1) Boolean $TEV_9 (15) [DISC] (1) Boolean $TEV_8 (16) [ALGB] (1) protected Real breaker1.breaker_c.s (start = 0.5) (17) [DISC] (1) Boolean $TEV_7 (18) [DISC] (1) protected Boolean breaker1.breaker_c.open = not (not breaker1.breaker_c.open) (start = true) (19) [DISC] (1) Boolean $TEV_6 (20) [DISC] (1) Boolean $TEV_5 (21) [ALGB] (1) protected Real breaker1.breaker_c.v (22) [DISC] (1) Boolean $TEV_4 (23) [DISS] (1) protected Real breaker1.breaker_a.t0 (fixed = true, start = 1e60) (24) [DISS] (1) protected Real breaker2.breaker_a.t0 (fixed = true, start = 1e60) (25) [DISC] (1) Boolean $TEV_3 (26) [DISC] (1) Boolean $TEV_2 (27) [ALGB] (3) Real[3] line.term_p.v (nominal = {1000.0 for $i1 in 1:3}) (28) [DISC] (1) Boolean $TEV_1 (29) [DISC] (1) Boolean $TEV_0 (30) [ALGB] (3) flow Real[3] breaker2.term_n.i (nominal = {1.0 for $i1 in 1:3}) (31) [ALGB] (1) Real abc.fault_pp2.v (32) [ALGB] (1) protected Real abc.fault_pp2.s (start = 0.5) (33) [ALGB] (1) Real abc.fault_pp2.i (34) [DISC] (1) Boolean $SEV_19 (35) [ALGB] (9) protected Real[3, 3] breaker1.Park = PowerSystems.Utilities.Transforms.park(breaker1.term_p.theta[2]) (36) [DISC] (1) Boolean $SEV_18 (37) [DISC] (1) Boolean $SEV_17 (38) [DISC] (1) Boolean $SEV_16 (39) [DISC] (1) Boolean $SEV_15 (40) [ALGB] (4) protected Real[2, 2] meter.Rot_dq (41) [DISC] (1) protected Boolean abc.v_pos (fixed = true, start = true) (42) [DISC] (1) final Boolean abc.fault_pp1.on = abc.fault_pp1.on (fixed = true, start = false) (43) [DISC] (1) Boolean $SEV_14 (44) [DISC] (1) Boolean $SEV_13 (45) [DISC] (1) protected Boolean breaker1.breaker_b.opening (fixed = true, start = false) (46) [DISC] (1) Boolean $SEV_12 (47) [DISC] (1) Boolean $SEV_11 (48) [DISC] (3) Boolean[3] relay2.y (fixed = {true for $i1 in 1:3}, start = {relay2.ini_state for $i1 in 1:3}) (49) [DISC] (1) Boolean $SEV_10 (50) [DER-] (12) Real[3, 4] $DER.line.i (51) [ALGB] (3) Real[3] breaker1.term_p.v (nominal = {1000.0 for $i1 in 1:3}) (52) [ALGB] (1) protected Real infBus2.phi (53) [DISC] (1) protected Boolean breaker2.breaker_a.opening (fixed = true, start = false) (54) [ALGB] (2) Real[2] line.term_n.theta (55) [DER-] (9) Real[3, 3] $DER.line.v (56) [DISS] (1) protected Real breaker1.breaker_b.t0 (fixed = true, start = 1e60) (57) [DISS] (1) protected Real breaker2.breaker_b.t0 (fixed = true, start = 1e60) (58) [ALGB] (3) flow Real[3] breaker1.term_p.i (nominal = {1.0 for $i1 in 1:3}) (59) [ALGB] (2) Real[2] breaker1.term_n.theta (60) [ALGB] (2) Real[2] breaker2.term_n.theta (61) [DISC] (1) protected Boolean breaker1.breaker_b.open = not (not breaker1.breaker_b.open) (start = true) (62) [ALGB] (2) Real[2] meter.term_n.theta (63) [ALGB] (1) protected Real breaker2.breaker_a.i (64) [ALGB] (1) Real meter.alpha_i (StateSelect = never) (65) [DER-] (2) Real[2] $DER.line.term_p.theta (66) [DISC] (1) protected Boolean breaker1.breaker_a.opening (fixed = true, start = false) (67) [ALGB] (3) Real[3] meter.v (StateSelect = never) (68) [ALGB] (1) protected Real breaker2.breaker_a.s (start = 0.5) (69) [DISC] (1) protected Integer relay1.cnt (fixed = true, start = 1) (70) [ALGB] (3) flow Real[3] meter.term_n.i (nominal = {1.0 for $i1 in 1:3}) (71) [ALGB] (1) protected Real breaker2.breaker_a.v (72) [ALGB] (2) Real[2] infBus2.term.theta (73) [ALGB] (1) Real abc.fault_pp1.v (74) [ALGB] (1) Real $FUN_9 (75) [ALGB] (3) Real[3] meter.p (StateSelect = never) (76) [ALGB] (1) Real $FUN_8 (77) [ALGB] (9) Real[3, 3] $FUN_7 (78) [ALGB] (1) protected Real abc.fault_pp1.s (start = 0.5) (79) [ALGB] (9) Real[3, 3] $FUN_6 (80) [DISC] (1) protected Boolean breaker2.breaker_b.opening (fixed = true, start = false) (81) [ALGB] (1) Real meter.alpha_v (StateSelect = never) (82) [ALGB] (1) Real $FUN_5 (83) [ALGB] (1) Real meter.i_norm (StateSelect = never) (84) [ALGB] (1) Real $FUN_4 (85) [ALGB] (3) flow Real[3] infBus2.term.i (nominal = {1.0 for $i1 in 1:3}) (86) [ALGB] (1) Real $FUN_3 (87) [ALGB] (1) Real $FUN_2 (88) [ALGB] (3) Real[3] meter.i (StateSelect = never) (89) [ALGB] (1) Real $FUN_1 (90) [ALGB] (3) Real[3] meter.term_n.v (nominal = {1000.0 for $i1 in 1:3}) (91) [ALGB] (9) Real[3, 3] $FUN_22 (92) [ALGB] (3) Real[3] breaker2.v_abc (nominal = {1000.0 for $i1 in 1:3}, StateSelect = never) (93) [ALGB] (9) Real[3, 3] $FUN_21 (94) [ALGB] (9) Real[3, 3] $FUN_20 (95) [ALGB] (1) Real abc.fault_pp1.i (96) [DISC] (1) Boolean $TEV_11 (97) [DISC] (1) Boolean $TEV_10 (98) [DISS] (1) protected discrete Real abc.theta_zero (fixed = true, start = 1e60) (99) [ALGB] (3) Real[3] infBus2.term.v (nominal = {1000.0 for $i1 in 1:3}) (100) [DISS] (1) protected Real breaker2.breaker_c.t0 (fixed = true, start = 1e60) (101) [DISS] (1) protected Real breaker1.breaker_c.t0 (fixed = true, start = 1e60) (102) [DISC] (3) Boolean[3] relay1.y (fixed = {true for $i1 in 1:3}, start = {relay1.ini_state for $i1 in 1:3}) (103) [ALGB] (1) protected Real breaker2.breaker_b.arcBreaker.v (104) [ALGB] (1) protected Real breaker2.breaker_c.arcBreaker.v (105) [ALGB] (1) protected Real breaker2.breaker_a.arcBreaker.v (106) [ALGB] (3) Real[3] abc.v_abc (start = abc.v_abc_start, nominal = {1000.0 for $i1 in 1:3}, StateSelect = never) (107) [ALGB] (1) protected Real breaker1.breaker_c.arcBreaker.v (108) [ALGB] (1) protected Real breaker1.breaker_a.arcBreaker.v (109) [ALGB] (1) protected Real breaker1.breaker_b.arcBreaker.v (110) [ALGB] (1) Real $FUN_19 (111) [DISS] (1) protected Boolean breaker1.breaker_a.arc (fixed = true, start = false) (112) [ALGB] (4) Real[2, 2] $FUN_18 (113) [DISC] (1) protected Boolean breaker2.breaker_c.opening (fixed = true, start = false) (114) [DISC] (1) protected Boolean breaker1.breaker_a.open = not (not breaker1.breaker_a.open) (start = true) (115) [ALGB] (1) Real $FUN_12 (116) [ALGB] (1) protected Real breaker2.breaker_b.arcBreaker.i (117) [ALGB] (1) protected Real breaker2.breaker_c.arcBreaker.i (118) [ALGB] (1) protected Real breaker2.breaker_a.arcBreaker.i (119) [ALGB] (1) Real $FUN_11 (120) [DISS] (1) protected Boolean abc.first (fixed = true, start = true) (121) [ALGB] (1) Real $FUN_10 (122) [ALGB] (1) protected Real breaker2.breaker_b.i (123) [ALGB] (1) flow Real infBus1.neutral.i (124) [DISS] (1) protected Boolean breaker1.breaker_c.arc (fixed = true, start = false) (125) [ALGB] (1) protected Real breaker1.breaker_c.arcBreaker.i (126) [ALGB] (1) protected Real breaker1.breaker_a.arcBreaker.i (127) [ALGB] (1) protected Real breaker1.breaker_b.arcBreaker.i (128) [DISS] (1) protected Boolean breaker2.breaker_b.arc (fixed = true, start = false) (129) [ALGB] (1) protected Real breaker2.breaker_c.arcBreaker.d = breaker2.breaker_c.arcBreaker.d (min = 0.0) (130) [ALGB] (1) protected Real breaker2.breaker_a.arcBreaker.d = breaker2.breaker_a.arcBreaker.d (min = 0.0) (131) [ALGB] (1) protected Real breaker2.breaker_b.arcBreaker.d = breaker2.breaker_b.arcBreaker.d (min = 0.0) (132) [DISC] (1) Boolean $SEV_9 (133) [ALGB] (1) protected Real breaker1.breaker_c.arcBreaker.d = breaker1.breaker_c.arcBreaker.d (min = 0.0) (134) [ALGB] (1) protected Real breaker1.breaker_a.arcBreaker.d = breaker1.breaker_a.arcBreaker.d (min = 0.0) (135) [ALGB] (1) protected Real breaker1.breaker_b.arcBreaker.d = breaker1.breaker_b.arcBreaker.d (min = 0.0) (136) [DISC] (1) Boolean $SEV_8 (137) [DISC] (1) Boolean $SEV_7 (138) [DISC] (1) Boolean $SEV_6 (139) [ALGB] (1) protected Real breaker1.breaker_a.i (140) [DISC] (1) Boolean $SEV_5 (141) [ALGB] (1) protected Real breaker2.breaker_b.s (start = 0.5) (142) [DISC] (1) Boolean $SEV_4 (143) [DISC] (1) Boolean $SEV_3 (144) [ALGB] (3) flow Real[3] line.term_n.i (nominal = {1.0 for $i1 in 1:3}) (145) [DISC] (1) Boolean $SEV_2 (146) [ALGB] (1) protected Real breaker2.breaker_b.v (147) [ALGB] (3) Real[3] breaker1.v_abc (nominal = {1000.0 for $i1 in 1:3}, StateSelect = never) (148) [ALGB] (3) Real[3] breaker2.term_p.v (nominal = {1000.0 for $i1 in 1:3}) (149) [ALGB] (3) Real[3] breaker2.v (nominal = {1000.0 for $i1 in 1:3}) (150) [ALGB] (1) protected Real infBus2.alpha (151) [ALGB] (1) flow Real infBus2.neutral.i (152) [ALGB] (1) protected Real breaker1.breaker_a.s (start = 0.5) (153) [ALGB] (3) Real[3] breaker2.i_abc (nominal = {1.0 for $i1 in 1:3}, StateSelect = never) (154) [ALGB] (1) protected Real breaker1.breaker_a.v (155) [ALGB] (3) Real[3] line.term_n.v (nominal = {1000.0 for $i1 in 1:3}) (156) [ALGB] (3) flow Real[3] breaker2.term_p.i (nominal = {1.0 for $i1 in 1:3}) (157) [ALGB] (3) Real[3] breaker2.i (nominal = {1.0 for $i1 in 1:3}) (158) [DISC] (1) protected Boolean breaker2.breaker_c.open = not (not breaker2.breaker_c.open) (start = true) (159) [ALGB] (2) Real[2] infBus1.term.theta (160) [ALGB] (2) Real[2] meter.term_p.theta (161) [ALGB] (3) flow Real[3] line.term_f.i (nominal = {1.0 for $i1 in 1:3}) (162) [ALGB] (1) Real meter.v_norm (StateSelect = never) (163) [ALGB] (3) Real[3] breaker1.term_n.v (nominal = {1000.0 for $i1 in 1:3}) (164) [ALGB] (2) Real[2] abc.term.theta (165) [ALGB] (3) Real[3] abc.i_abc (nominal = {1.0 for $i1 in 1:3}, StateSelect = never) (166) [ALGB] (1) Real system.thetaRef = system.thetaRef (167) [ALGB] (3) Real[3] abc.term.v (nominal = {1000.0 for $i1 in 1:3}) (168) [ALGB] (2) Real[2] meter.vpp (StateSelect = never) (169) [ALGB] (1) Real system.thetaRel = system.thetaRef - system.thetaRef (170) [ALGB] (3) Real[3] line.term_f.v (nominal = {1000.0 for $i1 in 1:3}) (171) [ALGB] (1) protected Real infBus2.V (nominal = 1000.0) (172) [ALGB] (1) Real meter.cos_phi (StateSelect = never) (173) [ALGB] (3) flow Real[3] breaker1.term_n.i (nominal = {1.0 for $i1 in 1:3}) (174) [ALGB] (1) protected Real infBus1.phi (175) [ALGB] (1) protected Real breaker2.breaker_c.i (176) [ALGB] (3) flow Real[3] abc.term.i (nominal = {1.0 for $i1 in 1:3}) (177) [ALGB] (1) protected Real infBus1.alpha (178) [DISS] (1) Real abc.fault_pp1.t0 (fixed = true, start = -1e60) (179) [ALGB] (2) Real[2] line.term_f.theta (180) [ALGB] (9) protected Real[3, 3] abc.Park = PowerSystems.Utilities.Transforms.park(abc.term.theta[2]) (181) [ALGB] (1) protected Real breaker1.breaker_b.i (182) [ALGB] (1) protected Real breaker2.breaker_c.s (start = 0.5) (183) [ALGB] (3) Real[3] breaker1.i_abc (nominal = {1.0 for $i1 in 1:3}, StateSelect = never) (184) [ALGB] (3) flow Real[3] meter.term_p.i (nominal = {1.0 for $i1 in 1:3}) (185) [ALGB] (1) protected Real breaker2.breaker_c.v (186) [ALGB] (3) Real[3] breaker1.v (nominal = {1000.0 for $i1 in 1:3}) (187) [ALGB] (3) Real[3] abc.v (nominal = {1000.0 for $i1 in 1:3}) (188) [ALGB] (1) protected Real breaker1.breaker_b.s (start = 0.5) (189) [ALGB] (1) protected Real breaker1.breaker_b.v (190) [DISC] (1) protected Integer relay2.cnt (fixed = true, start = 1) (191) [DISC] (1) protected Boolean breaker2.breaker_b.open = not (not breaker2.breaker_b.open) (start = true) (192) [ALGB] (3) Real[3] meter.term_p.v (nominal = {1000.0 for $i1 in 1:3}) (193) [ALGB] (3) Real[3] breaker1.i (nominal = {1.0 for $i1 in 1:3}) (194) [ALGB] (2) Real[2] breaker2.term_p.theta (195) [ALGB] (2) Real[2] breaker1.term_p.theta (196) [ALGB] (3) Real[3] abc.i (nominal = {1.0 for $i1 in 1:3}) (197) [DISC] (3) Boolean[3] breaker1.control (198) [ALGB] (2) protected Real[2] line.omega (199) [ALGB] (3) flow Real[3] infBus1.term.i (nominal = {1.0 for $i1 in 1:3}) (200) [DISS] (1) Real abc.fault_pp2.t0 (fixed = true, start = -1e60) (201) [ALGB] (9) protected Real[3, 3] breaker2.Park = PowerSystems.Utilities.Transforms.park(breaker2.term_p.theta[2]) (202) [ALGB] (1) protected Real infBus1.V (nominal = 1000.0) (203) [ALGB] (3) Real[3] infBus1.term.v (nominal = {1000.0 for $i1 in 1:3}) (204) [DISS] (1) protected Boolean breaker1.breaker_b.arc (fixed = true, start = false) (205) [DISS] (1) protected Boolean breaker2.breaker_c.arc (fixed = true, start = false) (206) [DISC] (3) Boolean[3] breaker2.control System Equations (202/404) **************************** (1) [WHEN] (1)when {$SEV_9, $SEV_10, not breaker2.breaker_b.open} then (1) [----] breaker2.breaker_b.arc := edge(breaker2.breaker_b.open) or breaker2.breaker_b.opening (1) [----] end when; (2) [WHEN] (1)when {$SEV_15, $SEV_16, not breaker1.breaker_c.open} then (2) [----] breaker1.breaker_c.arc := edge(breaker1.breaker_c.open) or breaker1.breaker_c.opening (2) [----] end when; (3) [SCAL] (1) breaker2.breaker_b.arcBreaker.v = breaker2.breaker_b.arcBreaker.E * breaker2.breaker_b.arcBreaker.d * $FUN_9 ($RES_SIM_83) (4) [SCAL] (1) breaker1.breaker_c.arcBreaker.v = breaker1.breaker_c.arcBreaker.E * breaker1.breaker_c.arcBreaker.d * $FUN_5 ($RES_SIM_123) (5) [ARRY] (2) {breaker2.breaker_a.v, breaker2.breaker_a.i} = if not breaker2.breaker_a.open then {breaker2.breaker_a.epsR * breaker2.breaker_a.s, breaker2.breaker_a.s} else if breaker2.breaker_a.arc then {breaker2.breaker_a.arcBreaker.v, breaker2.breaker_a.arcBreaker.i} else {breaker2.breaker_a.s, breaker2.breaker_a.epsG * breaker2.breaker_a.s} ($RES_SIM_84) (6) [ARRY] (2) {breaker1.breaker_b.v, breaker1.breaker_b.i} = if not breaker1.breaker_b.open then {breaker1.breaker_b.epsR * breaker1.breaker_b.s, breaker1.breaker_b.s} else if breaker1.breaker_b.arc then {breaker1.breaker_b.arcBreaker.v, breaker1.breaker_b.arcBreaker.i} else {breaker1.breaker_b.s, breaker1.breaker_b.epsG * breaker1.breaker_b.s} ($RES_SIM_124) (7) [SCAL] (1) breaker2.breaker_a.arcBreaker.i = if breaker2.breaker_a.arc then breaker2.breaker_a.s else 0.0 ($RES_SIM_85) (8) [SCAL] (1) breaker1.breaker_b.arcBreaker.i = if breaker1.breaker_b.arc then breaker1.breaker_b.s else 0.0 ($RES_SIM_125) (9) [SCAL] (1) breaker2.breaker_a.arcBreaker.d = if breaker2.breaker_a.opening then ((time - breaker2.breaker_a.t0) / breaker2.breaker_a.t_opening) ^ 2.0 * breaker2.breaker_a.D else breaker2.breaker_a.D ($RES_SIM_86) (10) [SCAL] (1) breaker1.breaker_b.arcBreaker.d = if breaker1.breaker_b.opening then ((time - breaker1.breaker_b.t0) / breaker1.breaker_b.t_opening) ^ 2.0 * breaker1.breaker_b.D else breaker1.breaker_b.D ($RES_SIM_126) (11) [SCAL] (1) breaker2.breaker_a.opening = $SEV_11 ($RES_SIM_87) (12) [SCAL] (1) breaker1.breaker_b.opening = $SEV_17 ($RES_SIM_127) (13) [WHEN] (1)when $TEV_8 then (13) [----] breaker2.breaker_a.t0 := time (13) [----] end when; (14) [WHEN] (1)when $TEV_10 then (14) [----] breaker1.breaker_b.t0 := time (14) [----] end when; (15) [WHEN] (1)when {$SEV_12, $SEV_13, not breaker2.breaker_a.open} then (15) [----] breaker2.breaker_a.arc := edge(breaker2.breaker_a.open) or breaker2.breaker_a.opening (15) [----] end when; (16) [WHEN] (1)when {$SEV_18, $SEV_19, not breaker1.breaker_b.open} then (16) [----] breaker1.breaker_b.arc := edge(breaker1.breaker_b.open) or breaker1.breaker_b.opening (16) [----] end when; (17) [ALGO] (4) ($RES_SIM_10) (17) [----] when time > relay1.t_switch[relay1.cnt] then (17) [----] relay1.cnt := min(relay1.cnt + 1, 2); (17) [----] for k in relay1.switched loop (17) [----] relay1.y[k] := not relay1.y[k]; (17) [----] end for; (17) [----] end when; (18) [SCAL] (1) abc.fault_pp1.on = $SEV_2 ($RES_SIM_13) (19) [WHEN] (1)when $SEV_3 then (19) [----] abc.first := false (19) [----] end when; (20) [WHEN] (1)when $SEV_3 then (20) [----] abc.theta_zero := sum(abc.term.theta) (20) [----] end when; (21) [ARRY] (3) abc.i_abc = transpose(abc.Park) * abc.i ($RES_SIM_16) (22) [ARRY] (3) abc.v = abc.Park * abc.v_abc ($RES_SIM_17) (23) [ARRY] (3) abc.term.i = abc.i ($RES_SIM_18) (24) [SCAL] (1) breaker2.breaker_a.arcBreaker.v = breaker2.breaker_a.arcBreaker.E * breaker2.breaker_a.arcBreaker.d * $FUN_8 ($RES_SIM_92) (25) [SCAL] (1) breaker1.breaker_b.arcBreaker.v = breaker1.breaker_b.arcBreaker.E * breaker1.breaker_b.arcBreaker.d * $FUN_4 ($RES_SIM_132) (26) [ARRY] (3) abc.v = abc.term.v ($RES_SIM_19) (27) [ARRY] (2) line.term_n.theta = line.term_p.theta ($RES_SIM_93) (28) [ARRY] (2) {breaker1.breaker_a.v, breaker1.breaker_a.i} = if not breaker1.breaker_a.open then {breaker1.breaker_a.epsR * breaker1.breaker_a.s, breaker1.breaker_a.s} else if breaker1.breaker_a.arc then {breaker1.breaker_a.arcBreaker.v, breaker1.breaker_a.arcBreaker.i} else {breaker1.breaker_a.s, breaker1.breaker_a.epsG * breaker1.breaker_a.s} ($RES_SIM_133) (29) [ARRY] (2) line.term_f.theta = line.term_p.theta ($RES_SIM_94) (30) [SCAL] (1) breaker1.breaker_a.arcBreaker.i = if breaker1.breaker_a.arc then breaker1.breaker_a.s else 0.0 ($RES_SIM_134) (31) [ARRY] (3) line.omega[2] * line.L * {-line.iF[2], line.iF[1], 0.0} + {line.L, line.L, line.L0} * $DER.line.iF + line.R * line.iF = (line.v[:, 2] - line.term_f.v) / line.pe + (line.v[:, 3] - line.term_f.v) / (1.0 - line.pe) ($RES_SIM_95) (32) [SCAL] (1) breaker1.breaker_a.arcBreaker.d = if breaker1.breaker_a.opening then ((time - breaker1.breaker_a.t0) / breaker1.breaker_a.t_opening) ^ 2.0 * breaker1.breaker_a.D else breaker1.breaker_a.D ($RES_SIM_135) (33) [ARRY] (12) line.omega[2] * line.L * {{-line.i[2, 1], -line.i[2, 2], -line.i[2, 3], -line.i[2, 4]}, {line.i[1, 1], line.i[1, 2], line.i[1, 3], line.i[1, 4]}, {0.0, 0.0, 0.0, 0.0}} + $FUN_7 * $DER.line.i + line.R * line.i = {{2.0 * (line.term_p.v[1] - line.v[1, 1]), line.v[1, 1] - line.v[1, 2], line.v[1, 2] - line.v[1, 3], 2.0 * (line.v[1, 3] - line.term_n.v[1])}, {2.0 * (line.term_p.v[2] - line.v[2, 1]), line.v[2, 1] - line.v[2, 2], line.v[2, 2] - line.v[2, 3], 2.0 * (line.v[2, 3] - line.term_n.v[2])}, {2.0 * (line.term_p.v[3] - line.v[3, 1]), line.v[3, 1] - line.v[3, 2], line.v[3, 2] - line.v[3, 3], 2.0 * (line.v[3, 3] - line.term_n.v[3])}} ($RES_SIM_96) (34) [SCAL] (1) breaker1.breaker_a.opening = $SEV_20 ($RES_SIM_136) (35) [ARRY] (9) line.omega[2] * line.C * {{-line.v[2, 1], -line.v[2, 2], -line.v[2, 3]}, {line.v[1, 1], line.v[1, 2], line.v[1, 3]}, {0.0, 0.0, 0.0}} + $FUN_6 * $DER.line.v + line.G * line.v = {{line.i[1, 1] - line.i[1, 2], line.i[1, 2] - (line.iF_p[1, 1] + line.i[1, 3]), line.i[1, 3] - (line.iF_p[1, 2] + line.i[1, 4])}, {line.i[2, 1] - line.i[2, 2], line.i[2, 2] - (line.iF_p[2, 1] + line.i[2, 3]), line.i[2, 3] - (line.iF_p[2, 2] + line.i[2, 4])}, {line.i[3, 1] - line.i[3, 2], line.i[3, 2] - (line.iF_p[3, 1] + line.i[3, 3]), line.i[3, 3] - (line.iF_p[3, 2] + line.i[3, 4])}} ($RES_SIM_97) (36) [WHEN] (1)when $TEV_11 then (36) [----] breaker1.breaker_a.t0 := time (36) [----] end when; (37) [ARRY] (6) line.iF_p = {{(1.0 - line.pe) * line.iF[1], line.pe * line.iF[1]}, {(1.0 - line.pe) * line.iF[2], line.pe * line.iF[2]}, {(1.0 - line.pe) * line.iF[3], line.pe * line.iF[3]}} ($RES_SIM_98) (38) [WHEN] (1)when {$SEV_21, $SEV_22, not breaker1.breaker_a.open} then (38) [----] breaker1.breaker_a.arc := edge(breaker1.breaker_a.open) or breaker1.breaker_a.opening (38) [----] end when; (39) [ARRY] (3) line.iF = -line.term_f.i ($RES_SIM_99) (40) [SCAL] (1) abc.i[3] = abc.epsG * abc.v[3] ($RES_SIM_20) (41) [SCAL] (1) abc.v_pos = $SEV_4 ($RES_SIM_21) (42) [SCAL] (1) abc.fault_pp2.i = abc.i_abc[3] ($RES_SIM_22) (43) [SCAL] (1) abc.fault_pp2.v = abc.v_abc[3] - abc.v_abc[1] ($RES_SIM_23) (44) [SCAL] (1) abc.fault_pp1.i = abc.i_abc[2] ($RES_SIM_24) (45) [SCAL] (1) abc.fault_pp1.v = abc.v_abc[2] - abc.v_abc[1] ($RES_SIM_25) (46) [ARRY] (2) {abc.fault_pp2.v, abc.fault_pp2.i} = if abc.fault_pp1.on then {abc.fault_pp2.epsR * abc.fault_pp2.s, abc.fault_pp2.s} else {abc.fault_pp2.s, abc.fault_pp2.epsG * abc.fault_pp2.s} ($RES_SIM_26) (47) [WHEN] (1)when edge(abc.fault_pp1.on) then (47) [----] abc.fault_pp2.t0 := time (47) [----] end when; (48) [SCAL] (1) breaker1.breaker_a.arcBreaker.v = breaker1.breaker_a.arcBreaker.E * breaker1.breaker_a.arcBreaker.d * $FUN_3 ($RES_SIM_141) (49) [ARRY] (2) {abc.fault_pp1.v, abc.fault_pp1.i} = if abc.fault_pp1.on then {abc.fault_pp1.epsR * abc.fault_pp1.s, abc.fault_pp1.s} else {abc.fault_pp1.s, abc.fault_pp1.epsG * abc.fault_pp1.s} ($RES_SIM_29) (50) [SCAL] (1) 1.7320508075688772 * infBus1.term.i[3] + infBus1.neutral.i = 0.0 ($RES_SIM_142) (51) [ARRY] (2) infBus1.term.theta = {system.thetaRel, system.thetaRef} ($RES_SIM_143) (52) [SCAL] (1) system.thetaRel = system.thetaRef - system.thetaRef ($RES_BND_194) (53) [ARRY] (3) infBus1.term.v = {$FUN_1 * infBus1.V, $FUN_2 * infBus1.V, 0.0} ($RES_SIM_145) (54) [ARRY] (9) breaker1.Park = $FUN_22 ($RES_BND_196) (55) [SCAL] (1) infBus1.phi = infBus1.term.theta[1] + infBus1.alpha ($RES_SIM_146) (56) [SCAL] (1) infBus1.alpha = infBus1.vPhasor_internal[2] ($RES_SIM_147) (57) [SCAL] (1) infBus1.V = infBus1.vPhasor_internal[1] * infBus1.V_base ($RES_SIM_148) (58) [ARRY] (2) infBus1.vPhasor_internal = {infBus1.v0, infBus1.alpha0} ($RES_SIM_149) (59) [SCAL] (1) $TEV_0 = $PRE.breaker2.breaker_c.open ($RES_EVT_235) (60) [SCAL] (1) $TEV_1 = $PRE.breaker2.breaker_b.open ($RES_EVT_236) (61) [SCAL] (1) $TEV_2 = $PRE.breaker2.breaker_a.open ($RES_EVT_237) (62) [SCAL] (1) $TEV_3 = $PRE.breaker1.breaker_c.open ($RES_EVT_238) (63) [ARRY] (9) breaker2.Park = $FUN_21 ($RES_BND_203) (64) [SCAL] (1) $TEV_4 = $PRE.breaker1.breaker_b.open ($RES_EVT_239) (65) [WHEN] (1)when edge(abc.fault_pp1.on) then (65) [----] abc.fault_pp1.t0 := time (65) [----] end when; (66) [ARRY] (2) meter.term_n.theta = meter.term_p.theta ($RES_SIM_32) (67) [ARRY] (3) meter.term_p.i + meter.term_n.i = {0.0 for $i1 in 1:3} ($RES_SIM_33) (68) [ARRY] (3) meter.term_p.v = meter.term_n.v ($RES_SIM_34) (69) [ARRY] (4) meter.Rot_dq = $FUN_18 ($RES_SIM_35) (70) [SCAL] (1) system.thetaRef = 314.1592653589793 * time ($RES_SIM_152) (71) [SCAL] (1) $TEV_5 = $PRE.breaker1.breaker_a.open ($RES_EVT_240) (72) [SCAL] (1) $TEV_6 = $PRE.breaker2.breaker_c.arc ($RES_EVT_241) (73) [SCAL] (1) $TEV_7 = $PRE.breaker2.breaker_b.arc ($RES_EVT_242) (74) [SCAL] (1) $TEV_8 = $PRE.breaker2.breaker_a.arc ($RES_EVT_243) (75) [SCAL] (1) $TEV_9 = $PRE.breaker1.breaker_c.arc ($RES_EVT_244) (76) [SCAL] (1) $TEV_10 = $PRE.breaker1.breaker_b.arc ($RES_EVT_245) (77) [ARRY] (9) abc.Park = $FUN_20 ($RES_BND_210) (78) [SCAL] (1) $TEV_11 = $PRE.breaker1.breaker_a.arc ($RES_EVT_246) (79) [SCAL] (1) $SEV_2 = $FUN_19 > ($PRE.abc.theta_zero + abc.phi_on) ($RES_EVT_247) (80) [SCAL] (1) $SEV_3 = (time > abc.t_on and edge(abc.v_pos)) and $PRE.abc.first ($RES_EVT_248) (81) [SCAL] (1) $SEV_4 = abc.v_abc[1] > 0.0 ($RES_EVT_249) (82) [ARRY] (3) meter.p = {meter.v[1:2] * meter.i[1:2], -{-meter.v[2], meter.v[1]} * meter.i[1:2], meter.v[3] * meter.i[3]} ($RES_SIM_43) (83) [ARRY] (3) meter.i = meter.term_p.i / meter.I_base ($RES_SIM_44) (84) [ARRY] (2) meter.vpp = 1.7320508075688772 * {meter.v[2], -meter.v[1]} ($RES_SIM_45) (85) [ARRY] (3) meter.v = meter.term_p.v / meter.V_base ($RES_SIM_46) (86) [SCAL] (1) 1.7320508075688772 * infBus2.term.i[3] + infBus2.neutral.i = 0.0 ($RES_SIM_47) (87) [ARRY] (3) infBus2.term.v = {$FUN_11 * infBus2.V, $FUN_12 * infBus2.V, 0.0} ($RES_SIM_49) (88) [FOR-] (3) ($RES_SIM_162) (88) [----] for $i1 in 1:3 loop (88) [----] [SCAL] (1) line.term_f.i[$i1] + abc.term.i[$i1] = 0.0 ($RES_SIM_163) (88) [----] end for; (89) [ARRY] (3) line.term_f.v = abc.term.v ($RES_SIM_164) (90) [ARRY] (2) line.term_f.theta = abc.term.theta ($RES_SIM_165) (91) [FOR-] (3) ($RES_SIM_166) (91) [----] for $i1 in 1:3 loop (91) [----] [SCAL] (1) breaker2.term_n.i[$i1] + infBus2.term.i[$i1] = 0.0 ($RES_SIM_167) (91) [----] end for; (92) [ARRY] (3) breaker2.term_n.v = infBus2.term.v ($RES_SIM_168) (93) [ARRY] (2) breaker2.term_n.theta = infBus2.term.theta ($RES_SIM_169) (94) [SCAL] (1) $SEV_5 = breaker2.breaker_c.t0 < time and time < (breaker2.breaker_c.t0 + breaker2.breaker_c.t_opening) ($RES_EVT_250) (95) [SCAL] (1) $SEV_6 = breaker2.breaker_c.open and breaker2.breaker_c.i < 0.0 ($RES_EVT_251) (96) [SCAL] (1) $SEV_7 = breaker2.breaker_c.open and breaker2.breaker_c.i > 0.0 ($RES_EVT_252) (97) [SCAL] (1) $SEV_8 = breaker2.breaker_b.t0 < time and time < (breaker2.breaker_b.t0 + breaker2.breaker_b.t_opening) ($RES_EVT_253) (98) [SCAL] (1) $SEV_9 = breaker2.breaker_b.open and breaker2.breaker_b.i < 0.0 ($RES_EVT_254) (99) [SCAL] (1) $SEV_10 = breaker2.breaker_b.open and breaker2.breaker_b.i > 0.0 ($RES_EVT_255) (100) [SCAL] (1) $SEV_11 = breaker2.breaker_a.t0 < time and time < (breaker2.breaker_a.t0 + breaker2.breaker_a.t_opening) ($RES_EVT_256) (101) [SCAL] (1) $SEV_12 = breaker2.breaker_a.open and breaker2.breaker_a.i < 0.0 ($RES_EVT_257) (102) [SCAL] (1) $SEV_13 = breaker2.breaker_a.open and breaker2.breaker_a.i > 0.0 ($RES_EVT_258) (103) [SCAL] (1) $SEV_14 = breaker1.breaker_c.t0 < time and time < (breaker1.breaker_c.t0 + breaker1.breaker_c.t_opening) ($RES_EVT_259) (104) [SCAL] (1) infBus2.phi = infBus2.term.theta[1] + infBus2.alpha ($RES_SIM_50) (105) [SCAL] (1) infBus2.alpha = infBus2.vPhasor_internal[2] ($RES_SIM_51) (106) [SCAL] (1) infBus2.V = infBus2.vPhasor_internal[1] * infBus2.V_base ($RES_SIM_52) (107) [ARRY] (2) infBus2.vPhasor_internal = {infBus2.v0, infBus2.alpha0} ($RES_SIM_53) (108) [ARRY] (2) breaker2.term_n.theta = breaker2.term_p.theta ($RES_SIM_54) (109) [ALGO] (4) ($RES_SIM_9) (109) [----] when time > relay2.t_switch[relay2.cnt] then (109) [----] relay2.cnt := min(relay2.cnt + 1, 2); (109) [----] for k in relay2.switched loop (109) [----] relay2.y[k] := not relay2.y[k]; (109) [----] end for; (109) [----] end when; (110) [ARRY] (3) breaker2.term_p.i + breaker2.term_n.i = {0.0 for $i1 in 1:3} ($RES_SIM_55) (111) [ARRY] (3) breaker2.term_p.i = breaker2.i ($RES_SIM_56) (112) [ARRY] (3) breaker2.v = breaker2.term_p.v - breaker2.term_n.v ($RES_SIM_57) (113) [FOR-] (3) ($RES_SIM_170) (113) [----] for $i1 in 1:3 loop (113) [----] [SCAL] (1) line.term_n.i[$i1] + breaker2.term_p.i[$i1] = 0.0 ($RES_SIM_171) (113) [----] end for; (114) [ARRY] (3) breaker2.i_abc = transpose(breaker2.Park) * breaker2.i ($RES_SIM_58) (115) [ARRY] (3) breaker2.v = breaker2.Park * breaker2.v_abc ($RES_SIM_59) (116) [ARRY] (3) line.term_n.v = breaker2.term_p.v ($RES_SIM_172) (117) [ARRY] (2) line.term_n.theta = breaker2.term_p.theta ($RES_SIM_173) (118) [FOR-] (3) ($RES_SIM_174) (118) [----] for $i1 in 1:3 loop (118) [----] [SCAL] (1) breaker1.term_n.i[$i1] + line.term_p.i[$i1] = 0.0 ($RES_SIM_175) (118) [----] end for; (119) [ARRY] (3) breaker1.term_n.v = line.term_p.v ($RES_SIM_176) (120) [ARRY] (2) breaker1.term_n.theta = line.term_p.theta ($RES_SIM_177) (121) [SCAL] (1) $FUN_1 = cos(infBus1.phi) ($RES_$AUX_234) (122) [FOR-] (3) ($RES_SIM_178) (122) [----] for $i1 in 1:3 loop (122) [----] [SCAL] (1) meter.term_n.i[$i1] + breaker1.term_p.i[$i1] = 0.0 ($RES_SIM_179) (122) [----] end for; (123) [SCAL] (1) $FUN_2 = sin(infBus1.phi) ($RES_$AUX_233) (124) [SCAL] (1) $FUN_3 = tanh(breaker1.breaker_a.arcBreaker.r * breaker1.breaker_a.arcBreaker.i) ($RES_$AUX_232) (125) [SCAL] (1) $FUN_4 = tanh(breaker1.breaker_b.arcBreaker.r * breaker1.breaker_b.arcBreaker.i) ($RES_$AUX_231) (126) [SCAL] (1) $FUN_5 = tanh(breaker1.breaker_c.arcBreaker.r * breaker1.breaker_c.arcBreaker.i) ($RES_$AUX_230) (127) [SCAL] (1) $SEV_15 = breaker1.breaker_c.open and breaker1.breaker_c.i < 0.0 ($RES_EVT_260) (128) [SCAL] (1) $SEV_16 = breaker1.breaker_c.open and breaker1.breaker_c.i > 0.0 ($RES_EVT_261) (129) [SCAL] (1) $SEV_17 = breaker1.breaker_b.t0 < time and time < (breaker1.breaker_b.t0 + breaker1.breaker_b.t_opening) ($RES_EVT_262) (130) [SCAL] (1) $SEV_18 = breaker1.breaker_b.open and breaker1.breaker_b.i < 0.0 ($RES_EVT_263) (131) [SCAL] (1) $SEV_19 = breaker1.breaker_b.open and breaker1.breaker_b.i > 0.0 ($RES_EVT_264) (132) [SCAL] (1) $SEV_20 = breaker1.breaker_a.t0 < time and time < (breaker1.breaker_a.t0 + breaker1.breaker_a.t_opening) ($RES_EVT_265) (133) [SCAL] (1) $SEV_21 = breaker1.breaker_a.open and breaker1.breaker_a.i < 0.0 ($RES_EVT_266) (134) [SCAL] (1) $SEV_22 = breaker1.breaker_a.open and breaker1.breaker_a.i > 0.0 ($RES_EVT_267) (135) [SCAL] (1) breaker2.breaker_c.i = breaker2.i_abc[3] ($RES_SIM_60) (136) [ARRY] (3) line.i[:, 4] = -line.term_n.i ($RES_SIM_100) (137) [SCAL] (1) breaker2.breaker_c.v = breaker2.v_abc[3] ($RES_SIM_61) (138) [ARRY] (3) line.i[:, 1] = line.term_p.i ($RES_SIM_101) (139) [SCAL] (1) breaker2.breaker_b.i = breaker2.i_abc[2] ($RES_SIM_62) (140) [ARRY] (2) line.omega = $DER.line.term_p.theta ($RES_SIM_102) (141) [SCAL] (1) breaker2.breaker_b.v = breaker2.v_abc[2] ($RES_SIM_63) (142) [ARRY] (2) breaker1.term_n.theta = breaker1.term_p.theta ($RES_SIM_103) (143) [SCAL] (1) breaker2.breaker_a.i = breaker2.i_abc[1] ($RES_SIM_64) (144) [ARRY] (3) breaker1.term_p.i + breaker1.term_n.i = {0.0 for $i1 in 1:3} ($RES_SIM_104) (145) [SCAL] (1) breaker2.breaker_a.v = breaker2.v_abc[1] ($RES_SIM_65) (146) [ARRY] (3) breaker1.term_p.i = breaker1.i ($RES_SIM_105) (147) [ARRY] (2) {breaker2.breaker_c.v, breaker2.breaker_c.i} = if not breaker2.breaker_c.open then {breaker2.breaker_c.epsR * breaker2.breaker_c.s, breaker2.breaker_c.s} else if breaker2.breaker_c.arc then {breaker2.breaker_c.arcBreaker.v, breaker2.breaker_c.arcBreaker.i} else {breaker2.breaker_c.s, breaker2.breaker_c.epsG * breaker2.breaker_c.s} ($RES_SIM_66) (148) [ARRY] (3) breaker1.v = breaker1.term_p.v - breaker1.term_n.v ($RES_SIM_106) (149) [SCAL] (1) breaker2.breaker_c.arcBreaker.i = if breaker2.breaker_c.arc then breaker2.breaker_c.s else 0.0 ($RES_SIM_67) (150) [ARRY] (3) meter.term_n.v = breaker1.term_p.v ($RES_SIM_180) (151) [ARRY] (3) breaker1.i_abc = transpose(breaker1.Park) * breaker1.i ($RES_SIM_107) (152) [SCAL] (1) breaker2.breaker_c.arcBreaker.d = if breaker2.breaker_c.opening then ((time - breaker2.breaker_c.t0) / breaker2.breaker_c.t_opening) ^ 2.0 * breaker2.breaker_c.D else breaker2.breaker_c.D ($RES_SIM_68) (153) [ARRY] (2) meter.term_n.theta = breaker1.term_p.theta ($RES_SIM_181) (154) [ARRY] (3) breaker1.v = breaker1.Park * breaker1.v_abc ($RES_SIM_108) (155) [SCAL] (1) breaker2.breaker_c.opening = $SEV_5 ($RES_SIM_69) (156) [FOR-] (3) ($RES_SIM_182) (156) [----] for $i1 in 1:3 loop (156) [----] [SCAL] (1) infBus1.term.i[$i1] + meter.term_p.i[$i1] = 0.0 ($RES_SIM_183) (156) [----] end for; (157) [SCAL] (1) breaker1.breaker_c.i = breaker1.i_abc[3] ($RES_SIM_109) (158) [ARRY] (9) $FUN_6 = diagonal({line.C, line.C, line.C0}) ($RES_$AUX_229) (159) [ARRY] (9) $FUN_7 = diagonal({line.L, line.L, line.L0}) ($RES_$AUX_228) (160) [ARRY] (3) infBus1.term.v = meter.term_p.v ($RES_SIM_184) (161) [SCAL] (1) $FUN_8 = tanh(breaker2.breaker_a.arcBreaker.r * breaker2.breaker_a.arcBreaker.i) ($RES_$AUX_227) (162) [ARRY] (2) infBus1.term.theta = meter.term_p.theta ($RES_SIM_185) (163) [SCAL] (1) $FUN_9 = tanh(breaker2.breaker_b.arcBreaker.r * breaker2.breaker_b.arcBreaker.i) ($RES_$AUX_226) (164) [ARRY] (3) relay2.y = breaker2.control ($RES_SIM_186) (165) [SCAL] (1) $FUN_10 = tanh(breaker2.breaker_c.arcBreaker.r * breaker2.breaker_c.arcBreaker.i) ($RES_$AUX_225) (166) [ARRY] (3) relay1.y = breaker1.control ($RES_SIM_187) (167) [SCAL] (1) $FUN_11 = cos(infBus2.phi) ($RES_$AUX_224) (168) [SCAL] (1) breaker2.control[3] = not breaker2.breaker_c.open ($RES_SIM_188) (169) [SCAL] (1) $FUN_12 = sin(infBus2.phi) ($RES_$AUX_223) (170) [SCAL] (1) breaker2.control[2] = not breaker2.breaker_b.open ($RES_SIM_189) (171) [SCAL] (1) meter.v_norm = sqrt(meter.v * meter.v) ($RES_$AUX_222) (172) [SCAL] (1) meter.alpha_v = atan2(meter.Rot_dq[:, 2] * meter.v[1:2], meter.Rot_dq[:, 1] * meter.v[1:2]) ($RES_$AUX_221) (173) [SCAL] (1) meter.i_norm = sqrt(meter.i * meter.i) ($RES_$AUX_220) (174) [WHEN] (1)when $TEV_6 then (174) [----] breaker2.breaker_c.t0 := time (174) [----] end when; (175) [SCAL] (1) breaker1.breaker_c.v = breaker1.v_abc[3] ($RES_SIM_110) (176) [WHEN] (1)when {$SEV_6, $SEV_7, not breaker2.breaker_c.open} then (176) [----] breaker2.breaker_c.arc := edge(breaker2.breaker_c.open) or breaker2.breaker_c.opening (176) [----] end when; (177) [SCAL] (1) breaker1.breaker_b.i = breaker1.i_abc[2] ($RES_SIM_111) (178) [SCAL] (1) breaker1.breaker_b.v = breaker1.v_abc[2] ($RES_SIM_112) (179) [SCAL] (1) breaker1.breaker_a.i = breaker1.i_abc[1] ($RES_SIM_113) (180) [SCAL] (1) breaker2.breaker_c.arcBreaker.v = breaker2.breaker_c.arcBreaker.E * breaker2.breaker_c.arcBreaker.d * $FUN_10 ($RES_SIM_74) (181) [SCAL] (1) breaker1.breaker_a.v = breaker1.v_abc[1] ($RES_SIM_114) (182) [ARRY] (2) {breaker2.breaker_b.v, breaker2.breaker_b.i} = if not breaker2.breaker_b.open then {breaker2.breaker_b.epsR * breaker2.breaker_b.s, breaker2.breaker_b.s} else if breaker2.breaker_b.arc then {breaker2.breaker_b.arcBreaker.v, breaker2.breaker_b.arcBreaker.i} else {breaker2.breaker_b.s, breaker2.breaker_b.epsG * breaker2.breaker_b.s} ($RES_SIM_75) (183) [ARRY] (2) {breaker1.breaker_c.v, breaker1.breaker_c.i} = if not breaker1.breaker_c.open then {breaker1.breaker_c.epsR * breaker1.breaker_c.s, breaker1.breaker_c.s} else if breaker1.breaker_c.arc then {breaker1.breaker_c.arcBreaker.v, breaker1.breaker_c.arcBreaker.i} else {breaker1.breaker_c.s, breaker1.breaker_c.epsG * breaker1.breaker_c.s} ($RES_SIM_115) (184) [SCAL] (1) breaker2.breaker_b.arcBreaker.i = if breaker2.breaker_b.arc then breaker2.breaker_b.s else 0.0 ($RES_SIM_76) (185) [SCAL] (1) breaker1.breaker_c.arcBreaker.i = if breaker1.breaker_c.arc then breaker1.breaker_c.s else 0.0 ($RES_SIM_116) (186) [SCAL] (1) breaker2.breaker_b.arcBreaker.d = if breaker2.breaker_b.opening then ((time - breaker2.breaker_b.t0) / breaker2.breaker_b.t_opening) ^ 2.0 * breaker2.breaker_b.D else breaker2.breaker_b.D ($RES_SIM_77) (187) [SCAL] (1) breaker2.control[1] = not breaker2.breaker_a.open ($RES_SIM_190) (188) [SCAL] (1) breaker1.breaker_c.arcBreaker.d = if breaker1.breaker_c.opening then ((time - breaker1.breaker_c.t0) / breaker1.breaker_c.t_opening) ^ 2.0 * breaker1.breaker_c.D else breaker1.breaker_c.D ($RES_SIM_117) (189) [SCAL] (1) breaker2.breaker_b.opening = $SEV_8 ($RES_SIM_78) (190) [SCAL] (1) breaker1.control[3] = not breaker1.breaker_c.open ($RES_SIM_191) (191) [SCAL] (1) breaker1.breaker_c.opening = $SEV_14 ($RES_SIM_118) (192) [WHEN] (1)when $TEV_7 then (192) [----] breaker2.breaker_b.t0 := time (192) [----] end when; (193) [SCAL] (1) breaker1.control[2] = not breaker1.breaker_b.open ($RES_SIM_192) (194) [WHEN] (1)when $TEV_9 then (194) [----] breaker1.breaker_c.t0 := time (194) [----] end when; (195) [SCAL] (1) meter.alpha_i = atan2(meter.Rot_dq[:, 2] * meter.i[1:2], meter.Rot_dq[:, 1] * meter.i[1:2]) ($RES_$AUX_219) (196) [SCAL] (1) breaker1.control[1] = not breaker1.breaker_a.open ($RES_SIM_193) (197) [SCAL] (1) meter.cos_phi = cos(meter.alpha_v - meter.alpha_i) ($RES_$AUX_218) (198) [ARRY] (4) $FUN_18 = PowerSystems.Examples.AC3ph.Transmission.FaultTline.meter.rot_dq(meter.term_p.theta[1]) ($RES_$AUX_217) (199) [SCAL] (1) $FUN_19 = sum(abc.term.theta) ($RES_$AUX_216) (200) [ARRY] (9) $FUN_20 = PowerSystems.Utilities.Transforms.park(abc.term.theta[2]) ($RES_$AUX_215) (201) [ARRY] (9) $FUN_21 = PowerSystems.Utilities.Transforms.park(breaker2.term_p.theta[2]) ($RES_$AUX_214) (202) [ARRY] (9) $FUN_22 = PowerSystems.Utilities.Transforms.park(breaker1.term_p.theta[2]) ($RES_$AUX_213)