Running: ./testmodel.py --libraries=/home/hudson/saved_omc/libraries/.openmodelica/libraries --ompython_omhome=/usr IndustrialControlSystems_IndustrialControlSystems.Controllers.AutoTuning.Examples.Test_ATPIrelayNCdigital.conf.json loadFile("/home/hudson/saved_omc/libraries/.openmodelica/libraries/ModelicaServices 4.0.0+maint.om/package.mo", uses=false) [Timeout 180] "Notification: Performance of loadFile(/home/hudson/saved_omc/libraries/.openmodelica/libraries/ModelicaServices 4.0.0+maint.om/package.mo): time 0.001405/0.001405, allocations: 112.7 kB / 18.34 MB, free: 3.961 MB / 14.72 MB " [Timeout remaining time 180] loadFile("/home/hudson/saved_omc/libraries/.openmodelica/libraries/Complex 4.0.0+maint.om/package.mo", uses=false) [Timeout 180] "Notification: Performance of loadFile(/home/hudson/saved_omc/libraries/.openmodelica/libraries/Complex 4.0.0+maint.om/package.mo): time 0.001322/0.001322, allocations: 190 kB / 21.52 MB, free: 0.7969 MB / 14.72 MB " [Timeout remaining time 180] loadFile("/home/hudson/saved_omc/libraries/.openmodelica/libraries/Modelica 4.0.0+maint.om/package.mo", uses=false) [Timeout 180] "Notification: Performance of loadFile(/home/hudson/saved_omc/libraries/.openmodelica/libraries/Modelica 4.0.0+maint.om/package.mo): time 1.463/1.463, allocations: 225.6 MB / 250.1 MB, free: 13.52 MB / 206.1 MB " [Timeout remaining time 178] loadFile("/home/hudson/saved_omc/libraries/.openmodelica/libraries/IndustrialControlSystems 2.0.0/package.mo", uses=false) [Timeout 180] "Notification: Performance of loadFile(/home/hudson/saved_omc/libraries/.openmodelica/libraries/IndustrialControlSystems 2.0.0/package.mo): time 0.06447/0.06447, allocations: 11.32 MB / 316.6 MB, free: 14.21 MB / 254.1 MB " [Timeout remaining time 180] Using package IndustrialControlSystems with version 2.0.0 (/home/hudson/saved_omc/libraries/.openmodelica/libraries/IndustrialControlSystems 2.0.0/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(IndustrialControlSystems.Controllers.AutoTuning.Examples.Test_ATPIrelayNCdigital,tolerance=1e-06,outputFormat="empty",numberOfIntervals=2500,variableFilter="",fileNamePrefix="IndustrialControlSystems_IndustrialControlSystems.Controllers.AutoTuning.Examples.Test_ATPIrelayNCdigital") translateModel(IndustrialControlSystems.Controllers.AutoTuning.Examples.Test_ATPIrelayNCdigital,tolerance=1e-06,outputFormat="empty",numberOfIntervals=2500,variableFilter="",fileNamePrefix="IndustrialControlSystems_IndustrialControlSystems.Controllers.AutoTuning.Examples.Test_ATPIrelayNCdigital") [Timeout 660] "Notification: Performance of FrontEnd - Absyn->SCode: time 1.85e-05/1.85e-05, allocations: 2.281 kB / 441.3 MB, free: 7.805 MB / 302.1 MB Notification: Performance of NFInst.instantiate(IndustrialControlSystems.Controllers.AutoTuning.Examples.Test_ATPIrelayNCdigital): time 0.003445/0.003463, allocations: 3.262 MB / 444.6 MB, free: 4.516 MB / 302.1 MB Notification: Performance of NFInst.instExpressions: time 0.001798/0.005262, allocations: 1.339 MB / 445.9 MB, free: 3.172 MB / 302.1 MB Notification: Performance of NFInst.updateImplicitVariability: time 0.0001931/0.005455, allocations: 15.88 kB / 445.9 MB, free: 3.156 MB / 302.1 MB Notification: Performance of NFTyping.typeComponents: time 0.0006031/0.006058, allocations: 230.6 kB / 446.1 MB, free: 2.93 MB / 302.1 MB Notification: Performance of NFTyping.typeBindings: time 0.0003353/0.006393, allocations: 162.6 kB / 446.3 MB, free: 2.773 MB / 302.1 MB Notification: Performance of NFTyping.typeClassSections: time 0.0008867/0.00728, allocations: 0.5418 MB / 446.8 MB, free: 2.23 MB / 302.1 MB Notification: Performance of NFFlatten.flatten: time 0.0008356/0.008116, allocations: 1.296 MB / 448.1 MB, free: 0.9336 MB / 302.1 MB Notification: Performance of NFFlatten.resolveConnections: time 0.0002081/0.008324, allocations: 96.89 kB / 448.2 MB, free: 0.8281 MB / 302.1 MB Notification: Performance of NFEvalConstants.evaluate: time 0.0004135/0.008737, allocations: 0.5219 MB / 448.8 MB, free: 312 kB / 302.1 MB Notification: Performance of NFSimplifyModel.simplify: time 0.0003855/0.009123, allocations: 410.2 kB / 449.2 MB, free: 15.9 MB / 318.1 MB Notification: Performance of NFPackage.collectConstants: time 0.0001265/0.009249, allocations: 80 kB / 449.2 MB, free: 15.82 MB / 318.1 MB Notification: Performance of NFFlatten.collectFunctions: time 0.0002339/0.009483, allocations: 127.9 kB / 449.4 MB, free: 15.7 MB / 318.1 MB Notification: Performance of combineBinaries: time 0.001117/0.0106, allocations: 1.353 MB / 450.7 MB, free: 14.33 MB / 318.1 MB Notification: Performance of replaceArrayConstructors: time 0.0005073/0.01111, allocations: 0.7504 MB / 451.5 MB, free: 13.57 MB / 318.1 MB Notification: Performance of NFVerifyModel.verify: time 0.0002357/0.01134, allocations: 188.1 kB / 451.6 MB, free: 13.39 MB / 318.1 MB Notification: Performance of FrontEnd: time 8.919e-05/0.01143, allocations: 39.73 kB / 451.7 MB, free: 13.35 MB / 318.1 MB Notification: Model statistics after passing the front-end and creating the data structures used by the back-end: * Number of equations: 171 (105) * Number of variables: 171 (141) Notification: Performance of Bindings: time 0.002915/0.01435, allocations: 2.741 MB / 454.4 MB, free: 10.45 MB / 318.1 MB Notification: Performance of FunctionAlias: time 0.0004039/0.01475, allocations: 329.8 kB / 454.7 MB, free: 10.12 MB / 318.1 MB Notification: Performance of Early Inline: time 0.002061/0.01681, allocations: 1.714 MB / 456.5 MB, free: 8.383 MB / 318.1 MB Notification: Performance of Simplify 1: time 0.0007156/0.01753, allocations: 0.5703 MB / 457 MB, free: 7.785 MB / 318.1 MB Notification: Performance of Alias: time 0.003025/0.02055, allocations: 2.176 MB / 459.2 MB, free: 5.312 MB / 318.1 MB Notification: Performance of Simplify 2: time 0.0006029/0.02116, allocations: 0.4914 MB / 459.7 MB, free: 4.793 MB / 318.1 MB Notification: Performance of Remove Stream: time 0.0005104/0.02167, allocations: 475.3 kB / 460.2 MB, free: 4.301 MB / 318.1 MB Notification: Performance of Detect States: time 0.001094/0.02276, allocations: 0.7925 MB / 461 MB, free: 3.469 MB / 318.1 MB Notification: Performance of Events: time 0.0008764/0.02364, allocations: 0.5954 MB / 461.6 MB, free: 2.852 MB / 318.1 MB Notification: Performance of Partitioning: time 0.001367/0.025, allocations: 1.038 MB / 462.6 MB, free: 1.793 MB / 318.1 MB Error: Internal error NBResolveSingularities.noIndexReduction failed. (6|9) Unmatched Variables *************************** [DER-] (3) Real[3] $DER.ProcessPm70.U slice: {0} [DER-] (3) Real[3] $DER.ProcessPm45.U slice: {0} [DER-] (4) Real[4] $DER.ProcessPm60.Y slice: {0, 1} [DER-] (3) Real[3] $DER.ProcessPm60.U slice: {0} [DER-] (4) Real[4] $DER.ProcessPm45.Y slice: {0, 1} [DER-] (4) Real[4] $DER.ProcessPm70.Y slice: {0, 1} (9|9) Unmatched Equations *************************** [SCAL] (1) ProcessPm70.Y[2] = ProcessPm70.w ($RES_SIM_12) [SCAL] (1) ProcessPm60.Y[2] = ProcessPm60.w ($RES_SIM_39) [FOR-] (3) ($RES_SIM_120) [----] for $f3 in 1:3 loop [----] [SCAL] (1) ProcessPm70.a[(1:3)[$f3]] = 0.0 ($RES_SIM_121) [----] end for; slice: {2} [SCAL] (1) sum.u2 = Disturb.offset + (if $TEV_1 then 0.0 else Disturb.height) ($RES_SIM_59) [SCAL] (1) ProcessPm45.Y[2] = ProcessPm45.w ($RES_SIM_67) [FOR-] (3) ($RES_SIM_69) [----] for $i1 in 1:3 loop [----] [SCAL] (1) ProcessPm45.c[$i1] = ProcessPm45.a[1 + $i1] - ProcessPm45.A * ProcessPm45.b[1 + $i1] ($RES_SIM_70) [----] end for; slice: {2} [ALGO] (34) ($RES_SIM_3) [----] assert(true, \"This is a discrete time controller, Ts MUST be >0\", AssertionLevel.error); [----] when initial() then [----] ControllerPm45.iMode := 0; [----] ControllerPm45.K := 0.2; [----] ControllerPm45.TI := 2.0; [----] end when; [----] $SEV_2 := ControllerPm70.at_req == true; [----] when $SEV_2 then [----] ControllerPm45.iMode := 1; [----] end when; [----] $SEV_16 := (ControllerPm45.period > 0.0 and ControllerPm45.nOx >= ControllerPm45.nOxMin) and abs(ControllerPm45.period - $PRE.ControllerPm45.period) / ControllerPm45.period < 0.01 * ControllerPm45.permOxPeriodPerc; [----] $SEV_15 := ControllerPm45.UP == true and $PRE.ControllerPm45.UP == false; [----] $SEV_14 := ControllerPm45.CS < ControllerPm45.rCSmin; [----] $SEV_13 := ControllerPm45.CS > ControllerPm45.rCSmax; [----] $SEV_12 := ProcessPm45.y < ControllerPm45.rPVmin; [----] $SEV_11 := ProcessPm45.y > ControllerPm45.rPVmax; [----] $SEV_10 := ControllerPm45.UP == true; [----] $SEV_9 := ControllerPm45.UP == true and ProcessPm45.y > ControllerPm45.SP; [----] $SEV_8 := ControllerPm45.UP == false and ProcessPm45.y <= ControllerPm45.SP; [----] $SEV_7 := $PRE.ControllerPm45.iMode == 0; [----] $SEV_6 := ControllerPm45.iMode == 1; [----] $SEV_5 := ControllerPm45.CS < 0.0; [----] $SEV_4 := ControllerPm45.CS > 1.0; [----] $TEV_3 := $PRE.ControllerPm45.CSi; [----] $SEV_3 := ControllerPm45.iMode == 0; [----] $TEV_2 := sample(3, 0.0, 0.1); [----] when $TEV_2 then [----] ControllerPm45.e := ControllerPm45.SP - ProcessPm45.y; [----] if $SEV_3 then [----] ControllerPm45.CSp := ControllerPm45.K * ControllerPm45.e; [----] ControllerPm45.CSi := $TEV_3 + ((0.1 * ControllerPm45.K) / ControllerPm45.TI) * ControllerPm45.e; [----] ControllerPm45.CS := ControllerPm45.CSi + ControllerPm45.CSp; [----] if $SEV_4 then [----] ControllerPm45.CS := 1.0; [----] end if; [----] if $SEV_5 then [----] ControllerPm45.CS := 0.0; [----] end if; [----] ControllerPm45.CSi := ControllerPm45.CS - ControllerPm45.CSp; [----] end if; [----] if $SEV_6 then [----] if $SEV_7 then [----] ControllerPm45.wox := 0.0; [----] ControllerPm45.Pox := 0.0; [----] ControllerPm45.rPVmax := ProcessPm45.y; [----] ControllerPm45.rPVmin := ProcessPm45.y; [----] ControllerPm45.rCSmax := ControllerPm45.CS; [----] ControllerPm45.rCSmin := ControllerPm45.CS; [----] ControllerPm45.lastToggleUp := time; [----] ControllerPm45.nOx := 0; [----] end if; [----] if $SEV_8 then [----] ControllerPm45.UP := true; [----] end if; [----] if $SEV_9 then [----] ControllerPm45.UP := false; [----] end if; [----] if $SEV_10 then [----] ControllerPm45.CS := ControllerPm45.CS + 0.1 * ControllerPm45.slope; [----] elseif true then [----] ControllerPm45.CS := ControllerPm45.CS - 0.1 * ControllerPm45.slope; [----] end if; [----] if $SEV_11 then [----] ControllerPm45.rPVmax := ProcessPm45.y; [----] end if; [----] if $SEV_12 then [----] ControllerPm45.rPVmin := ProcessPm45.y; [----] end if; [----] if $SEV_13 then [----] ControllerPm45.rCSmax := ControllerPm45.CS; [----] end if; [----] if $SEV_14 then [----] ControllerPm45.rCSmin := ControllerPm45.CS; [----] end if; [----] if $SEV_15 then [----] ControllerPm45.period := time - ControllerPm45.lastToggleUp; [----] ControllerPm45.lastToggleUp := time; [----] if $SEV_16 then [----] ControllerPm45.iMode := 0; [----] ControllerPm45.wox := 6.283185307179586 / ControllerPm45.period; [----] ControllerPm45.Pox := (1.2337005501361697 * (ControllerPm45.rPVmax - ControllerPm45.rPVmin)) / (ControllerPm45.rCSmax - ControllerPm45.rCSmin); [----] ControllerPm45.TI := tan(3.141592653589793 * (0.005555555555555556 * ControllerPm45.pm)) / ControllerPm45.wox; [----] ControllerPm45.K := tan(3.141592653589793 * (0.005555555555555556 * ControllerPm45.pm)) / (sqrt(1.0 + tan(ControllerPm45.pm / 180.0 * 3.141592653589793) ^ 2.0) * ControllerPm45.Pox); [----] ControllerPm45.CSi := ControllerPm45.CS - ((0.1 * ControllerPm45.K) / ControllerPm45.TI) * ControllerPm45.e; [----] end if; [----] ControllerPm45.rPVmax := ProcessPm45.y; [----] ControllerPm45.rPVmin := ProcessPm45.y; [----] ControllerPm45.rCSmax := ControllerPm45.CS; [----] ControllerPm45.rCSmin := ControllerPm45.CS; [----] ControllerPm45.nOx := 1 + ControllerPm45.nOx; [----] end if; [----] end if; [----] end when; slice: {33} [FOR-] (3) ($RES_SIM_118) [----] for $f2 in 1:3 loop [----] [SCAL] (1) ProcessPm60.a[(1:3)[$f2]] = 0.0 ($RES_SIM_119) [----] end for; slice: {2} [ALGO] (34) ($RES_SIM_1) [----] assert(true, \"This is a discrete time controller, Ts MUST be >0\", AssertionLevel.error); [----] when initial() then [----] ControllerPm70.iMode := 0; [----] ControllerPm70.K := 0.2; [----] ControllerPm70.TI := 2.0; [----] end when; [----] $SEV_32 := ControllerPm70.at_req == true; [----] when $SEV_32 then [----] ControllerPm70.iMode := 1; [----] end when; [----] $SEV_46 := (ControllerPm70.period > 0.0 and ControllerPm70.nOx >= ControllerPm70.nOxMin) and abs(ControllerPm70.period - $PRE.ControllerPm70.period) / ControllerPm70.period < 0.01 * ControllerPm70.permOxPeriodPerc; [----] $SEV_45 := ControllerPm70.UP == true and $PRE.ControllerPm70.UP == false; [----] $SEV_44 := ControllerPm70.CS < ControllerPm70.rCSmin; [----] $SEV_43 := ControllerPm70.CS > ControllerPm70.rCSmax; [----] $SEV_42 := ProcessPm70.y < ControllerPm70.rPVmin; [----] $SEV_41 := ProcessPm70.y > ControllerPm70.rPVmax; [----] $SEV_40 := ControllerPm70.UP == true; [----] $SEV_39 := ControllerPm70.UP == true and ProcessPm70.y > ControllerPm45.SP; [----] $SEV_38 := ControllerPm70.UP == false and ProcessPm70.y <= ControllerPm45.SP; [----] $SEV_37 := $PRE.ControllerPm70.iMode == 0; [----] $SEV_36 := ControllerPm70.iMode == 1; [----] $SEV_35 := ControllerPm70.CS < 0.0; [----] $SEV_34 := ControllerPm70.CS > 1.0; [----] $TEV_7 := $PRE.ControllerPm70.CSi; [----] $SEV_33 := ControllerPm70.iMode == 0; [----] $TEV_6 := sample(5, 0.0, 0.1); [----] when $TEV_6 then [----] ControllerPm70.e := ControllerPm45.SP - ProcessPm70.y; [----] if $SEV_33 then [----] ControllerPm70.CSp := ControllerPm70.K * ControllerPm70.e; [----] ControllerPm70.CSi := $TEV_7 + ((0.1 * ControllerPm70.K) / ControllerPm70.TI) * ControllerPm70.e; [----] ControllerPm70.CS := ControllerPm70.CSi + ControllerPm70.CSp; [----] if $SEV_34 then [----] ControllerPm70.CS := 1.0; [----] end if; [----] if $SEV_35 then [----] ControllerPm70.CS := 0.0; [----] end if; [----] ControllerPm70.CSi := ControllerPm70.CS - ControllerPm70.CSp; [----] end if; [----] if $SEV_36 then [----] if $SEV_37 then [----] ControllerPm70.wox := 0.0; [----] ControllerPm70.Pox := 0.0; [----] ControllerPm70.rPVmax := ProcessPm70.y; [----] ControllerPm70.rPVmin := ProcessPm70.y; [----] ControllerPm70.rCSmax := ControllerPm70.CS; [----] ControllerPm70.rCSmin := ControllerPm70.CS; [----] ControllerPm70.lastToggleUp := time; [----] ControllerPm70.nOx := 0; [----] end if; [----] if $SEV_38 then [----] ControllerPm70.UP := true; [----] end if; [----] if $SEV_39 then [----] ControllerPm70.UP := false; [----] end if; [----] if $SEV_40 then [----] ControllerPm70.CS := ControllerPm70.CS + 0.1 * ControllerPm70.slope; [----] elseif true then [----] ControllerPm70.CS := ControllerPm70.CS - 0.1 * ControllerPm70.slope; [----] end if; [----] if $SEV_41 then [----] ControllerPm70.rPVmax := ProcessPm70.y; [----] end if; [----] if $SEV_42 then [----] ControllerPm70.rPVmin := ProcessPm70.y; [----] end if; [----] if $SEV_43 then [----] ControllerPm70.rCSmax := ControllerPm70.CS; [----] end if; [----] if $SEV_44 then [----] ControllerPm70.rCSmin := ControllerPm70.CS; [----] end if; [----] if $SEV_45 then [----] ControllerPm70.period := time - ControllerPm70.lastToggleUp; [----] ControllerPm70.lastToggleUp := time; [----] if $SEV_46 then [----] ControllerPm70.iMode := 0; [----] ControllerPm70.wox := 6.283185307179586 / ControllerPm70.period; [----] ControllerPm70.Pox := (1.2337005501361697 * (ControllerPm70.rPVmax - ControllerPm70.rPVmin)) / (ControllerPm70.rCSmax - ControllerPm70.rCSmin); [----] ControllerPm70.TI := tan(3.141592653589793 * (0.005555555555555556 * ControllerPm70.pm)) / ControllerPm70.wox; [----] ControllerPm70.K := tan(3.141592653589793 * (0.005555555555555556 * ControllerPm70.pm)) / (sqrt(1.0 + tan(ControllerPm70.pm / 180.0 * 3.141592653589793) ^ 2.0) * ControllerPm70.Pox); [----] ControllerPm70.CSi := ControllerPm70.CS - ((0.1 * ControllerPm70.K) / ControllerPm70.TI) * ControllerPm70.e; [----] end if; [----] ControllerPm70.rPVmax := ProcessPm70.y; [----] ControllerPm70.rPVmin := ProcessPm70.y; [----] ControllerPm70.rCSmax := ControllerPm70.CS; [----] ControllerPm70.rCSmin := ControllerPm70.CS; [----] ControllerPm70.nOx := 1 + ControllerPm70.nOx; [----] end if; [----] end if; [----] end when; slice: {33} " [Timeout remaining time 660] [Calling sys.exit(0), Time elapsed: 2.532770486548543]