Running: ./testmodel.py --libraries=/home/hudson/saved_omc/libraries/.openmodelica/libraries --ompython_omhome=/usr OpenIPSL_OpenIPSL.Tests.Wind.PSSE.WT4G.WT4E1.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/Modelica 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/OpenIPSL 3.0.1/package.mo", uses=false) Using package OpenIPSL with version 3.0.1 (/home/hudson/saved_omc/libraries/.openmodelica/libraries/OpenIPSL 3.0.1/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 Modelica with version 4.0.0 (/home/hudson/saved_omc/libraries/.openmodelica/libraries/Modelica 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(OpenIPSL.Tests.Wind.PSSE.WT4G.WT4E1,tolerance=1e-06,outputFormat="empty",numberOfIntervals=5000,variableFilter="",fileNamePrefix="OpenIPSL_OpenIPSL.Tests.Wind.PSSE.WT4G.WT4E1") translateModel(OpenIPSL.Tests.Wind.PSSE.WT4G.WT4E1,tolerance=1e-06,outputFormat="empty",numberOfIntervals=5000,variableFilter="",fileNamePrefix="OpenIPSL_OpenIPSL.Tests.Wind.PSSE.WT4G.WT4E1") Notification: Performance of loadFile(/home/hudson/saved_omc/libraries/.openmodelica/libraries/ModelicaServices 4.0.0+maint.om/package.mo): time 0.001126/0.001126, allocations: 116.2 kB / 16.42 MB, free: 6.492 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.338/1.338, allocations: 222.9 MB / 240.1 MB, free: 4.391 MB / 190.1 MB Notification: Performance of loadFile(/home/hudson/saved_omc/libraries/.openmodelica/libraries/Complex 4.0.0+maint.om/package.mo): time 0.001389/0.001389, allocations: 188.5 kB / 290.4 MB, free: 2.109 MB / 238.1 MB Notification: Performance of loadFile(/home/hudson/saved_omc/libraries/.openmodelica/libraries/OpenIPSL 3.0.1/package.mo): time 0.4396/0.4396, allocations: 78.54 MB / 419.1 MB, free: 3.172 MB / 286.1 MB Notification: Performance of FrontEnd - loaded program: time 0.001611/0.001611, allocations: 75.88 kB / 0.5543 GB, free: 0.9805 MB / 430.1 MB Notification: Performance of FrontEnd - Absyn->SCode: time 0.2867/0.2883, allocations: 68.17 MB / 0.6208 GB, free: 9.535 MB / 430.1 MB Notification: Performance of NFInst.instantiate(OpenIPSL.Tests.Wind.PSSE.WT4G.WT4E1): time 0.006369/0.2947, allocations: 8.152 MB / 0.6288 GB, free: 2.082 MB / 430.1 MB Notification: Performance of NFInst.instExpressions: time 0.003974/0.2987, allocations: 2.558 MB / 0.6313 GB, free: 15.52 MB / 446.1 MB Notification: Performance of NFInst.updateImplicitVariability: time 0.0007569/0.2995, allocations: 23.88 kB / 0.6313 GB, free: 15.49 MB / 446.1 MB Notification: Performance of NFTyping.typeComponents: time 0.000628/0.3001, allocations: 285.2 kB / 0.6316 GB, free: 15.21 MB / 446.1 MB Notification: Performance of NFTyping.typeBindings: time 0.001141/0.3013, allocations: 0.5392 MB / 0.6321 GB, free: 14.67 MB / 446.1 MB Notification: Performance of NFTyping.typeClassSections: time 0.002363/0.3037, allocations: 1.347 MB / 0.6334 GB, free: 13.33 MB / 446.1 MB Notification: Performance of NFFlatten.flatten: time 0.002146/0.3059, allocations: 2.359 MB / 0.6357 GB, free: 10.96 MB / 446.1 MB Notification: Performance of NFFlatten.resolveConnections: time 0.0008367/0.3067, allocations: 0.6726 MB / 0.6364 GB, free: 10.25 MB / 446.1 MB Notification: Performance of NFEvalConstants.evaluate: time 0.0009209/0.3076, allocations: 0.8987 MB / 0.6373 GB, free: 9.352 MB / 446.1 MB Notification: Performance of NFSimplifyModel.simplify: time 0.0009888/0.3086, allocations: 1.011 MB / 0.6383 GB, free: 8.332 MB / 446.1 MB Notification: Performance of NFPackage.collectConstants: time 0.0002872/0.3089, allocations: 228 kB / 0.6385 GB, free: 8.109 MB / 446.1 MB Notification: Performance of NFFlatten.collectFunctions: time 0.0004227/0.3094, allocations: 299.9 kB / 0.6388 GB, free: 7.816 MB / 446.1 MB Notification: Performance of NFScalarize.scalarize: time 0.0003621/0.3097, allocations: 498.1 kB / 0.6392 GB, free: 7.328 MB / 446.1 MB Notification: Performance of NFVerifyModel.verify: time 0.0007551/0.3105, allocations: 0.9985 MB / 0.6402 GB, free: 6.324 MB / 446.1 MB Notification: Performance of NFConvertDAE.convert: time 0.002272/0.3128, allocations: 2.719 MB / 0.6429 GB, free: 3.602 MB / 446.1 MB Notification: Performance of FrontEnd - DAE generated: time 3.787e-06/0.3128, allocations: 0 / 0.6429 GB, free: 3.602 MB / 446.1 MB Notification: Performance of FrontEnd: time 1.343e-06/0.3128, allocations: 0 / 0.6429 GB, free: 3.602 MB / 446.1 MB Notification: Performance of Transformations before backend: time 2.795e-05/0.3128, allocations: 0 / 0.6429 GB, free: 3.602 MB / 446.1 MB Notification: Model statistics after passing the front-end and creating the data structures used by the back-end: * Number of equations: 317 * Number of variables: 317 Notification: Performance of Generate backend data structure: time 0.007239/0.3201, allocations: 2.832 MB / 0.6456 GB, free: 0.7031 MB / 446.1 MB Notification: Performance of prepare preOptimizeDAE: time 3.864e-05/0.3201, allocations: 8.031 kB / 0.6456 GB, free: 0.6953 MB / 446.1 MB Notification: Performance of preOpt normalInlineFunction (simulation): time 0.002887/0.323, allocations: 0.5526 MB / 0.6462 GB, free: 144 kB / 446.1 MB Notification: Performance of preOpt evaluateParameters (simulation): time 0.001822/0.3248, allocations: 1.17 MB / 0.6473 GB, free: 14.92 MB / 462.1 MB Notification: Performance of preOpt simplifyIfEquations (simulation): time 0.0005748/0.3254, allocations: 0.5797 MB / 0.6479 GB, free: 14.24 MB / 462.1 MB Notification: Performance of preOpt expandDerOperator (simulation): time 0.0002088/0.3257, allocations: 139.9 kB / 0.648 GB, free: 14.1 MB / 462.1 MB Notification: Performance of preOpt clockPartitioning (simulation): time 0.003383/0.329, allocations: 1.692 MB / 0.6497 GB, free: 12.33 MB / 462.1 MB Notification: Performance of preOpt findStateOrder (simulation): time 2.379e-05/0.3291, allocations: 4 kB / 0.6497 GB, free: 12.32 MB / 462.1 MB Notification: Performance of preOpt replaceEdgeChange (simulation): time 0.000135/0.3292, allocations: 56 kB / 0.6497 GB, free: 12.27 MB / 462.1 MB Notification: Performance of preOpt inlineArrayEqn (simulation): time 2.89e-05/0.3293, allocations: 28 kB / 0.6498 GB, free: 12.24 MB / 462.1 MB Notification: Performance of preOpt removeEqualRHS (simulation): time 0.003313/0.3326, allocations: 1.418 MB / 0.6512 GB, free: 10.82 MB / 462.1 MB Warning: The model contains alias variables with redundant start and/or conflicting nominal values. It is recommended to resolve the conflicts, because otherwise the system could be hard to solve. To print the conflicting alias sets and the chosen candidates please use -d=aliasConflicts. Notification: Performance of preOpt removeSimpleEquations (simulation): time 0.009007/0.3416, allocations: 5.967 MB / 0.657 GB, free: 4.621 MB / 462.1 MB Notification: Performance of preOpt comSubExp (simulation): time 0.009889/0.3515, allocations: 3.081 MB / 0.66 GB, free: 1.438 MB / 462.1 MB Notification: Performance of preOpt resolveLoops (simulation): time 0.002041/0.3536, allocations: 0.8966 MB / 0.6609 GB, free: 0.5352 MB / 462.1 MB Notification: Performance of preOpt evalFunc (simulation): time 9.862e-05/0.3537, allocations: 33.05 kB / 0.6609 GB, free: 0.5 MB / 462.1 MB Notification: Performance of preOpt encapsulateWhenConditions (simulation): time 0.002194/0.3559, allocations: 0.9757 MB / 0.6618 GB, free: 15.5 MB / 478.1 MB Notification: Performance of pre-optimization done (n=121): time 3.266e-06/0.3559, allocations: 0 / 0.6618 GB, free: 15.5 MB / 478.1 MB Notification: Performance of matching and sorting (n=121): time 0.02155/0.3775, allocations: 5.653 MB / 0.6674 GB, free: 9.812 MB / 478.1 MB Notification: Performance of inlineWhenForInitialization (initialization): time 0.0001178/0.3776, allocations: 252.3 kB / 0.6676 GB, free: 9.512 MB / 478.1 MB Notification: Performance of selectInitializationVariablesDAE (initialization): time 0.002148/0.3798, allocations: 1.406 MB / 0.669 GB, free: 8.098 MB / 478.1 MB Notification: Performance of collectPreVariables (initialization): time 0.0002016/0.38, allocations: 53.7 kB / 0.669 GB, free: 8.039 MB / 478.1 MB Notification: Performance of collectInitialEqns (initialization): time 0.0005279/0.3805, allocations: 0.6741 MB / 0.6697 GB, free: 7.359 MB / 478.1 MB Notification: Performance of collectInitialBindings (initialization): time 0.0004782/0.381, allocations: 445.6 kB / 0.6701 GB, free: 6.918 MB / 478.1 MB Notification: Performance of simplifyInitialFunctions (initialization): time 0.0005358/0.3815, allocations: 343.4 kB / 0.6704 GB, free: 6.574 MB / 478.1 MB Notification: Performance of setup shared object (initialization): time 0.000102/0.3817, allocations: 301.1 kB / 0.6707 GB, free: 6.277 MB / 478.1 MB Notification: Performance of preBalanceInitialSystem (initialization): time 0.002153/0.3838, allocations: 0.8714 MB / 0.6716 GB, free: 5.402 MB / 478.1 MB Notification: Performance of partitionIndependentBlocks (initialization): time 0.002373/0.3862, allocations: 1.138 MB / 0.6727 GB, free: 4.184 MB / 478.1 MB Notification: Performance of analyzeInitialSystem (initialization): time 0.004358/0.3906, allocations: 1.922 MB / 0.6746 GB, free: 2.18 MB / 478.1 MB Notification: Performance of solveInitialSystemEqSystem (initialization): time 1.357e-05/0.3906, allocations: 7.938 kB / 0.6746 GB, free: 2.172 MB / 478.1 MB Warning: The linear system: 1 : -wT4E1.P = (-pwLine2.vs.re) * pwLine2.is.re - pwLine2.vs.im * pwLine2.is.im 2 : wT4E1.p0 = wT4E1.P 3 : $START.wT4E1.P = wT4E1.p0 [ 0.0 , 0.0 , -1.0 ; 0.0 , 1.0 , -1.0 ; 0.0 , -1.0 , 0.0 ] * [ $START.wT4E1.P ; wT4E1.p0 ; wT4E1.P ] = [ (-pwLine2.vs.im) * pwLine2.is.im - pwLine2.vs.re * pwLine2.is.re ; 0.0 ; 0.0 ] might be structurally or numerically singular for variable $START.wT4E1.P since U(1,1) = 0.0. It might be hard to solve. Compilation continues anyway. Notification: Performance of matching and sorting (n=227) (initialization): time 0.01376/0.4044, allocations: 4.448 MB / 0.6789 GB, free: 13.66 MB / 494.1 MB Notification: Performance of prepare postOptimizeDAE: time 6.047e-05/0.4044, allocations: 45.94 kB / 0.679 GB, free: 13.61 MB / 494.1 MB Notification: Performance of postOpt simplifyComplexFunction (initialization): time 1.417e-05/0.4045, allocations: 11.94 kB / 0.679 GB, free: 13.6 MB / 494.1 MB Notification: Performance of postOpt tearingSystem (initialization): time 0.005926/0.4104, allocations: 1.754 MB / 0.6807 GB, free: 11.83 MB / 494.1 MB Notification: Performance of postOpt solveSimpleEquations (initialization): time 0.001314/0.4117, allocations: 311.6 kB / 0.681 GB, free: 11.52 MB / 494.1 MB Error: Internal error IndexReduction.pantelidesIndexReduction failed! Found empty set of continuous equations. Use -d=bltdump to get more information. Error: Internal error Transformation Module PFPlusExt index Reduction Method Pantelides failed! Error: Internal error IndexReduction.pantelidesIndexReduction failed! Found empty set of continuous equations. Use -d=bltdump to get more information. Error: Internal error Transformation Module PFPlusExt index Reduction Method Pantelides failed! Notification: Performance of postOpt calculateStrongComponentJacobians (initialization): time 0.003028/0.4148, allocations: 1.506 MB / 0.6825 GB, free: 9.977 MB / 494.1 MB Notification: Performance of postOpt simplifyAllExpressions (initialization): time 0.001821/0.4166, allocations: 262.2 kB / 0.6827 GB, free: 9.719 MB / 494.1 MB Notification: Performance of postOpt collapseArrayExpressions (initialization): time 0.000176/0.4168, allocations: 67.98 kB / 0.6828 GB, free: 9.652 MB / 494.1 MB Notification: Performance of preBalanceInitialSystem (initialization_lambda0): time 0.002444/0.4192, allocations: 1.035 MB / 0.6838 GB, free: 8.613 MB / 494.1 MB Notification: Performance of partitionIndependentBlocks (initialization_lambda0): time 0.002166/0.4214, allocations: 1.064 MB / 0.6848 GB, free: 7.473 MB / 494.1 MB Notification: Performance of analyzeInitialSystem (initialization_lambda0): time 0.003828/0.4253, allocations: 1.793 MB / 0.6866 GB, free: 5.598 MB / 494.1 MB Notification: Performance of solveInitialSystemEqSystem (initialization_lambda0): time 1.077e-05/0.4253, allocations: 7.984 kB / 0.6866 GB, free: 5.59 MB / 494.1 MB Warning: The linear system: 1 : -wT4E1.P = (-pwLine2.vs.re) * pwLine2.is.re - pwLine2.vs.im * pwLine2.is.im 2 : wT4E1.p0 = wT4E1.P 3 : $START.wT4E1.P = wT4E1.p0 [ 0.0 , 0.0 , -1.0 ; 0.0 , 1.0 , -1.0 ; 0.0 , -1.0 , 0.0 ] * [ $START.wT4E1.P ; wT4E1.p0 ; wT4E1.P ] = [ (-pwLine2.vs.im) * pwLine2.is.im - pwLine2.vs.re * pwLine2.is.re ; 0.0 ; 0.0 ] might be structurally or numerically singular for variable $START.wT4E1.P since U(1,1) = 0.0. It might be hard to solve. Compilation continues anyway. Notification: Performance of matching and sorting (n=227) (initialization_lambda0): time 0.01254/0.4378, allocations: 4.231 MB / 0.6907 GB, free: 1.293 MB / 494.1 MB Notification: Performance of prepare postOptimizeDAE: time 4.498e-05/0.4379, allocations: 33.7 kB / 0.6907 GB, free: 1.254 MB / 494.1 MB Notification: Performance of postOpt simplifyComplexFunction (initialization): time 1.391e-05/0.4379, allocations: 11.98 kB / 0.6908 GB, free: 1.242 MB / 494.1 MB Notification: Performance of postOpt tearingSystem (initialization): time 0.005575/0.4435, allocations: 1.691 MB / 0.6924 GB, free: 15.54 MB / 0.4981 GB Notification: Performance of postOpt solveSimpleEquations (initialization): time 0.00122/0.4447, allocations: 299.5 kB / 0.6927 GB, free: 15.24 MB / 0.4981 GB Error: Internal error IndexReduction.pantelidesIndexReduction failed! System is structurally singular and cannot be handled because the number of unassigned equations is larger than the number of states. Use -d=bltdump to get more information. Error: Internal error Transformation Module PFPlusExt index Reduction Method Pantelides failed! Error: Internal error IndexReduction.pantelidesIndexReduction failed! Found empty set of continuous equations. Use -d=bltdump to get more information. Error: Internal error Transformation Module PFPlusExt index Reduction Method Pantelides failed! Notification: Performance of postOpt calculateStrongComponentJacobians (initialization): time 0.002849/0.4476, allocations: 1.477 MB / 0.6941 GB, free: 13.72 MB / 0.4981 GB Notification: Performance of postOpt simplifyAllExpressions (initialization): time 0.001687/0.4493, allocations: 218.7 kB / 0.6943 GB, free: 13.51 MB / 0.4981 GB Notification: Performance of postOpt collapseArrayExpressions (initialization): time 0.0001457/0.4494, allocations: 67.98 kB / 0.6944 GB, free: 13.44 MB / 0.4981 GB Notification: Model statistics after passing the back-end for initialization: * Number of independent subsystems: 23 * Number of states: 0 () * Number of discrete variables: 10 (wT4E1.integratorLimVar.Reinit,wT4E1.integratorLimVar.Falling,wT4E1.integratorLimVar.Rising,wT4E1.integratorLimVar.ReachLower,wT4E1.integratorLimVar.ReachUpper,$whenCondition1,wT4E1.windControlEmulator1.integrator.local_reset,wT4E1.activePowerController.K2.local_reset,wT4E1.K6.local_reset,wT4G1.K.local_reset) * Number of discrete states: 0 () * Number of clocked states: 0 () * Top-level inputs: 0 Notification: Strong component statistics for initialization (166): * Single equations (assignments): 164 * Array equations: 0 * Algorithm blocks: 0 * Record equations: 0 * When equations: 0 * If-equations: 0 * Equation systems (not torn): 0 * Torn equation systems: 2 * Mixed (continuous/discrete) equation systems: 0 Notification: Torn system details for strict tearing set: * Linear torn systems (#iteration vars, #inner vars, density): 1 system {(1,2,0.0%)} * Non-linear torn systems (#iteration vars, #inner vars): 1 system {(21,34)} Notification: Performance of prepare postOptimizeDAE: time 0.0004638/0.4499, allocations: 313.6 kB / 0.6947 GB, free: 13.12 MB / 0.4981 GB Notification: Performance of postOpt lateInlineFunction (simulation): time 0.000358/0.4503, allocations: 169.9 kB / 0.6949 GB, free: 12.95 MB / 0.4981 GB Notification: Performance of postOpt wrapFunctionCalls (simulation): time 0.00617/0.4565, allocations: 2.47 MB / 0.6973 GB, free: 10.46 MB / 0.4981 GB Notification: Performance of postOpt simplifysemiLinear (simulation): time 1.708e-05/0.4565, allocations: 11.92 kB / 0.6973 GB, free: 10.45 MB / 0.4981 GB Notification: Performance of postOpt simplifyComplexFunction (simulation): time 3.667e-06/0.4565, allocations: 0 / 0.6973 GB, free: 10.45 MB / 0.4981 GB Notification: Performance of postOpt removeConstants (simulation): time 0.000426/0.4569, allocations: 278.8 kB / 0.6976 GB, free: 10.15 MB / 0.4981 GB Notification: Performance of postOpt simplifyTimeIndepFuncCalls (simulation): time 0.000267/0.4572, allocations: 32 kB / 0.6976 GB, free: 10.12 MB / 0.4981 GB Notification: Performance of postOpt simplifyAllExpressions (simulation): time 0.001341/0.4586, allocations: 147.8 kB / 0.6977 GB, free: 9.977 MB / 0.4981 GB Notification: Performance of postOpt findZeroCrossings (simulation): time 0.0003427/0.4589, allocations: 144.8 kB / 0.6979 GB, free: 9.836 MB / 0.4981 GB [/var/lib/jenkins1/ws/OpenModelicaLibraryTestingWork/OpenModelica/OMCompiler/Compiler/BackEnd/DAEMode.mo:528:7-530:90:writable] Error: Internal error DAEMode.traverserStrongComponents failed on equation: 1/1 (1): wT4E1.WIQCMD = if wT4E1.integratorLimVar.ReachUpper then wT4E1.integratorLimVar.outMax else if wT4E1.integratorLimVar.ReachLower then wT4E1.integratorLimVar.outMin else wT4E1.integratorLimVar.w 2/2 (1): wT4G1.Iy = if abs(wT4G1.K1.T) <= 1e-15 then wT4E1.WIQCMD * wT4G1.K1.K else wT4G1.K1.state 3/3 (1): wT4G1.IyL = if wT4E1.V > wT4G1.hVRCL.VHVRCR then wT4G1.hVRCL.CurHVRCR else wT4G1.Iy 4/4 (1): -wT4G1.IyL = $cse4 * wT4G1.Is.re - $cse3 * wT4G1.Is.im 5/5 (1): $cse3 = cos(wT4G1.delta) 6/6 (1): wT4G1.delta = atan2(pwLine2.vs.im, pwLine2.vs.re) 7/7 (1): wT4E1.V = sqrt(pwLine2.vs.re ^ 2.0 + pwLine2.vs.im ^ 2.0) 8/8 (1): wT4E1.cCL.min5.u2 = (-1.6 + wT4E1.cCL.Qmax) * (-1.0 + wT4E1.V) + wT4E1.cCL.Qmax 9/9 (1): wT4E1.cCL.min2.u1 = min(wT4E1.cCL.const2.k, wT4E1.cCL.min5.u2) 10/10 (1): wT4E1.integratorLimVar.outMax = min(wT4E1.cCL.min2.u1, wT4E1.cCL.const3.k) 11/11 (1): wT4E1.integratorLimVar.outMin = wT4E1.cCL.gain.k * wT4E1.integratorLimVar.outMax 12/12 (6): algorithm wT4E1.integratorLimVar.initVar := $START.wT4E1.integratorLimVar.initVar; wT4E1.integratorLimVar.Reinit := pre(wT4E1.integratorLimVar.Reinit); wT4E1.integratorLimVar.ReachLower := pre(wT4E1.integratorLimVar.ReachLower); wT4E1.integratorLimVar.ReachUpper := pre(wT4E1.integratorLimVar.ReachUpper); wT4E1.integratorLimVar.Falling := pre(wT4E1.integratorLimVar.Falling); wT4E1.integratorLimVar.Rising := pre(wT4E1.integratorLimVar.Rising); if wT4E1.Vcl.y > 1e-15 then wT4E1.integratorLimVar.Rising := true; wT4E1.integratorLimVar.Falling := false; elseif wT4E1.Vcl.y < -1e-15 then wT4E1.integratorLimVar.Rising := false; wT4E1.integratorLimVar.Falling := true; else wT4E1.integratorLimVar.Rising := false; wT4E1.integratorLimVar.Falling := false; end if; if wT4E1.integratorLimVar.w > wT4E1.integratorLimVar.outMax then wT4E1.integratorLimVar.ReachUpper := true; wT4E1.integratorLimVar.ReachLower := false; elseif wT4E1.integratorLimVar.w < wT4E1.integratorLimVar.outMin then wT4E1.integratorLimVar.ReachLower := true; wT4E1.integratorLimVar.ReachUpper := false; else wT4E1.integratorLimVar.ReachUpper := false; wT4E1.integratorLimVar.ReachLower := false; end if; if wT4E1.integratorLimVar.ReachUpper and wT4E1.integratorLimVar.Falling then wT4E1.integratorLimVar.Reinit := true; wT4E1.integratorLimVar.initVar := wT4E1.integratorLimVar.outMax; elseif wT4E1.integratorLimVar.ReachLower and wT4E1.integratorLimVar.Rising then wT4E1.integratorLimVar.Reinit := true; wT4E1.integratorLimVar.initVar := wT4E1.integratorLimVar.outMin; end if; 13/18 (1): wT4E1.Vcl.y = wT4E1.K6.y - wT4E1.V 14/19 (1): wT4G1.lVPL.Vt = if abs(wT4G1.K2.T) <= 1e-15 then wT4E1.V * wT4G1.K2.K else wT4G1.K2.state 15/20 (1): wT4G1.lVPL.LVPL = if wT4G1.lVPL.Vt < wT4G1.lVPL.VLVPL1 then 0.0 else if wT4G1.lVPL.Vt > wT4G1.lVPL.VLVPL2 then 1e6 else wT4G1.lVPL.K * (wT4G1.lVPL.Vt - wT4G1.lVPL.VLVPL1) 16/21 (1): wT4G1.Iperr.u2 = smooth(0, if wT4G1.K.y > wT4G1.lVPL.LVPL then wT4G1.lVPL.LVPL else if wT4G1.K.y < wT4G1.const.k then wT4G1.const.k else wT4G1.K.y) 17/22 (1): wT4G1.IxL = if wT4E1.V < 0.4 then 0.0 else if wT4E1.V > 0.8 then wT4G1.Iperr.u2 else 1.25 * wT4G1.Iperr.u2 * wT4E1.V 18/23 (1): wT4G1.IxL = (-$cse3) * wT4G1.Is.re - $cse4 * wT4G1.Is.im 19/24 (1): wT4G1.Is.re = (-pwLine2.is.re) / wT4G1.CoB 20/25 (1): 0.0 = if time >= pwLine2.t1 and time < pwLine2.t2 then pwLine2.is.re else pwLine2.vs.re - pwLine2.vr.re - (pwLine2.Z.re * (pwLine2.is.re + pwLine2.vs.im * pwLine2.Y.im - pwLine2.vs.re * pwLine2.Y.re) - pwLine2.Z.im * (pwLine2.is.im + (-pwLine2.vs.re) * pwLine2.Y.im - pwLine2.vs.im * pwLine2.Y.re)) 21/26 (1): wT4G1.Is.im = (-pwLine2.is.im) / wT4G1.CoB 22/27 (1): 0.0 = if time >= pwLine2.t1 and time < pwLine2.t2 then pwLine2.is.im else pwLine2.vs.im - pwLine2.vr.im - (pwLine2.Z.re * (pwLine2.is.im + (-pwLine2.vs.re) * pwLine2.Y.im - pwLine2.vs.im * pwLine2.Y.re) + pwLine2.Z.im * (pwLine2.is.re + pwLine2.vs.im * pwLine2.Y.im - pwLine2.vs.re * pwLine2.Y.re)) 23/28 (1): 0.0 = if time >= pwLine2.t1 and time < pwLine2.t2 then pwLine2.ir.im else pwLine2.vr.im - pwLine2.vs.im - (pwLine2.Z.re * (pwLine2.ir.im + (-pwLine2.vr.re) * pwLine2.Y.im - pwLine2.vr.im * pwLine2.Y.re) + pwLine2.Z.im * (pwLine2.ir.re + pwLine2.vr.im * pwLine2.Y.im - pwLine2.vr.re * pwLine2.Y.re)) 24/29 (1): 0.0 = if time < pwFault.t1 then pwFault.p.ii else if time < pwFault.t2 and pwFault.ground then pwLine2.vr.re - 1e-10 else if time < pwFault.t2 then pwFault.p.ii - (pwFault.R * pwLine2.vr.im - pwFault.X * pwLine2.vr.re) / (pwFault.X ^ 2.0 + pwFault.R ^ 2.0) else pwFault.p.ii 25/30 (1): pwFault.p.ii + pwLine2.ir.im + pwLine1.is.im + pwLine.is.im = 0.0 26/31 (1): 0.0 = if time >= pwLine.t1 and time < pwLine.t2 then pwLine.is.re else pwLine2.vr.re - pwLine1.vr.re - (pwLine.Z.re * (pwLine.is.re + pwLine2.vr.im * pwLine.Y.im - pwLine2.vr.re * pwLine.Y.re) - pwLine.Z.im * (pwLine.is.im + (-pwLine2.vr.re) * pwLine.Y.im - pwLine2.vr.im * pwLine.Y.re)) 27/32 (1): 0.0 = if time < pwFault.t1 then pwFault.p.ir else if time < pwFault.t2 and pwFault.ground then pwLine2.vr.im else if time < pwFault.t2 then pwFault.p.ir - (pwFault.R * pwLine2.vr.re + pwFault.X * pwLine2.vr.im) / (pwFault.R ^ 2.0 + pwFault.X ^ 2.0) else pwFault.p.ir 28/33 (1): pwFault.p.ir + pwLine2.ir.re + pwLine1.is.re + pwLine.is.re = 0.0 29/34 (1): 0.0 = if time >= pwLine2.t1 and time < pwLine2.t2 then pwLine2.ir.re else pwLine2.vr.re - pwLine2.vs.re - (pwLine2.Z.re * (pwLine2.ir.re + pwLine2.vr.im * pwLine2.Y.im - pwLine2.vr.re * pwLine2.Y.re) - pwLine2.Z.im * (pwLine2.ir.im + (-pwLine2.vr.re) * pwLine2.Y.im - pwLine2.vr.im * pwLine2.Y.re)) 30/35 (1): 0.0 = if time >= pwLine1.t1 and time < pwLine1.t2 then pwLine1.is.re else pwLine2.vr.re - pwLine1.vr.re - (pwLine1.Z.re * (pwLine1.is.re + pwLine2.vr.im * pwLine1.Y.im - pwLine2.vr.re * pwLine1.Y.re) - pwLine1.Z.im * (pwLine1.is.im + (-pwLine2.vr.re) * pwLine1.Y.im - pwLine2.vr.im * pwLine1.Y.re)) 31/36 (1): 0.0 = if time >= pwLine1.t1 and time < pwLine1.t2 then pwLine1.is.im else pwLine2.vr.im - pwLine1.vr.im - (pwLine1.Z.re * (pwLine1.is.im + (-pwLine2.vr.re) * pwLine1.Y.im - pwLine2.vr.im * pwLine1.Y.re) + pwLine1.Z.im * (pwLine1.is.re + pwLine2.vr.im * pwLine1.Y.im - pwLine2.vr.re * pwLine1.Y.re)) 32/37 (1): 0.0 = if time >= pwLine1.t1 and time < pwLine1.t2 then pwLine1.ir.im else pwLine1.vr.im - pwLine2.vr.im - (pwLine1.Z.re * (pwLine1.ir.im + (-pwLine1.vr.re) * pwLine1.Y.im - pwLine1.vr.im * pwLine1.Y.re) + pwLine1.Z.im * (pwLine1.ir.re + pwLine1.vr.im * pwLine1.Y.im - pwLine1.vr.re * pwLine1.Y.re)) 33/38 (1): pwLine1.vr.re = $cse1 * gENCLS2_1.vd + $cse2 * gENCLS2_1.vq 34/39 (1): pwLine1.vr.im = $cse1 * gENCLS2_1.vq - $cse2 * gENCLS2_1.vd 35/40 (1): 0.0 = if time >= pwLine1.t1 and time < pwLine1.t2 then pwLine1.ir.re else pwLine1.vr.re - pwLine2.vr.re - (pwLine1.Z.re * (pwLine1.ir.re + pwLine1.vr.im * pwLine1.Y.im - pwLine1.vr.re * pwLine1.Y.re) - pwLine1.Z.im * (pwLine1.ir.im + (-pwLine1.vr.re) * pwLine1.Y.im - pwLine1.vr.im * pwLine1.Y.re)) 36/41 (1): gENCLS2_1.p.ir + pwLine1.ir.re + pwLine.ir.re = 0.0 37/42 (1): gENCLS2_1.p.ir = (-gENCLS2_1.CoB) * ($cse1 * gENCLS2_1.id + $cse2 * gENCLS2_1.iq) 38/43 (1): gENCLS2_1.p.ii = gENCLS2_1.CoB * ($cse2 * gENCLS2_1.id - $cse1 * gENCLS2_1.iq) 39/44 (1): gENCLS2_1.p.ii + pwLine1.ir.im + pwLine.ir.im = 0.0 40/45 (1): gENCLS2_1.vd = gENCLS2_1.X_d * gENCLS2_1.iq - gENCLS2_1.R_a * gENCLS2_1.id 41/46 (1): gENCLS2_1.vq = gENCLS2_1.eq + (-gENCLS2_1.R_a) * gENCLS2_1.iq - gENCLS2_1.X_d * gENCLS2_1.id 42/47 (1): 0.0 = if time >= pwLine.t1 and time < pwLine.t2 then pwLine.is.im else pwLine2.vr.im - pwLine1.vr.im - (pwLine.Z.re * (pwLine.is.im + (-pwLine2.vr.re) * pwLine.Y.im - pwLine2.vr.im * pwLine.Y.re) + pwLine.Z.im * (pwLine.is.re + pwLine2.vr.im * pwLine.Y.im - pwLine2.vr.re * pwLine.Y.re)) 43/48 (1): 0.0 = if time >= pwLine.t1 and time < pwLine.t2 then pwLine.ir.re else pwLine1.vr.re - pwLine2.vr.re - (pwLine.Z.re * (pwLine.ir.re + pwLine1.vr.im * pwLine.Y.im - pwLine1.vr.re * pwLine.Y.re) - pwLine.Z.im * (pwLine.ir.im + (-pwLine1.vr.re) * pwLine.Y.im - pwLine1.vr.im * pwLine.Y.re)) 44/49 (1): 0.0 = if time >= pwLine.t1 and time < pwLine.t2 then pwLine.ir.im else pwLine1.vr.im - pwLine2.vr.im - (pwLine.Z.re * (pwLine.ir.im + (-pwLine1.vr.re) * pwLine.Y.im - pwLine1.vr.im * pwLine.Y.re) + pwLine.Z.im * (pwLine.ir.re + pwLine1.vr.im * pwLine.Y.im - pwLine1.vr.re * pwLine.Y.re)) 45/50 (1): $cse4 = sin(wT4G1.delta) Variables: 1: $cse4:VARIABLE(protected = true ) type: Real unreplaceable 2: pwLine.ir.re:VARIABLE(start = 1e-15 ) "Real part of complex number" type: Real 3: pwLine.ir.im:VARIABLE(start = 1e-15 ) "Imaginary part of complex number" type: Real 4: pwLine.is.re:VARIABLE(start = 1e-15 ) "Real part of complex number" type: Real 5: gENCLS2_1.vq:VARIABLE(start = gENCLS2_1.vq0 unit = "1" ) "q-axis voltage" type: Real 6: gENCLS2_1.id:VARIABLE(start = gENCLS2_1.id0 unit = "1" ) "d-axis current" type: Real 7: pwLine1.ir.im:VARIABLE(start = 1e-15 ) "Imaginary part of complex number" type: Real 8: gENCLS2_1.p.ii:VARIABLE(flow=true start = gENCLS2_1.ii0 unit = "1" ) "Imaginary part of the current" type: Real 9: gENCLS2_1.iq:VARIABLE(start = gENCLS2_1.iq0 unit = "1" ) "q-axis current" type: Real 10: gENCLS2_1.p.ir:VARIABLE(flow=true start = gENCLS2_1.ir0 unit = "1" ) "Real part of the current" type: Real 11: pwLine1.ir.re:VARIABLE(start = 1e-15 ) "Real part of complex number" type: Real 12: pwLine1.vr.im:VARIABLE(start = gENCLS2_1.vi0 ) "Imaginary part of complex number" type: Real 13: gENCLS2_1.vd:VARIABLE(start = gENCLS2_1.vd0 unit = "1" ) "d-axis voltage" type: Real 14: pwLine1.vr.re:VARIABLE(start = gENCLS2_1.vr0 ) "Real part of complex number" type: Real 15: pwLine1.is.im:VARIABLE(start = 1e-15 ) "Imaginary part of complex number" type: Real 16: pwLine1.is.re:VARIABLE(start = 1e-15 ) "Real part of complex number" type: Real 17: pwLine2.ir.im:VARIABLE(start = 1e-15 ) "Imaginary part of complex number" type: Real 18: pwLine2.ir.re:VARIABLE(start = 1e-15 ) "Real part of complex number" type: Real 19: pwFault.p.ir:VARIABLE(flow=true start = 1e-15 unit = "1" ) "Real part of the current" type: Real 20: pwLine2.vr.im:VARIABLE(start = FAULT.v_0 * sin(FAULT.angle_0) ) "Imaginary part of complex number" type: Real 21: pwLine.is.im:VARIABLE(start = 1e-15 ) "Imaginary part of complex number" type: Real 22: pwFault.p.ii:VARIABLE(flow=true start = 1e-15 unit = "1" ) "Imaginary part of the current" type: Real 23: pwLine2.vr.re:VARIABLE(start = FAULT.v_0 * cos(FAULT.angle_0) ) "Real part of complex number" type: Real 24: pwLine2.vs.im:VARIABLE(start = wT4G1.vi0 ) "Imaginary part of complex number" type: Real 25: wT4G1.Is.im:VARIABLE() "Imaginary part of complex number" type: Real 26: pwLine2.is.im:VARIABLE(start = -wT4G1.ii1 ) "Imaginary part of complex number" type: Real 27: pwLine2.is.re:VARIABLE(start = -wT4G1.ir1 ) "Real part of complex number" type: Real 28: wT4G1.Is.re:VARIABLE() "Real part of complex number" type: Real 29: wT4G1.IxL:VARIABLE(flow=false start = wT4G1.Ix0 ) type: Real 30: wT4G1.Iperr.u2:VARIABLE(flow=false start = wT4G1.Ipcmd0 ) "Feedback input" type: Real 31: wT4G1.lVPL.LVPL:VARIABLE(flow=false ) type: Real 32: wT4G1.lVPL.Vt:VARIABLE(flow=false start = wT4G1.K2.y_start ) type: Real 33: wT4E1.Vcl.y:VARIABLE(flow=false ) type: Real 34: wT4E1.integratorLimVar.Falling:DISCRETE(protected = true ) "Flag to know if input is negative" type: Boolean 35: wT4E1.integratorLimVar.ReachLower:DISCRETE(protected = true ) "Flag for reaching lower limit" type: Boolean 36: wT4E1.integratorLimVar.outMin:VARIABLE(flow=false ) type: Real 37: wT4E1.integratorLimVar.outMax:VARIABLE(flow=false ) type: Real 38: wT4E1.cCL.min2.u1:VARIABLE(flow=false ) "Connector of Real input signal 1" type: Real 39: wT4E1.cCL.min5.u2:VARIABLE(flow=false ) "Connector of Real input signal 2" type: Real 40: wT4E1.V:VARIABLE(flow=false start = wT4E1.v0 ) type: Real 41: pwLine2.vs.re:VARIABLE(start = wT4G1.vr0 ) "Real part of complex number" type: Real 42: wT4G1.delta:VARIABLE(start = wT4G1.angle_0 unit = "rad" protected = true ) type: Real 43: $cse3:VARIABLE(protected = true ) type: Real unreplaceable 44: wT4G1.IyL:VARIABLE(flow=false start = wT4G1.Iy0 ) type: Real 45: wT4G1.Iy:VARIABLE(flow=false start = wT4G1.K1.y_start ) type: Real 46: wT4E1.WIQCMD:VARIABLE(flow=false start = wT4G1.Iy0 ) type: Real 47: wT4E1.integratorLimVar.ReachUpper:DISCRETE(protected = true ) "Flag for reaching upper limit" type: Boolean 48: wT4E1.integratorLimVar.initVar:VARIABLE(protected = true ) "Dummy variable to be used as setting quantity" type: Real 49: wT4E1.integratorLimVar.Rising:DISCRETE(protected = true ) "Flag to know if input is positive" type: Boolean 50: wT4E1.integratorLimVar.Reinit:DISCRETE(protected = true ) "Flag to reset state variable" type: Boolean [/var/lib/jenkins1/ws/OpenModelicaLibraryTestingWork/OpenModelica/OMCompiler/Compiler/BackEnd/BackendDAEUtil.mo:9805:5-9806:77:writable] Error: Internal error BackendDAEUtil.traverseEqSystemStrongComponents failed with function: omc_DAEMode_traverserStrongComponents Notification: Performance of postOpt createDAEmodeBDAE (simulation): time 0.00328/0.4622, allocations: 3.397 MB / 0.7012 GB, free: 5.906 MB / 0.4981 GB Error: post-optimization module createDAEmodeBDAE (simulation) failed. Error: Internal error SimCode DAEmode: The model OpenIPSL.Tests.Wind.PSSE.WT4G.WT4E1 could not be translated