Running: ./testmodel.py --libraries=/home/hudson/saved_omc/libraries/.openmodelica/libraries/ --ompython_omhome=/usr Buildings_8_Buildings.Controls.OBC.CDL.Logical.Sources.Validation.PulsePositiveStartTime.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 3.2.3+maint.om/package.mo", uses=false) loadFile("/home/hudson/saved_omc/libraries/.openmodelica/libraries/Buildings 8.1.4-maint.8.1.x/package.mo", uses=false) Using package Buildings with version 8.1.4 (/home/hudson/saved_omc/libraries/.openmodelica/libraries/Buildings 8.1.4-maint.8.1.x/package.mo) Using package Modelica with version 3.2.3 (/home/hudson/saved_omc/libraries/.openmodelica/libraries/Modelica 3.2.3+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(Buildings.Controls.OBC.CDL.Logical.Sources.Validation.PulsePositiveStartTime,tolerance=1e-06,outputFormat="empty",numberOfIntervals=5000,variableFilter="",fileNamePrefix="Buildings_8_Buildings.Controls.OBC.CDL.Logical.Sources.Validation.PulsePositiveStartTime") translateModel(Buildings.Controls.OBC.CDL.Logical.Sources.Validation.PulsePositiveStartTime,tolerance=1e-06,outputFormat="empty",numberOfIntervals=5000,variableFilter="",fileNamePrefix="Buildings_8_Buildings.Controls.OBC.CDL.Logical.Sources.Validation.PulsePositiveStartTime") Notification: Performance of loadFile(/home/hudson/saved_omc/libraries/.openmodelica/libraries/ModelicaServices 4.0.0+maint.om/package.mo): time 0.001049/0.001049, allocations: 112.6 kB / 16.38 MB, free: 6 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.001038/0.001038, allocations: 187.9 kB / 17.31 MB, free: 5.621 MB / 14.72 MB Notification: Performance of loadFile(/home/hudson/saved_omc/libraries/.openmodelica/libraries/Modelica 3.2.3+maint.om/package.mo): time 1.54/1.54, allocations: 205.1 MB / 223.2 MB, free: 12.29 MB / 190.1 MB Notification: Performance of loadFile(/home/hudson/saved_omc/libraries/.openmodelica/libraries/Buildings 8.1.4-maint.8.1.x/package.mo): time 1.863/1.863, allocations: 292.3 MB / 0.5496 GB, free: 17.54 MB / 462.1 MB Notification: Performance of FrontEnd - Absyn->SCode: time 3.907e-05/3.926e-05, allocations: 2.281 kB / 0.6729 GB, free: 5.844 MB / 0.545 GB Notification: Performance of NFInst.instantiate(Buildings.Controls.OBC.CDL.Logical.Sources.Validation.PulsePositiveStartTime): time 0.002765/0.00282, allocations: 1.179 MB / 0.674 GB, free: 4.664 MB / 0.545 GB Notification: Performance of NFInst.instExpressions: time 0.003893/0.006729, allocations: 2.178 MB / 0.6762 GB, free: 2.469 MB / 0.545 GB Notification: Performance of NFInst.updateImplicitVariability: time 0.0003716/0.007127, allocations: 0 / 0.6762 GB, free: 2.469 MB / 0.545 GB Notification: Performance of NFTyping.typeComponents: time 0.0001071/0.00725, allocations: 23.67 kB / 0.6762 GB, free: 2.445 MB / 0.545 GB Notification: Performance of NFTyping.typeBindings: time 0.0005068/0.007765, allocations: 83.27 kB / 0.6763 GB, free: 2.363 MB / 0.545 GB Notification: Performance of NFTyping.typeClassSections: time 0.004097/0.01196, allocations: 1.401 MB / 0.6776 GB, free: 1.004 MB / 0.545 GB Notification: Performance of NFFlatten.flatten: time 0.002267/0.01423, allocations: 1.326 MB / 0.6789 GB, free: 15.68 MB / 0.5606 GB Notification: Performance of NFFlatten.resolveConnections: time 0.0001523/0.0144, allocations: 20.69 kB / 0.6789 GB, free: 15.66 MB / 0.5606 GB Notification: Performance of NFEvalConstants.evaluate: time 0.001119/0.01553, allocations: 475.2 kB / 0.6794 GB, free: 15.19 MB / 0.5606 GB Notification: Performance of NFSimplifyModel.simplify: time 0.0008749/0.01642, allocations: 434.8 kB / 0.6798 GB, free: 14.77 MB / 0.5606 GB Notification: Performance of NFPackage.collectConstants: time 0.0004751/0.0169, allocations: 116 kB / 0.6799 GB, free: 14.65 MB / 0.5606 GB Notification: Performance of NFFlatten.collectFunctions: time 0.0003165/0.01723, allocations: 123.9 kB / 0.68 GB, free: 14.53 MB / 0.5606 GB Notification: Performance of combineBinaries: time 0.0007351/0.01797, allocations: 0.811 MB / 0.6808 GB, free: 13.71 MB / 0.5606 GB Notification: Performance of replaceArrayConstructors: time 0.0001613/0.01814, allocations: 272 kB / 0.6811 GB, free: 13.45 MB / 0.5606 GB Notification: Performance of NFVerifyModel.verify: time 0.0002123/0.01836, allocations: 95.88 kB / 0.6812 GB, free: 13.35 MB / 0.5606 GB Notification: Performance of FrontEnd: time 7.011e-05/0.01844, allocations: 11.94 kB / 0.6812 GB, free: 13.34 MB / 0.5606 GB Notification: Model statistics after passing the front-end and creating the data structures used by the back-end: * Number of equations: 15 (15) * Number of variables: 15 (15) Notification: Performance of Bindings: time 0.00286/0.02131, allocations: 2.613 MB / 0.6838 GB, free: 10.62 MB / 0.5606 GB Notification: Performance of FunctionAlias: time 0.0006152/0.02193, allocations: 0.5041 MB / 0.6842 GB, free: 10.11 MB / 0.5606 GB Notification: Performance of Early Inline: time 0.003094/0.02504, allocations: 3.068 MB / 0.6872 GB, free: 7.016 MB / 0.5606 GB Notification: Performance of simplify1: time 4.924e-05/0.0251, allocations: 35.92 kB / 0.6873 GB, free: 6.98 MB / 0.5606 GB Notification: Performance of Alias: time 0.0001627/0.02527, allocations: 149.4 kB / 0.6874 GB, free: 6.793 MB / 0.5606 GB Notification: Performance of simplify2: time 3.242e-05/0.02531, allocations: 35.94 kB / 0.6875 GB, free: 6.758 MB / 0.5606 GB Notification: Performance of Events: time 0.003013/0.02833, allocations: 2.215 MB / 0.6896 GB, free: 4.527 MB / 0.5606 GB Notification: Performance of Detect States: time 0.00207/0.03042, allocations: 1.809 MB / 0.6914 GB, free: 2.699 MB / 0.5606 GB Notification: Performance of Partitioning: time 0.0003671/0.0308, allocations: 313.5 kB / 0.6917 GB, free: 2.277 MB / 0.5606 GB Notification: Performance of Causalize: time 0.001357/0.03216, allocations: 1.233 MB / 0.6929 GB, free: 0.9336 MB / 0.5606 GB Notification: Performance of After Index Reduction Inline: time 0.002727/0.0349, allocations: 2.495 MB / 0.6953 GB, free: 14.41 MB / 0.5762 GB Notification: Performance of Inline: time 0.003697/0.03861, allocations: 3.535 MB / 0.6988 GB, free: 10.84 MB / 0.5762 GB Notification: Performance of Partitioning: time 0.0001063/0.03874, allocations: 87.55 kB / 0.6989 GB, free: 10.75 MB / 0.5762 GB Notification: Performance of Cleanup: time 9.488e-05/0.03884, allocations: 67.83 kB / 0.6989 GB, free: 10.68 MB / 0.5762 GB Warning: NBResolveSingularities.balanceInitialization reports an overdetermined initialization! Checking for consistency is not yet supported, following equations had to be removed: [ALGO] (3) ($RES_SIM_0) [----] booPul_c5.t0 := if $FUN_15 + booPul_c5.period * integer(time / booPul_c5.period) > 0.0 then 1e-6 * floor(0.5 + 1e6 * ($FUN_15 + booPul_c5.period * integer(time / booPul_c5.period))) else 1e-6 * ceil((-0.5) + 1e6 * ($FUN_15 + booPul_c5.period * integer(time / booPul_c5.period))); [----] booPul_c5.t1 := booPul_c5.t0 + booPul_c5.width * booPul_c5.period; [----] if time + booPul_c5.period < booPul_c5.t1 then [----] booPul_c5.t0 := booPul_c5.t0 - booPul_c5.period; [----] booPul_c5.t1 := booPul_c5.t1 - booPul_c5.period; [----] end if; [----] if time >= booPul_c5.t1 then [----] booPul_c5.t0 := booPul_c5.t0 + booPul_c5.period; [----] elseif time < booPul_c5.t0 then [----] booPul_c5.t1 := booPul_c5.t1 - booPul_c5.period; [----] end if; [----] if booPul_c5.t0 < booPul_c5.t1 then [----] assert(booPul_c5.t0 <= time and time < booPul_c5.t1, "PulsePositiveStartTime.booPul_c5: Implementation error in initial time calculation: t0 = " + String(booPul_c5.t0, 6, 0, true) + ", t1 = " + String(booPul_c5.t1, 6, 0, true) + ", period = " + String(booPul_c5.period, 6, 0, true) + ", time = " + String(time, 6, 0, true), AssertionLevel.error); [----] booPul_c5.y := time >= booPul_c5.t0 and time < booPul_c5.t1; [----] elseif true then [----] assert(booPul_c5.t1 <= time and time < booPul_c5.t0, "PulsePositiveStartTime.booPul_c5: Implementation error in initial time calculation: t0 = " + String(booPul_c5.t0, 6, 0, true) + ", t1 = " + String(booPul_c5.t1, 6, 0, true) + ", period = " + String(booPul_c5.period, 6, 0, true) + ", time = " + String(time, 6, 0, true), AssertionLevel.error); [----] booPul_c5.y := not (time >= booPul_c5.t1 and time < booPul_c5.t0); [----] end if; slice: {1, 2}; [ALGO] (3) ($RES_SIM_1) [----] booPul_b5.t0 := if $FUN_14 + booPul_b5.period * integer(time / booPul_b5.period) > 0.0 then 1e-6 * floor(0.5 + 1e6 * ($FUN_14 + booPul_b5.period * integer(time / booPul_b5.period))) else 1e-6 * ceil((-0.5) + 1e6 * ($FUN_14 + booPul_b5.period * integer(time / booPul_b5.period))); [----] booPul_b5.t1 := booPul_b5.t0 + booPul_b5.width * booPul_b5.period; [----] if time + booPul_b5.period < booPul_b5.t1 then [----] booPul_b5.t0 := booPul_b5.t0 - booPul_b5.period; [----] booPul_b5.t1 := booPul_b5.t1 - booPul_b5.period; [----] end if; [----] if time >= booPul_b5.t1 then [----] booPul_b5.t0 := booPul_b5.t0 + booPul_b5.period; [----] elseif time < booPul_b5.t0 then [----] booPul_b5.t1 := booPul_b5.t1 - booPul_b5.period; [----] end if; [----] if booPul_b5.t0 < booPul_b5.t1 then [----] assert(booPul_b5.t0 <= time and time < booPul_b5.t1, "PulsePositiveStartTime.booPul_b5: Implementation error in initial time calculation: t0 = " + String(booPul_b5.t0, 6, 0, true) + ", t1 = " + String(booPul_b5.t1, 6, 0, true) + ", period = " + String(booPul_b5.period, 6, 0, true) + ", time = " + String(time, 6, 0, true), AssertionLevel.error); [----] booPul_b5.y := time >= booPul_b5.t0 and time < booPul_b5.t1; [----] elseif true then [----] assert(booPul_b5.t1 <= time and time < booPul_b5.t0, "PulsePositiveStartTime.booPul_b5: Implementation error in initial time calculation: t0 = " + String(booPul_b5.t0, 6, 0, true) + ", t1 = " + String(booPul_b5.t1, 6, 0, true) + ", period = " + String(booPul_b5.period, 6, 0, true) + ", time = " + String(time, 6, 0, true), AssertionLevel.error); [----] booPul_b5.y := not (time >= booPul_b5.t1 and time < booPul_b5.t0); [----] end if; slice: {1, 2}; [ALGO] (3) ($RES_SIM_2) [----] booPul_a5.t0 := if $FUN_13 + booPul_a5.period * integer(time / booPul_a5.period) > 0.0 then 1e-6 * floor(0.5 + 1e6 * ($FUN_13 + booPul_a5.period * integer(time / booPul_a5.period))) else 1e-6 * ceil((-0.5) + 1e6 * ($FUN_13 + booPul_a5.period * integer(time / booPul_a5.period))); [----] booPul_a5.t1 := booPul_a5.t0 + booPul_a5.width * booPul_a5.period; [----] if time + booPul_a5.period < booPul_a5.t1 then [----] booPul_a5.t0 := booPul_a5.t0 - booPul_a5.period; [----] booPul_a5.t1 := booPul_a5.t1 - booPul_a5.period; [----] end if; [----] if time >= booPul_a5.t1 then [----] booPul_a5.t0 := booPul_a5.t0 + booPul_a5.period; [----] elseif time < booPul_a5.t0 then [----] booPul_a5.t1 := booPul_a5.t1 - booPul_a5.period; [----] end if; [----] if booPul_a5.t0 < booPul_a5.t1 then [----] assert(booPul_a5.t0 <= time and time < booPul_a5.t1, "PulsePositiveStartTime.booPul_a5: Implementation error in initial time calculation: t0 = " + String(booPul_a5.t0, 6, 0, true) + ", t1 = " + String(booPul_a5.t1, 6, 0, true) + ", period = " + String(booPul_a5.period, 6, 0, true) + ", time = " + String(time, 6, 0, true), AssertionLevel.error); [----] booPul_a5.y := time >= booPul_a5.t0 and time < booPul_a5.t1; [----] elseif true then [----] assert(booPul_a5.t1 <= time and time < booPul_a5.t0, "PulsePositiveStartTime.booPul_a5: Implementation error in initial time calculation: t0 = " + String(booPul_a5.t0, 6, 0, true) + ", t1 = " + String(booPul_a5.t1, 6, 0, true) + ", period = " + String(booPul_a5.period, 6, 0, true) + ", time = " + String(time, 6, 0, true), AssertionLevel.error); [----] booPul_a5.y := not (time >= booPul_a5.t1 and time < booPul_a5.t0); [----] end if; slice: {1, 2}; [ALGO] (3) ($RES_SIM_3) [----] booPul_c4.t0 := if $FUN_12 + booPul_c4.period * integer(time / booPul_c4.period) > 0.0 then 1e-6 * floor(0.5 + 1e6 * ($FUN_12 + booPul_c4.period * integer(time / booPul_c4.period))) else 1e-6 * ceil((-0.5) + 1e6 * ($FUN_12 + booPul_c4.period * integer(time / booPul_c4.period))); [----] booPul_c4.t1 := booPul_c4.t0 + booPul_c4.width * booPul_c4.period; [----] if time + booPul_c4.period < booPul_c4.t1 then [----] booPul_c4.t0 := booPul_c4.t0 - booPul_c4.period; [----] booPul_c4.t1 := booPul_c4.t1 - booPul_c4.period; [----] end if; [----] if time >= booPul_c4.t1 then [----] booPul_c4.t0 := booPul_c4.t0 + booPul_c4.period; [----] elseif time < booPul_c4.t0 then [----] booPul_c4.t1 := booPul_c4.t1 - booPul_c4.period; [----] end if; [----] if booPul_c4.t0 < booPul_c4.t1 then [----] assert(booPul_c4.t0 <= time and time < booPul_c4.t1, "PulsePositiveStartTime.booPul_c4: Implementation error in initial time calculation: t0 = " + String(booPul_c4.t0, 6, 0, true) + ", t1 = " + String(booPul_c4.t1, 6, 0, true) + ", period = " + String(booPul_c4.period, 6, 0, true) + ", time = " + String(time, 6, 0, true), AssertionLevel.error); [----] booPul_c4.y := time >= booPul_c4.t0 and time < booPul_c4.t1; [----] elseif true then [----] assert(booPul_c4.t1 <= time and time < booPul_c4.t0, "PulsePositiveStartTime.booPul_c4: Implementation error in initial time calculation: t0 = " + String(booPul_c4.t0, 6, 0, true) + ", t1 = " + String(booPul_c4.t1, 6, 0, true) + ", period = " + String(booPul_c4.period, 6, 0, true) + ", time = " + String(time, 6, 0, true), AssertionLevel.error); [----] booPul_c4.y := not (time >= booPul_c4.t1 and time < booPul_c4.t0); [----] end if; slice: {1, 2}; [ALGO] (3) ($RES_SIM_4) [----] booPul_b4.t0 := if $FUN_11 + booPul_b4.period * integer(time / booPul_b4.period) > 0.0 then 1e-6 * floor(0.5 + 1e6 * ($FUN_11 + booPul_b4.period * integer(time / booPul_b4.period))) else 1e-6 * ceil((-0.5) + 1e6 * ($FUN_11 + booPul_b4.period * integer(time / booPul_b4.period))); [----] booPul_b4.t1 := booPul_b4.t0 + booPul_b4.width * booPul_b4.period; [----] if time + booPul_b4.period < booPul_b4.t1 then [----] booPul_b4.t0 := booPul_b4.t0 - booPul_b4.period; [----] booPul_b4.t1 := booPul_b4.t1 - booPul_b4.period; [----] end if; [----] if time >= booPul_b4.t1 then [----] booPul_b4.t0 := booPul_b4.t0 + booPul_b4.period; [----] elseif time < booPul_b4.t0 then [----] booPul_b4.t1 := booPul_b4.t1 - booPul_b4.period; [----] end if; [----] if booPul_b4.t0 < booPul_b4.t1 then [----] assert(booPul_b4.t0 <= time and time < booPul_b4.t1, "PulsePositiveStartTime.booPul_b4: Implementation error in initial time calculation: t0 = " + String(booPul_b4.t0, 6, 0, true) + ", t1 = " + String(booPul_b4.t1, 6, 0, true) + ", period = " + String(booPul_b4.period, 6, 0, true) + ", time = " + String(time, 6, 0, true), AssertionLevel.error); [----] booPul_b4.y := time >= booPul_b4.t0 and time < booPul_b4.t1; [----] elseif true then [----] assert(booPul_b4.t1 <= time and time < booPul_b4.t0, "PulsePositiveStartTime.booPul_b4: Implementation error in initial time calculation: t0 = " + String(booPul_b4.t0, 6, 0, true) + ", t1 = " + String(booPul_b4.t1, 6, 0, true) + ", period = " + String(booPul_b4.period, 6, 0, true) + ", time = " + String(time, 6, 0, true), AssertionLevel.error); [----] booPul_b4.y := not (time >= booPul_b4.t1 and time < booPul_b4.t0); [----] end if; slice: {1, 2}; [ALGO] (3) ($RES_SIM_5) [----] booPul_a4.t0 := if $FUN_10 + booPul_a4.period * integer(time / booPul_a4.period) > 0.0 then 1e-6 * floor(0.5 + 1e6 * ($FUN_10 + booPul_a4.period * integer(time / booPul_a4.period))) else 1e-6 * ceil((-0.5) + 1e6 * ($FUN_10 + booPul_a4.period * integer(time / booPul_a4.period))); [----] booPul_a4.t1 := booPul_a4.t0 + booPul_a4.width * booPul_a4.period; [----] if time + booPul_a4.period < booPul_a4.t1 then [----] booPul_a4.t0 := booPul_a4.t0 - booPul_a4.period; [----] booPul_a4.t1 := booPul_a4.t1 - booPul_a4.period; [----] end if; [----] if time >= booPul_a4.t1 then [----] booPul_a4.t0 := booPul_a4.t0 + booPul_a4.period; [----] elseif time < booPul_a4.t0 then [----] booPul_a4.t1 := booPul_a4.t1 - booPul_a4.period; [----] end if; [----] if booPul_a4.t0 < booPul_a4.t1 then [----] assert(booPul_a4.t0 <= time and time < booPul_a4.t1, "PulsePositiveStartTime.booPul_a4: Implementation error in initial time calculation: t0 = " + String(booPul_a4.t0, 6, 0, true) + ", t1 = " + String(booPul_a4.t1, 6, 0, true) + ", period = " + String(booPul_a4.period, 6, 0, true) + ", time = " + String(time, 6, 0, true), AssertionLevel.error); [----] booPul_a4.y := time >= booPul_a4.t0 and time < booPul_a4.t1; [----] elseif true then [----] assert(booPul_a4.t1 <= time and time < booPul_a4.t0, "PulsePositiveStartTime.booPul_a4: Implementation error in initial time calculation: t0 = " + String(booPul_a4.t0, 6, 0, true) + ", t1 = " + String(booPul_a4.t1, 6, 0, true) + ", period = " + String(booPul_a4.period, 6, 0, true) + ", time = " + String(time, 6, 0, true), AssertionLevel.error); [----] booPul_a4.y := not (time >= booPul_a4.t1 and time < booPul_a4.t0); [----] end if; slice: {1, 2}; [ALGO] (3) ($RES_SIM_6) [----] booPul_c3.t0 := if $FUN_9 + booPul_c3.period * integer(time / booPul_c3.period) > 0.0 then 1e-6 * floor(0.5 + 1e6 * ($FUN_9 + booPul_c3.period * integer(time / booPul_c3.period))) else 1e-6 * ceil((-0.5) + 1e6 * ($FUN_9 + booPul_c3.period * integer(time / booPul_c3.period))); [----] booPul_c3.t1 := booPul_c3.t0 + booPul_c3.width * booPul_c3.period; [----] if time + booPul_c3.period < booPul_c3.t1 then [----] booPul_c3.t0 := booPul_c3.t0 - booPul_c3.period; [----] booPul_c3.t1 := booPul_c3.t1 - booPul_c3.period; [----] end if; [----] if time >= booPul_c3.t1 then [----] booPul_c3.t0 := booPul_c3.t0 + booPul_c3.period; [----] elseif time < booPul_c3.t0 then [----] booPul_c3.t1 := booPul_c3.t1 - booPul_c3.period; [----] end if; [----] if booPul_c3.t0 < booPul_c3.t1 then [----] assert(booPul_c3.t0 <= time and time < booPul_c3.t1, "PulsePositiveStartTime.booPul_c3: Implementation error in initial time calculation: t0 = " + String(booPul_c3.t0, 6, 0, true) + ", t1 = " + String(booPul_c3.t1, 6, 0, true) + ", period = " + String(booPul_c3.period, 6, 0, true) + ", time = " + String(time, 6, 0, true), AssertionLevel.error); [----] booPul_c3.y := time >= booPul_c3.t0 and time < booPul_c3.t1; [----] elseif true then [----] assert(booPul_c3.t1 <= time and time < booPul_c3.t0, "PulsePositiveStartTime.booPul_c3: Implementation error in initial time calculation: t0 = " + String(booPul_c3.t0, 6, 0, true) + ", t1 = " + String(booPul_c3.t1, 6, 0, true) + ", period = " + String(booPul_c3.period, 6, 0, true) + ", time = " + String(time, 6, 0, true), AssertionLevel.error); [----] booPul_c3.y := not (time >= booPul_c3.t1 and time < booPul_c3.t0); [----] end if; slice: {1, 2}; [ALGO] (3) ($RES_SIM_7) [----] booPul_b3.t0 := if $FUN_8 + booPul_b3.period * integer(time / booPul_b3.period) > 0.0 then 1e-6 * floor(0.5 + 1e6 * ($FUN_8 + booPul_b3.period * integer(time / booPul_b3.period))) else 1e-6 * ceil((-0.5) + 1e6 * ($FUN_8 + booPul_b3.period * integer(time / booPul_b3.period))); [----] booPul_b3.t1 := booPul_b3.t0 + booPul_b3.width * booPul_b3.period; [----] if time + booPul_b3.period < booPul_b3.t1 then [----] booPul_b3.t0 := booPul_b3.t0 - booPul_b3.period; [----] booPul_b3.t1 := booPul_b3.t1 - booPul_b3.period; [----] end if; [----] if time >= booPul_b3.t1 then [----] booPul_b3.t0 := booPul_b3.t0 + booPul_b3.period; [----] elseif time < booPul_b3.t0 then [----] booPul_b3.t1 := booPul_b3.t1 - booPul_b3.period; [----] end if; [----] if booPul_b3.t0 < booPul_b3.t1 then [----] assert(booPul_b3.t0 <= time and time < booPul_b3.t1, "PulsePositiveStartTime.booPul_b3: Implementation error in initial time calculation: t0 = " + String(booPul_b3.t0, 6, 0, true) + ", t1 = " + String(booPul_b3.t1, 6, 0, true) + ", period = " + String(booPul_b3.period, 6, 0, true) + ", time = " + String(time, 6, 0, true), AssertionLevel.error); [----] booPul_b3.y := time >= booPul_b3.t0 and time < booPul_b3.t1; [----] elseif true then [----] assert(booPul_b3.t1 <= time and time < booPul_b3.t0, "PulsePositiveStartTime.booPul_b3: Implementation error in initial time calculation: t0 = " + String(booPul_b3.t0, 6, 0, true) + ", t1 = " + String(booPul_b3.t1, 6, 0, true) + ", period = " + String(booPul_b3.period, 6, 0, true) + ", time = " + String(time, 6, 0, true), AssertionLevel.error); [----] booPul_b3.y := not (time >= booPul_b3.t1 and time < booPul_b3.t0); [----] end if; slice: {1, 2}; [ALGO] (3) ($RES_SIM_8) [----] booPul_a3.t0 := if $FUN_7 + booPul_a3.period * integer(time / booPul_a3.period) > 0.0 then 1e-6 * floor(0.5 + 1e6 * ($FUN_7 + booPul_a3.period * integer(time / booPul_a3.period))) else 1e-6 * ceil((-0.5) + 1e6 * ($FUN_7 + booPul_a3.period * integer(time / booPul_a3.period))); [----] booPul_a3.t1 := booPul_a3.t0 + booPul_a3.width * booPul_a3.period; [----] if time + booPul_a3.period < booPul_a3.t1 then [----] booPul_a3.t0 := booPul_a3.t0 - booPul_a3.period; [----] booPul_a3.t1 := booPul_a3.t1 - booPul_a3.period; [----] end if; [----] if time >= booPul_a3.t1 then [----] booPul_a3.t0 := booPul_a3.t0 + booPul_a3.period; [----] elseif time < booPul_a3.t0 then [----] booPul_a3.t1 := booPul_a3.t1 - booPul_a3.period; [----] end if; [----] if booPul_a3.t0 < booPul_a3.t1 then [----] assert(booPul_a3.t0 <= time and time < booPul_a3.t1, "PulsePositiveStartTime.booPul_a3: Implementation error in initial time calculation: t0 = " + String(booPul_a3.t0, 6, 0, true) + ", t1 = " + String(booPul_a3.t1, 6, 0, true) + ", period = " + String(booPul_a3.period, 6, 0, true) + ", time = " + String(time, 6, 0, true), AssertionLevel.error); [----] booPul_a3.y := time >= booPul_a3.t0 and time < booPul_a3.t1; [----] elseif true then [----] assert(booPul_a3.t1 <= time and time < booPul_a3.t0, "PulsePositiveStartTime.booPul_a3: Implementation error in initial time calculation: t0 = " + String(booPul_a3.t0, 6, 0, true) + ", t1 = " + String(booPul_a3.t1, 6, 0, true) + ", period = " + String(booPul_a3.period, 6, 0, true) + ", time = " + String(time, 6, 0, true), AssertionLevel.error); [----] booPul_a3.y := not (time >= booPul_a3.t1 and time < booPul_a3.t0); [----] end if; slice: {1, 2}; [ALGO] (3) ($RES_SIM_9) [----] booPul_c2.t0 := if $FUN_6 + booPul_c2.period * integer(time / booPul_c2.period) > 0.0 then 1e-6 * floor(0.5 + 1e6 * ($FUN_6 + booPul_c2.period * integer(time / booPul_c2.period))) else 1e-6 * ceil((-0.5) + 1e6 * ($FUN_6 + booPul_c2.period * integer(time / booPul_c2.period))); [----] booPul_c2.t1 := booPul_c2.t0 + booPul_c2.width * booPul_c2.period; [----] if time + booPul_c2.period < booPul_c2.t1 then [----] booPul_c2.t0 := booPul_c2.t0 - booPul_c2.period; [----] booPul_c2.t1 := booPul_c2.t1 - booPul_c2.period; [----] end if; [----] if time >= booPul_c2.t1 then [----] booPul_c2.t0 := booPul_c2.t0 + booPul_c2.period; [----] elseif time < booPul_c2.t0 then [----] booPul_c2.t1 := booPul_c2.t1 - booPul_c2.period; [----] end if; [----] if booPul_c2.t0 < booPul_c2.t1 then [----] assert(booPul_c2.t0 <= time and time < booPul_c2.t1, "PulsePositiveStartTime.booPul_c2: Implementation error in initial time calculation: t0 = " + String(booPul_c2.t0, 6, 0, true) + ", t1 = " + String(booPul_c2.t1, 6, 0, true) + ", period = " + String(booPul_c2.period, 6, 0, true) + ", time = " + String(time, 6, 0, true), AssertionLevel.error); [----] booPul_c2.y := time >= booPul_c2.t0 and time < booPul_c2.t1; [----] elseif true then [----] assert(booPul_c2.t1 <= time and time < booPul_c2.t0, "PulsePositiveStartTime.booPul_c2: Implementation error in initial time calculation: t0 = " + String(booPul_c2.t0, 6, 0, true) + ", t1 = " + String(booPul_c2.t1, 6, 0, true) + ", period = " + String(booPul_c2.period, 6, 0, true) + ", time = " + String(time, 6, 0, true), AssertionLevel.error); [----] booPul_c2.y := not (time >= booPul_c2.t1 and time < booPul_c2.t0); [----] end if; slice: {1, 2}; [ALGO] (3) ($RES_SIM_10) [----] booPul_b2.t0 := if $FUN_5 + booPul_b2.period * integer(time / booPul_b2.period) > 0.0 then 1e-6 * floor(0.5 + 1e6 * ($FUN_5 + booPul_b2.period * integer(time / booPul_b2.period))) else 1e-6 * ceil((-0.5) + 1e6 * ($FUN_5 + booPul_b2.period * integer(time / booPul_b2.period))); [----] booPul_b2.t1 := booPul_b2.t0 + booPul_b2.width * booPul_b2.period; [----] if time + booPul_b2.period < booPul_b2.t1 then [----] booPul_b2.t0 := booPul_b2.t0 - booPul_b2.period; [----] booPul_b2.t1 := booPul_b2.t1 - booPul_b2.period; [----] end if; [----] if time >= booPul_b2.t1 then [----] booPul_b2.t0 := booPul_b2.t0 + booPul_b2.period; [----] elseif time < booPul_b2.t0 then [----] booPul_b2.t1 := booPul_b2.t1 - booPul_b2.period; [----] end if; [----] if booPul_b2.t0 < booPul_b2.t1 then [----] assert(booPul_b2.t0 <= time and time < booPul_b2.t1, "PulsePositiveStartTime.booPul_b2: Implementation error in initial time calculation: t0 = " + String(booPul_b2.t0, 6, 0, true) + ", t1 = " + String(booPul_b2.t1, 6, 0, true) + ", period = " + String(booPul_b2.period, 6, 0, true) + ", time = " + String(time, 6, 0, true), AssertionLevel.error); [----] booPul_b2.y := time >= booPul_b2.t0 and time < booPul_b2.t1; [----] elseif true then [----] assert(booPul_b2.t1 <= time and time < booPul_b2.t0, "PulsePositiveStartTime.booPul_b2: Implementation error in initial time calculation: t0 = " + String(booPul_b2.t0, 6, 0, true) + ", t1 = " + String(booPul_b2.t1, 6, 0, true) + ", period = " + String(booPul_b2.period, 6, 0, true) + ", time = " + String(time, 6, 0, true), AssertionLevel.error); [----] booPul_b2.y := not (time >= booPul_b2.t1 and time < booPul_b2.t0); [----] end if; slice: {1, 2}; [ALGO] (3) ($RES_SIM_11) [----] booPul_a2.t0 := if $FUN_4 + booPul_a2.period * integer(time / booPul_a2.period) > 0.0 then 1e-6 * floor(0.5 + 1e6 * ($FUN_4 + booPul_a2.period * integer(time / booPul_a2.period))) else 1e-6 * ceil((-0.5) + 1e6 * ($FUN_4 + booPul_a2.period * integer(time / booPul_a2.period))); [----] booPul_a2.t1 := booPul_a2.t0 + booPul_a2.width * booPul_a2.period; [----] if time + booPul_a2.period < booPul_a2.t1 then [----] booPul_a2.t0 := booPul_a2.t0 - booPul_a2.period; [----] booPul_a2.t1 := booPul_a2.t1 - booPul_a2.period; [----] end if; [----] if time >= booPul_a2.t1 then [----] booPul_a2.t0 := booPul_a2.t0 + booPul_a2.period; [----] elseif time < booPul_a2.t0 then [----] booPul_a2.t1 := booPul_a2.t1 - booPul_a2.period; [----] end if; [----] if booPul_a2.t0 < booPul_a2.t1 then [----] assert(booPul_a2.t0 <= time and time < booPul_a2.t1, "PulsePositiveStartTime.booPul_a2: Implementation error in initial time calculation: t0 = " + String(booPul_a2.t0, 6, 0, true) + ", t1 = " + String(booPul_a2.t1, 6, 0, true) + ", period = " + String(booPul_a2.period, 6, 0, true) + ", time = " + String(time, 6, 0, true), AssertionLevel.error); [----] booPul_a2.y := time >= booPul_a2.t0 and time < booPul_a2.t1; [----] elseif true then [----] assert(booPul_a2.t1 <= time and time < booPul_a2.t0, "PulsePositiveStartTime.booPul_a2: Implementation error in initial time calculation: t0 = " + String(booPul_a2.t0, 6, 0, true) + ", t1 = " + String(booPul_a2.t1, 6, 0, true) + ", period = " + String(booPul_a2.period, 6, 0, true) + ", time = " + String(time, 6, 0, true), AssertionLevel.error); [----] booPul_a2.y := not (time >= booPul_a2.t1 and time < booPul_a2.t0); [----] end if; slice: {1, 2}; [ALGO] (3) ($RES_SIM_12) [----] booPul_c1.t0 := if $FUN_3 + booPul_c1.period * integer(time / booPul_c1.period) > 0.0 then 1e-6 * floor(0.5 + 1e6 * ($FUN_3 + booPul_c1.period * integer(time / booPul_c1.period))) else 1e-6 * ceil((-0.5) + 1e6 * ($FUN_3 + booPul_c1.period * integer(time / booPul_c1.period))); [----] booPul_c1.t1 := booPul_c1.t0 + booPul_c1.width * booPul_c1.period; [----] if time + booPul_c1.period < booPul_c1.t1 then [----] booPul_c1.t0 := booPul_c1.t0 - booPul_c1.period; [----] booPul_c1.t1 := booPul_c1.t1 - booPul_c1.period; [----] end if; [----] if time >= booPul_c1.t1 then [----] booPul_c1.t0 := booPul_c1.t0 + booPul_c1.period; [----] elseif time < booPul_c1.t0 then [----] booPul_c1.t1 := booPul_c1.t1 - booPul_c1.period; [----] end if; [----] if booPul_c1.t0 < booPul_c1.t1 then [----] assert(booPul_c1.t0 <= time and time < booPul_c1.t1, "PulsePositiveStartTime.booPul_c1: Implementation error in initial time calculation: t0 = " + String(booPul_c1.t0, 6, 0, true) + ", t1 = " + String(booPul_c1.t1, 6, 0, true) + ", period = " + String(booPul_c1.period, 6, 0, true) + ", time = " + String(time, 6, 0, true), AssertionLevel.error); [----] booPul_c1.y := time >= booPul_c1.t0 and time < booPul_c1.t1; [----] elseif true then [----] assert(booPul_c1.t1 <= time and time < booPul_c1.t0, "PulsePositiveStartTime.booPul_c1: Implementation error in initial time calculation: t0 = " + String(booPul_c1.t0, 6, 0, true) + ", t1 = " + String(booPul_c1.t1, 6, 0, true) + ", period = " + String(booPul_c1.period, 6, 0, true) + ", time = " + String(time, 6, 0, true), AssertionLevel.error); [----] booPul_c1.y := not (time >= booPul_c1.t1 and time < booPul_c1.t0); [----] end if; slice: {1, 2}; [ALGO] (3) ($RES_SIM_13) [----] booPul_b1.t0 := if $FUN_2 + booPul_b1.period * integer(time / booPul_b1.period) > 0.0 then 1e-6 * floor(0.5 + 1e6 * ($FUN_2 + booPul_b1.period * integer(time / booPul_b1.period))) else 1e-6 * ceil((-0.5) + 1e6 * ($FUN_2 + booPul_b1.period * integer(time / booPul_b1.period))); [----] booPul_b1.t1 := booPul_b1.t0 + booPul_b1.width * booPul_b1.period; [----] if time + booPul_b1.period < booPul_b1.t1 then [----] booPul_b1.t0 := booPul_b1.t0 - booPul_b1.period; [----] booPul_b1.t1 := booPul_b1.t1 - booPul_b1.period; [----] end if; [----] if time >= booPul_b1.t1 then [----] booPul_b1.t0 := booPul_b1.t0 + booPul_b1.period; [----] elseif time < booPul_b1.t0 then [----] booPul_b1.t1 := booPul_b1.t1 - booPul_b1.period; [----] end if; [----] if booPul_b1.t0 < booPul_b1.t1 then [----] assert(booPul_b1.t0 <= time and time < booPul_b1.t1, "PulsePositiveStartTime.booPul_b1: Implementation error in initial time calculation: t0 = " + String(booPul_b1.t0, 6, 0, true) + ", t1 = " + String(booPul_b1.t1, 6, 0, true) + ", period = " + String(booPul_b1.period, 6, 0, true) + ", time = " + String(time, 6, 0, true), AssertionLevel.error); [----] booPul_b1.y := time >= booPul_b1.t0 and time < booPul_b1.t1; [----] elseif true then [----] assert(booPul_b1.t1 <= time and time < booPul_b1.t0, "PulsePositiveStartTime.booPul_b1: Implementation error in initial time calculation: t0 = " + String(booPul_b1.t0, 6, 0, true) + ", t1 = " + String(booPul_b1.t1, 6, 0, true) + ", period = " + String(booPul_b1.period, 6, 0, true) + ", time = " + String(time, 6, 0, true), AssertionLevel.error); [----] booPul_b1.y := not (time >= booPul_b1.t1 and time < booPul_b1.t0); [----] end if; slice: {1, 2}; [ALGO] (3) ($RES_SIM_14) [----] booPul_a1.t0 := if $FUN_1 + booPul_a1.period * integer(time / booPul_a1.period) > 0.0 then 1e-6 * floor(0.5 + 1e6 * ($FUN_1 + booPul_a1.period * integer(time / booPul_a1.period))) else 1e-6 * ceil((-0.5) + 1e6 * ($FUN_1 + booPul_a1.period * integer(time / booPul_a1.period))); [----] booPul_a1.t1 := booPul_a1.t0 + booPul_a1.width * booPul_a1.period; [----] if time + booPul_a1.period < booPul_a1.t1 then [----] booPul_a1.t0 := booPul_a1.t0 - booPul_a1.period; [----] booPul_a1.t1 := booPul_a1.t1 - booPul_a1.period; [----] end if; [----] if time >= booPul_a1.t1 then [----] booPul_a1.t0 := booPul_a1.t0 + booPul_a1.period; [----] elseif time < booPul_a1.t0 then [----] booPul_a1.t1 := booPul_a1.t1 - booPul_a1.period; [----] end if; [----] if booPul_a1.t0 < booPul_a1.t1 then [----] assert(booPul_a1.t0 <= time and time < booPul_a1.t1, "PulsePositiveStartTime.booPul_a1: Implementation error in initial time calculation: t0 = " + String(booPul_a1.t0, 6, 0, true) + ", t1 = " + String(booPul_a1.t1, 6, 0, true) + ", period = " + String(booPul_a1.period, 6, 0, true) + ", time = " + String(time, 6, 0, true), AssertionLevel.error); [----] booPul_a1.y := time >= booPul_a1.t0 and time < booPul_a1.t1; [----] elseif true then [----] assert(booPul_a1.t1 <= time and time < booPul_a1.t0, "PulsePositiveStartTime.booPul_a1: Implementation error in initial time calculation: t0 = " + String(booPul_a1.t0, 6, 0, true) + ", t1 = " + String(booPul_a1.t1, 6, 0, true) + ", period = " + String(booPul_a1.period, 6, 0, true) + ", time = " + String(time, 6, 0, true), AssertionLevel.error); [----] booPul_a1.y := not (time >= booPul_a1.t1 and time < booPul_a1.t0); [----] end if; slice: {1, 2}; Notification: Performance of Causalize: time 0.008977/0.04782, allocations: 8.554 MB / 0.7073 GB, free: 2.352 MB / 0.5762 GB Notification: Performance of Tearing: time 1.625e-05/0.04788, allocations: 0 / 0.7073 GB, free: 2.352 MB / 0.5762 GB Notification: Performance of Initialization: time 2.244e-06/0.04789, allocations: 0 / 0.7073 GB, free: 2.352 MB / 0.5762 GB Notification: Performance of Tearing: time 3.342e-05/0.04792, allocations: 7.984 kB / 0.7073 GB, free: 2.344 MB / 0.5762 GB Notification: Performance of Categorize: time 3.538e-05/0.04796, allocations: 3.938 kB / 0.7073 GB, free: 2.34 MB / 0.5762 GB Notification: Performance of Solve: time 0.0005847/0.04856, allocations: 410.2 kB / 0.7077 GB, free: 1.93 MB / 0.5762 GB Notification: Performance of Jacobian: time 4.709e-06/0.04857, allocations: 3.938 kB / 0.7077 GB, free: 1.926 MB / 0.5762 GB Notification: Partition statistics after passing the back-end: * Number of ODE partitions: ..................... 0 * Number of algebraic partitions: ............... 0 * Number of ODE event partitions: ............... 0 * Number of algebraic event partitions: ......... 15 * Number of clocked partitions: ................. 0 * Number of initial partitions: ................. 1 * Number of initial(lambda=0) partitions: ....... 0 Notification: Variable statistics after passing the back-end: * Number of states: ............................. 0 (0) {} * Number of discrete states: .................... 15 (15) {booPul_c5.y, booPul_b5.y, booPul_a5.y, booPul_c4.y, booPul_b4.y, booPul_a4.y, booPul_c3.y, booPul_b3.y, booPul_a3.y, booPul_c2.y, booPul_b2.y, booPul_a2.y, booPul_c1.y, booPul_b1.y, booPul_a1.y} * Number of clocked states: ..................... 0 (0) {NOT YET AVAILABLE} * Number of discrete variables: ................. 30 (30) {$TEV_209, $TEV_208, $TEV_207, $TEV_206, $TEV_205, $TEV_204, $TEV_203, $TEV_202, $TEV_201, $TEV_200, $TEV_199, $TEV_198, $TEV_197, $TEV_196, $TEV_195, $TEV_194, $TEV_193, $TEV_192, $TEV_191, $TEV_190, $TEV_189, $TEV_188, $TEV_187, $TEV_186, $TEV_185, $TEV_184, $TEV_183, $TEV_182, $TEV_181, $TEV_180} * Number of top-level inputs: ................... 0 (0) {} Notification: [Simulation] Strong Component statistics after passing the back-end: * Number of single strong components: ........... 30 (scalar:30, array:0, record:0) * Number of multi strong components: ............ 15 (algorithm:0, when:15, if:0, tuple:0) * Number of for-loop strong components: ......... 0 (generic: 0, entwined:0) * Number of algebraic-loop strong components: ... 0 (linear: 0, nonlinear:0) Notification: [Initialization] Strong Component statistics after passing the back-end: * Number of single strong components: ........... 105 (scalar:105, array:0, record:0) * Number of multi strong components: ............ 0 (algorithm:0, when:0, if:0, tuple:0) * Number of for-loop strong components: ......... 0 (generic: 0, entwined:0) * Number of algebraic-loop strong components: ... 0 (linear: 0, nonlinear:0) Notification: Performance of backend: time 6.845e-05/0.04864, allocations: 36.59 kB / 0.7077 GB, free: 1.898 MB / 0.5762 GB [/var/lib/jenkins/ws/OpenModelicaLibraryTestingWork/OpenModelica/OMCompiler/Compiler/NBackEnd/Modules/2_Pre/NBEvents.mo:685:7-685:120:writable] Error: Internal error UnorderedMap.getSafe failed because the key did not exist.