Running: ./testmodel.py --libraries=/home/hudson/saved_omc/libraries/.openmodelica/libraries --ompython_omhome=/usr Modelica_LinearSystems2_Modelica_LinearSystems2.Controller.Examples.Interpolator.conf.json loadFile("/home/hudson/saved_omc/libraries/.openmodelica/libraries/DymolaCommands master/package.mo", uses=false) 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/Modelica_LinearSystems2 3.0.0-master/package.mo", uses=false) Using package Modelica_LinearSystems2 with version 3.0.0-dev (/home/hudson/saved_omc/libraries/.openmodelica/libraries/Modelica_LinearSystems2 3.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) Using package DymolaCommands with version 0.0.0 (/home/hudson/saved_omc/libraries/.openmodelica/libraries/DymolaCommands master/package.mo) Running command: translateModel(Modelica_LinearSystems2.Controller.Examples.Interpolator,tolerance=1e-06,outputFormat="empty",numberOfIntervals=5000,variableFilter="",fileNamePrefix="Modelica_LinearSystems2_Modelica_LinearSystems2.Controller.Examples.Interpolator") translateModel(Modelica_LinearSystems2.Controller.Examples.Interpolator,tolerance=1e-06,outputFormat="empty",numberOfIntervals=5000,variableFilter="",fileNamePrefix="Modelica_LinearSystems2_Modelica_LinearSystems2.Controller.Examples.Interpolator") Notification: Performance of loadFile(/home/hudson/saved_omc/libraries/.openmodelica/libraries/DymolaCommands master/package.mo): time 0.0004747/0.0004748, allocations: 39 kB / 16.35 MB, free: 6.543 MB / 14.72 MB Notification: Performance of loadFile(/home/hudson/saved_omc/libraries/.openmodelica/libraries/ModelicaServices 4.0.0+maint.om/package.mo): time 0.0008231/0.000823, allocations: 107.7 kB / 17.19 MB, free: 5.887 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.000895/0.0008951, allocations: 193.4 kB / 18.14 MB, free: 4.953 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.165/1.165, allocations: 222.9 MB / 241.8 MB, free: 15.09 MB / 206.1 MB Notification: Performance of loadFile(/home/hudson/saved_omc/libraries/.openmodelica/libraries/Modelica_LinearSystems2 3.0.0-master/package.mo): time 0.2347/0.2347, allocations: 43.75 MB / 335.7 MB, free: 4.207 MB / 270.1 MB Notification: Performance of FrontEnd - Absyn->SCode: time 2.222e-05/2.223e-05, allocations: 2.281 kB / 464.9 MB, free: 1.273 MB / 334.1 MB Notification: Performance of NFInst.instantiate(Modelica_LinearSystems2.Controller.Examples.Interpolator): time 0.003371/0.003401, allocations: 2.769 MB / 467.7 MB, free: 14.49 MB / 350.1 MB Notification: Performance of NFInst.instExpressions: time 0.001301/0.004717, allocations: 0.8651 MB / 468.5 MB, free: 13.62 MB / 350.1 MB Notification: Performance of NFInst.updateImplicitVariability: time 0.0001024/0.00483, allocations: 11.88 kB / 468.5 MB, free: 13.61 MB / 350.1 MB Notification: Performance of NFTyping.typeComponents: time 0.0002824/0.005121, allocations: 71.42 kB / 468.6 MB, free: 13.54 MB / 350.1 MB Notification: Performance of NFTyping.typeBindings: time 8.046e-05/0.00521, allocations: 35.72 kB / 468.7 MB, free: 13.5 MB / 350.1 MB Notification: Performance of NFTyping.typeClassSections: time 0.0004164/0.005644, allocations: 195.6 kB / 468.8 MB, free: 13.31 MB / 350.1 MB Notification: Performance of NFFlatten.flatten: time 0.0003621/0.006016, allocations: 399.2 kB / 469.2 MB, free: 12.92 MB / 350.1 MB Notification: Performance of NFFlatten.resolveConnections: time 0.0001565/0.006181, allocations: 88.78 kB / 469.3 MB, free: 12.83 MB / 350.1 MB Notification: Performance of NFEvalConstants.evaluate: time 0.0001575/0.006345, allocations: 139.5 kB / 469.5 MB, free: 12.69 MB / 350.1 MB Notification: Performance of NFSimplifyModel.simplify: time 0.0001358/0.006489, allocations: 131.4 kB / 469.6 MB, free: 12.56 MB / 350.1 MB Notification: Performance of NFPackage.collectConstants: time 3.814e-05/0.006536, allocations: 32 kB / 469.6 MB, free: 12.53 MB / 350.1 MB Notification: Performance of NFFlatten.collectFunctions: time 3.616e-05/0.006578, allocations: 28 kB / 469.6 MB, free: 12.5 MB / 350.1 MB Notification: Performance of combineBinaries: time 0.0002437/0.006826, allocations: 407.3 kB / 470 MB, free: 12.1 MB / 350.1 MB Notification: Performance of replaceArrayConstructors: time 0.0001078/0.00694, allocations: 244.2 kB / 470.3 MB, free: 11.86 MB / 350.1 MB Notification: Performance of NFVerifyModel.verify: time 3.995e-05/0.006985, allocations: 39.81 kB / 470.3 MB, free: 11.82 MB / 350.1 MB Notification: Performance of FrontEnd: time 2.844e-05/0.007018, allocations: 19.88 kB / 470.3 MB, free: 11.8 MB / 350.1 MB Notification: Model statistics after passing the front-end and creating the data structures used by the back-end: * Number of equations: 54 (50) * Number of variables: 54 (48) Notification: Performance of Bindings: time 0.0009869/0.00801, allocations: 1.179 MB / 471.5 MB, free: 10.52 MB / 350.1 MB Notification: Performance of FunctionAlias: time 8.043e-05/0.008097, allocations: 49.02 kB / 471.6 MB, free: 10.46 MB / 350.1 MB Notification: Performance of Early Inline: time 0.000623/0.008727, allocations: 0.7335 MB / 472.3 MB, free: 9.703 MB / 350.1 MB Notification: Performance of simplify1: time 3.804e-05/0.008772, allocations: 31.94 kB / 472.3 MB, free: 9.672 MB / 350.1 MB Notification: Performance of Alias: time 0.001044/0.009822, allocations: 1.031 MB / 473.4 MB, free: 8.496 MB / 350.1 MB Notification: Performance of simplify2: time 2.53e-05/0.009858, allocations: 27.95 kB / 473.4 MB, free: 8.469 MB / 350.1 MB Notification: Performance of Events: time 0.0001505/0.01001, allocations: 122.6 kB / 473.5 MB, free: 8.348 MB / 350.1 MB Notification: Performance of Detect States: time 0.0003562/0.01038, allocations: 428.1 kB / 473.9 MB, free: 7.918 MB / 350.1 MB Notification: Performance of Partitioning: time 0.0002487/0.01064, allocations: 276 kB / 474.2 MB, free: 7.633 MB / 350.1 MB Error: Internal error NBSorting.tarjan failed to sort system: system vars Variables (36/42) ******************************* (1) [DISS] (1) protected Real interpolator2.discreteInterpolator.pre_u (2) [DISC] (1) Boolean $SEV_3 (3) [DISC] (1) Boolean $SEV_2 (4) [ALGB] (1) Real $FUN_1 (5) [DISC] (1) Boolean $SEV_1 (6) [DISC] (1) Boolean $SEV_0 (7) [DISS] (1) protected Integer interpolator2.discreteInterpolator.ticks (fixed = true, start = 1) (8) [DISS] (4) protected discrete Real[4] interpolator3.discreteFIR.sum (9) [DISS] (1) protected Boolean interpolator2.discreteInterpolator.sampleIn (10) [DISS] (1) protected discrete Real interpolator3.discreteFIR.u_sampled (11) [DISC] (1) protected Boolean interpolator3.discreteFIR.sampleTrigger (12) [DISS] (1) protected Integer interpolator2.discreteInterpolator.outputTicks (fixed = true, start = 0) (13) [DISS] (4) protected discrete Real[4] interpolator3.discreteFIR.x (14) [DISS] (1) protected Integer interpolator3.discreteInterpolator.outputTicks (fixed = true, start = 0) (15) [DISS] (1) protected Integer sampler.discretePart.ticks (16) [DISS] (1) protected Integer interpolator3.discreteFIR.ticks (17) [DISS] (1) protected discrete Real interpolator3.discreteFIR.y_sampled (18) [DISC] (1) protected Integer interpolator2.discreteInterpolator.inputOutputSampleFactor = div(interpolator2.discreteInterpolator.inputSampleFactor, interpolator2.discreteInterpolator.outputSampleFactor) (19) [DISC] (1) Boolean $TEV_6 (20) [DISC] (1) Boolean $TEV_5 (21) [DISC] (1) Boolean $TEV_4 (22) [DISS] (1) protected Real interpolator3.discreteInterpolator.pre_u (23) [DISC] (1) Boolean $TEV_3 (24) [DISC] (1) Boolean $TEV_2 (25) [DISC] (1) protected Boolean sampler.discretePart.sampleTrigger (26) [DISC] (1) Boolean $TEV_1 (27) [DISS] (1) protected discrete Real sampler.discretePart.u_sampled (28) [DISC] (1) Boolean $TEV_0 (29) [DISS] (1) protected Boolean interpolator3.discreteInterpolator.sampleIn (30) [DISC] (1) Boolean sampleClock.sampleTrigger (31) [DISS] (1) protected Integer interpolator3.discreteInterpolator.ticks (fixed = true, start = 1) (32) [DISS] (1) protected Real interpolator3.discreteInterpolator.y (33) [DISC] (1) protected Boolean interpolator2.discreteInterpolator.outputSampleTrigger (34) [DISS] (1) protected Real interpolator2.discreteInterpolator.y (35) [DISC] (1) protected Boolean interpolator3.discreteInterpolator.outputSampleTrigger (36) [ALGB] (1) Real interpolator1.y system eqns Equations (38/42) ******************************* (1) [WHEN] (1)when {initial(), sampler.discretePart.sampleTrigger} then (1) [----] sampler.discretePart.u_sampled := interpolator1.y (1) [----] end when; (2) [SCAL] (1) interpolator3.discreteFIR.sampleTrigger = $SEV_1 ($RES_SIM_11) (3) [WHEN] (1)when sampleClock.sampleTrigger then (3) [----] interpolator3.discreteFIR.ticks := if $PRE.interpolator3.discreteFIR.ticks < 4 then $PRE.interpolator3.discreteFIR.ticks + 1 else 1 (3) [----] end when; (4) [WHEN] (1)when {initial(), interpolator3.discreteFIR.sampleTrigger} then (4) [----] interpolator3.discreteFIR.sum[1] := interpolator3.discreteFIR.a[2] * interpolator3.discreteFIR.x[1] (4) [----] end when; (5) [SCAL] (1) interpolator2.discreteInterpolator.outputSampleTrigger = $SEV_3 ($RES_SIM_30) (6) [WHEN] (3)when {initial(), interpolator3.discreteFIR.sampleTrigger} then (6) [----] interpolator3.discreteFIR.x[2:4] := $PRE.interpolator3.discreteFIR.x (6) [----] end when; (7) [SCAL] (1) interpolator2.discreteInterpolator.inputOutputSampleFactor = div(interpolator2.discreteInterpolator.inputSampleFactor, interpolator2.discreteInterpolator.outputSampleFactor) ($RES_$AUX_58) (8) [WHEN] (1)when sampleClock.sampleTrigger then (8) [----] interpolator2.discreteInterpolator.outputTicks := if $PRE.interpolator2.discreteInterpolator.outputTicks < interpolator2.discreteInterpolator.outputSampleFactor then $PRE.interpolator2.discreteInterpolator.outputTicks + 1 else 1 (8) [----] end when; (9) [WHEN] (1)when {initial(), interpolator3.discreteFIR.sampleTrigger} then (9) [----] interpolator3.discreteFIR.y_sampled := interpolator3.discreteFIR.a[1] * interpolator3.discreteInterpolator.y + interpolator3.discreteFIR.sum[4] (9) [----] end when; (10) [SCAL] (1) $FUN_1 = sin(6.283185307179586 * sine.f * (time - sine.startTime) + sine.phase) ($RES_$AUX_59) (11) [WHEN] (1)when {initial(), interpolator3.discreteFIR.sampleTrigger} then (11) [----] interpolator3.discreteFIR.x[1] := $PRE.interpolator3.discreteInterpolator.y (11) [----] end when; (12) [WHEN] (3)when {initial(), interpolator3.discreteFIR.sampleTrigger} then (12) [----] interpolator3.discreteFIR.sum[2:4] := interpolator3.discreteFIR.a[3:5] * diagonal(interpolator3.discreteFIR.x[2:4]) + interpolator3.discreteFIR.sum[1:3] (12) [----] end when; (13) [SCAL] (1) sampleClock.sampleTrigger = $TEV_5 ($RES_SIM_34) (14) [WHEN] (1)when {initial(), interpolator3.discreteFIR.sampleTrigger} then (14) [----] interpolator3.discreteFIR.u_sampled := interpolator3.discreteInterpolator.y (14) [----] end when; (15) [SCAL] (1) interpolator1.y = sine.offset + (if $TEV_6 then 0.0 else sine.amplitude * $FUN_1) ($RES_SIM_35) (16) [SCAL] (1) $TEV_0 = $PRE.sampler.discretePart.ticks ($RES_EVT_60) (17) [SCAL] (1) $TEV_1 = $PRE.interpolator3.discreteFIR.ticks ($RES_EVT_61) (18) [SCAL] (1) $TEV_2 = $PRE.interpolator3.discreteFIR.x ($RES_EVT_62) (19) [SCAL] (1) $TEV_3 = $PRE.interpolator3.discreteInterpolator.pre_u ($RES_EVT_63) (20) [SCAL] (1) $TEV_4 = $PRE.interpolator2.discreteInterpolator.pre_u ($RES_EVT_64) (21) [SCAL] (1) $TEV_5 = sample(1, sampleClock.sampleTime, sampleClock.sampleTime) ($RES_EVT_65) (22) [SCAL] (1) $TEV_6 = time < sine.startTime ($RES_EVT_66) (23) [SCAL] (1) $SEV_0 = sampleClock.sampleTrigger and sampler.discretePart.ticks >= sampler.discretePart.sampleFactor ($RES_EVT_67) (24) [WHEN] (1)when {initial(), interpolator3.discreteInterpolator.sampleIn} then (24) [----] interpolator3.discreteInterpolator.pre_u := $PRE.sampler.discretePart.u_sampled (24) [----] end when; (25) [SCAL] (1) $SEV_1 = sampleClock.sampleTrigger and interpolator3.discreteFIR.ticks >= 4 ($RES_EVT_68) (26) [WHEN] (1)when interpolator3.discreteInterpolator.outputSampleTrigger then (26) [----] interpolator3.discreteInterpolator.sampleIn := interpolator3.discreteInterpolator.ticks == 1 (26) [----] end when; (27) [SCAL] (1) $SEV_2 = sampleClock.sampleTrigger and interpolator3.discreteInterpolator.outputTicks >= 4 ($RES_EVT_69) (28) [WHEN] (1)when interpolator3.discreteInterpolator.outputSampleTrigger then (28) [----] interpolator3.discreteInterpolator.y := if interpolator3.discreteInterpolator.ticks == 1 then (sampler.discretePart.u_sampled - $PRE.sampler.discretePart.u_sampled) / 5 + $PRE.sampler.discretePart.u_sampled else $PRE.interpolator3.discreteInterpolator.pre_u + (interpolator3.discreteInterpolator.ticks / 5) * ($PRE.sampler.discretePart.u_sampled - $PRE.interpolator3.discreteInterpolator.pre_u) (28) [----] end when; (29) [WHEN] (1)when interpolator3.discreteInterpolator.outputSampleTrigger then (29) [----] interpolator3.discreteInterpolator.ticks := if $PRE.interpolator3.discreteInterpolator.ticks < 5 then $PRE.interpolator3.discreteInterpolator.ticks + 1 else 1 (29) [----] end when; (30) [SCAL] (1) interpolator3.discreteInterpolator.outputSampleTrigger = $SEV_2 ($RES_SIM_24) (31) [WHEN] (1)when sampleClock.sampleTrigger then (31) [----] interpolator3.discreteInterpolator.outputTicks := if $PRE.interpolator3.discreteInterpolator.outputTicks < 4 then $PRE.interpolator3.discreteInterpolator.outputTicks + 1 else 1 (31) [----] end when; (32) [WHEN] (1)when {initial(), interpolator2.discreteInterpolator.sampleIn} then (32) [----] interpolator2.discreteInterpolator.pre_u := $PRE.sampler.discretePart.u_sampled (32) [----] end when; (33) [WHEN] (1)when interpolator2.discreteInterpolator.outputSampleTrigger then (33) [----] interpolator2.discreteInterpolator.sampleIn := interpolator2.discreteInterpolator.ticks == 1 (33) [----] end when; (34) [WHEN] (1)when interpolator2.discreteInterpolator.outputSampleTrigger then (34) [----] interpolator2.discreteInterpolator.ticks := if $PRE.interpolator2.discreteInterpolator.ticks < interpolator2.discreteInterpolator.inputOutputSampleFactor then $PRE.interpolator2.discreteInterpolator.ticks + 1 else 1 (34) [----] end when; (35) [WHEN] (1)when interpolator2.discreteInterpolator.outputSampleTrigger then (35) [----] interpolator2.discreteInterpolator.y := if interpolator2.discreteInterpolator.ticks == 1 then (sampler.discretePart.u_sampled - $PRE.sampler.discretePart.u_sampled) / interpolator2.discreteInterpolator.inputOutputSampleFactor + $PRE.sampler.discretePart.u_sampled else $PRE.interpolator2.discreteInterpolator.pre_u + (interpolator2.discreteInterpolator.ticks / interpolator2.discreteInterpolator.inputOutputSampleFactor) * ($PRE.sampler.discretePart.u_sampled - $PRE.interpolator2.discreteInterpolator.pre_u) (35) [----] end when; (36) [WHEN] (1)when sampleClock.sampleTrigger then (36) [----] sampler.discretePart.ticks := if $PRE.sampler.discretePart.ticks < sampler.discretePart.sampleFactor then $PRE.sampler.discretePart.ticks + 1 else 1 (36) [----] end when; (37) [SCAL] (1) sampler.discretePart.sampleTrigger = $SEV_0 ($RES_SIM_7) (38) [SCAL] (1) $SEV_3 = sampleClock.sampleTrigger and interpolator2.discreteInterpolator.outputTicks >= interpolator2.discreteInterpolator.outputSampleFactor ($RES_EVT_70) =================== Scalar Matching =================== variable to equation ********************** var 1 --> eqn 36 var 2 --> eqn 42 var 3 --> eqn 31 var 4 --> eqn 12 var 5 --> eqn 29 var 6 --> eqn 27 var 7 --> eqn 38 var 8 --> eqn 4 var 9 --> eqn 16 var 10 --> eqn 15 var 11 --> eqn 14 var 12 --> eqn 37 var 13 --> eqn 18 var 14 --> eqn 2 var 15 --> eqn 10 var 16 --> eqn 13 var 17 --> eqn 8 var 18 --> eqn 7 var 19 --> eqn 6 var 20 --> eqn 35 var 21 --> eqn 40 var 22 --> eqn 3 var 23 --> eqn 11 var 24 --> eqn 9 var 25 --> eqn 26 var 26 --> eqn 25 var 27 --> eqn 24 var 28 --> eqn 28 var 29 --> eqn 23 var 30 --> eqn 22 var 31 --> eqn 41 var 32 --> eqn 21 var 33 --> eqn 1 var 34 --> eqn 20 var 35 --> eqn 30 var 36 --> eqn 17 var 37 --> eqn 33 var 38 --> eqn 32 var 39 --> eqn 5 var 40 --> eqn 39 var 41 --> eqn 34 var 42 --> eqn 19 equation to variable ********************** eqn 1 --> var 33 eqn 2 --> var 14 eqn 3 --> var 22 eqn 4 --> var 8 eqn 5 --> var 39 eqn 6 --> var 19 eqn 7 --> var 18 eqn 8 --> var 17 eqn 9 --> var 24 eqn 10 --> var 15 eqn 11 --> var 23 eqn 12 --> var 4 eqn 13 --> var 16 eqn 14 --> var 11 eqn 15 --> var 10 eqn 16 --> var 9 eqn 17 --> var 36 eqn 18 --> var 13 eqn 19 --> var 42 eqn 20 --> var 34 eqn 21 --> var 32 eqn 22 --> var 30 eqn 23 --> var 29 eqn 24 --> var 27 eqn 25 --> var 26 eqn 26 --> var 25 eqn 27 --> var 6 eqn 28 --> var 28 eqn 29 --> var 5 eqn 30 --> var 35 eqn 31 --> var 3 eqn 32 --> var 38 eqn 33 --> var 37 eqn 34 --> var 41 eqn 35 --> var 20 eqn 36 --> var 1 eqn 37 --> var 12 eqn 38 --> var 7 eqn 39 --> var 40 eqn 40 --> var 21 eqn 41 --> var 31 eqn 42 --> var 2