Running: ./testmodel.py --libraries=/home/hudson/saved_omc/libraries/.openmodelica/libraries/ --ompython_omhome=/usr Buildings_3.0.0_Buildings.Controls.Predictors.Validation.SineInputDayOfAdjustment.conf.json
loadFile("/home/hudson/saved_omc/libraries/.openmodelica/libraries/Buildings 3.0.0/package.mo", uses=false)
loadFile("/home/hudson/saved_omc/libraries/.openmodelica/libraries/Complex 3.2.1+maint.om/package.mo", uses=false)
loadFile("/home/hudson/saved_omc/libraries/.openmodelica/libraries/Modelica 3.2.1+maint.om/package.mo", uses=false)
loadFile("/home/hudson/saved_omc/libraries/.openmodelica/libraries/ModelicaServices 3.2.1+maint.om/package.mo", uses=false)
loadFile("/home/hudson/saved_omc/libraries/.openmodelica/libraries/Modelica_StateGraph2 2.0.2/package.mo", uses=false)
Using package Modelica_StateGraph2 with version 2.0.2 (/home/hudson/saved_omc/libraries/.openmodelica/libraries/Modelica_StateGraph2 2.0.2/package.mo)
Using package ModelicaServices with version 3.2.1 (/home/hudson/saved_omc/libraries/.openmodelica/libraries/ModelicaServices 3.2.1+maint.om/package.mo)
Using package Modelica with version 3.2.1 (/home/hudson/saved_omc/libraries/.openmodelica/libraries/Modelica 3.2.1+maint.om/package.mo)
Using package Complex with version 3.2.1 (/home/hudson/saved_omc/libraries/.openmodelica/libraries/Complex 3.2.1+maint.om/package.mo)
Using package Buildings with version 3.0.0 (/home/hudson/saved_omc/libraries/.openmodelica/libraries/Buildings 3.0.0/package.mo)
Running command: translateModel(Buildings.Controls.Predictors.Validation.SineInputDayOfAdjustment,tolerance=1e-06,outputFormat="empty",numberOfIntervals=5000,variableFilter="",fileNamePrefix="Buildings_3.0.0_Buildings.Controls.Predictors.Validation.SineInputDayOfAdjustment")
translateModel(Buildings.Controls.Predictors.Validation.SineInputDayOfAdjustment,tolerance=1e-06,outputFormat="empty",numberOfIntervals=5000,variableFilter="",fileNamePrefix="Buildings_3.0.0_Buildings.Controls.Predictors.Validation.SineInputDayOfAdjustment")
Notification: Performance of loadFile(/home/hudson/saved_omc/libraries/.openmodelica/libraries/Buildings 3.0.0/package.mo): time 0.8157/0.8157, allocations: 133.7 MB / 148.6 MB, free: 13.68 MB / 122.7 MB
Notification: Performance of loadFile(/home/hudson/saved_omc/libraries/.openmodelica/libraries/Complex 3.2.1+maint.om/package.mo): time 0.001207/0.001207, allocations: 168.1 kB / 180.9 MB, free: 15.1 MB / 154.7 MB
Notification: Performance of loadFile(/home/hudson/saved_omc/libraries/.openmodelica/libraries/Modelica 3.2.1+maint.om/package.mo): time 1.676/1.676, allocations: 170.7 MB / 383.7 MB, free: 16.11 MB / 282.7 MB
Notification: Performance of loadFile(/home/hudson/saved_omc/libraries/.openmodelica/libraries/ModelicaServices 3.2.1+maint.om/package.mo): time 0.001707/0.001707, allocations: 103.3 kB / 454.6 MB, free: 9.715 MB / 346.7 MB
[/home/hudson/saved_omc/libraries/.openmodelica/libraries/Modelica_StateGraph2 2.0.2/package.mo:257:38-257:110:writable] Warning: The file was not encoded in UTF-8:
"
An important practical aspect of state machines is the abilit...".
Defaulting to 7-bit ASCII with unknown characters replaced by '?'.
To change encoding when loading a file: loadFile(encoding="ISO-XXXX-YY").
To change it in a package: add a file package.encoding at the top-level.
Note: The Modelica Language Specification only allows files encoded in UTF-8.
[/home/hudson/saved_omc/libraries/.openmodelica/libraries/Modelica_StateGraph2 2.0.2/package.mo:761:36-761:108:writable] Warning: The file was not encoded in UTF-8:
"
The Modelica_StateGraph2 library is described in detail in (O...".
Defaulting to 7-bit ASCII with unknown characters replaced by '?'.
To change encoding when loading a file: loadFile(encoding="ISO-XXXX-YY").
To change it in a package: add a file package.encoding at the top-level.
Note: The Modelica Language Specification only allows files encoded in UTF-8.
[/home/hudson/saved_omc/libraries/.openmodelica/libraries/Modelica_StateGraph2 2.0.2/package.mo:1435:36-1435:108:writable] Warning: The file was not encoded in UTF-8:
"
- Main Authors:
-
SCode: time 0.1633/0.1639, allocations: 73.41 MB / 0.6812 GB, free: 5.57 MB / 474.7 MB
Notification: Performance of FrontEnd - scodeFlatten: time 0.5296/0.6936, allocations: 108.9 MB / 0.7875 GB, free: 19.55 MB / 490.7 MB
Notification: Performance of FrontEnd - mkProgramGraph: time 0.0003147/0.694, allocations: 82.64 kB / 0.7876 GB, free: 19.52 MB / 490.7 MB
Notification: Performance of FrontEnd - DAE generated: time 0.07098/0.765, allocations: 37 MB / 0.8237 GB, free: 1.863 MB / 0.4948 GB
Notification: Performance of FrontEnd: time 1.944e-06/0.765, allocations: 0 / 0.8237 GB, free: 1.863 MB / 0.4948 GB
Notification: Performance of Transformations before backend: time 7.535e-05/0.7651, allocations: 68 kB / 0.8238 GB, free: 1.797 MB / 0.4948 GB
Notification: Model statistics after passing the front-end and creating the data structures used by the back-end:
* Number of equations: 1091
* Number of variables: 1091
Notification: Performance of Generate backend data structure: time 0.005178/0.7703, allocations: 3.611 MB / 0.8273 GB, free: 14.12 MB / 0.5105 GB
Notification: Performance of prepare preOptimizeDAE: time 4.802e-05/0.7704, allocations: 11.97 kB / 0.8273 GB, free: 14.11 MB / 0.5105 GB
Notification: Performance of preOpt normalInlineFunction (simulation): time 0.0004812/0.7709, allocations: 359.1 kB / 0.8276 GB, free: 13.75 MB / 0.5105 GB
Notification: Performance of preOpt evaluateParameters (simulation): time 0.002775/0.7736, allocations: 1.163 MB / 0.8288 GB, free: 12.55 MB / 0.5105 GB
Notification: Performance of preOpt simplifyIfEquations (simulation): time 0.0002032/0.7739, allocations: 248.3 kB / 0.829 GB, free: 12.3 MB / 0.5105 GB
Notification: Performance of preOpt expandDerOperator (simulation): time 0.0004035/0.7743, allocations: 371.9 kB / 0.8294 GB, free: 11.94 MB / 0.5105 GB
Error: An independent subset of the model has imbalanced number of equations (1079) and variables (71).
variables:
PCon.y
PCon.u2
PCon.u1
realExpression.y
integrator.y
integrator.u
P.y
P.u
P.firstTrigger
P.sampleTrigger
PBas.y
notEventDay.y
notEventDay.u
dayType.skipIDayIncrement
dayType.sampleTrigger
dayType.iDay
dayType.y[2]
dayType.y[1]
tri.pulsStart
tri.y
baseLoad.idxSam
baseLoad.intTOutLast
baseLoad.intTOut
baseLoad.EHisAve
baseLoad.EActAve
baseLoad._storeHistory
baseLoad._typeOfDay[12]
baseLoad._typeOfDay[11]
baseLoad._typeOfDay[10]
baseLoad._typeOfDay[9]
baseLoad._typeOfDay[8]
baseLoad._typeOfDay[7]
baseLoad._typeOfDay[6]
baseLoad._typeOfDay[5]
baseLoad._typeOfDay[4]
baseLoad._typeOfDay[3]
baseLoad._typeOfDay[2]
baseLoad._typeOfDay[1]
baseLoad.iSam[12]
baseLoad.iSam[11]
baseLoad.iSam[10]
baseLoad.iSam[9]
baseLoad.iSam[8]
baseLoad.iSam[7]
baseLoad.iSam[6]
baseLoad.iSam[5]
baseLoad.iSam[4]
baseLoad.iSam[3]
baseLoad.iSam[2]
baseLoad.iSam[1]
baseLoad.tLast
baseLoad.ELast
baseLoad.sampleTrigger
baseLoad.PAve
baseLoad.adj
baseLoad.storeHistory
baseLoad.typeOfDay[2]
baseLoad.typeOfDay[1]
baseLoad.PPre[12]
baseLoad.PPre[11]
baseLoad.PPre[10]
baseLoad.PPre[9]
baseLoad.PPre[8]
baseLoad.PPre[7]
baseLoad.PPre[6]
baseLoad.PPre[5]
baseLoad.PPre[4]
baseLoad.PPre[3]
baseLoad.PPre[2]
baseLoad.PPre[1]
baseLoad.ECon
equations:
1 : baseLoad.sampleTrigger = sample(1, baseLoad.samStart, 3600.0)
2 : baseLoad.intTOut = 0.0
3 : algorithm
when baseLoad.sampleTrigger then
baseLoad._storeHistory := if not pre(baseLoad._storeHistory) and not Buildings.Controls.Predictors.ElectricalLoad$baseLoad.isMidNight(time) then false else baseLoad.storeHistory;
baseLoad._typeOfDay := Buildings.Controls.Predictors.ElectricalLoad$baseLoad.getTypeOfDays(time, {baseLoad.typeOfDay[1], baseLoad.typeOfDay[2]}, 3600.0, 12);
baseLoad.idxSam := Buildings.Controls.Predictors.ElectricalLoad$baseLoad.getIndex(-1 + baseLoad.iSam[1], 24);
if baseLoad._storeHistory or pre(baseLoad._storeHistory) then
if time - baseLoad.tLast > 1e-05 then
baseLoad.iHis[pre(baseLoad._typeOfDay[1]),baseLoad.idxSam] := Buildings.Controls.Predictors.ElectricalLoad$baseLoad.incrementIndex(baseLoad.iHis[pre(baseLoad._typeOfDay[1]),baseLoad.idxSam], 10);
if baseLoad.iHis[pre(baseLoad._typeOfDay[1]),baseLoad.idxSam] == 10 then
baseLoad.historyComplete[pre(baseLoad._typeOfDay[1]),baseLoad.idxSam] := true;
end if;
baseLoad.PAve := (baseLoad.ECon - baseLoad.ELast) / (time - baseLoad.tLast);
baseLoad.P[pre(baseLoad._typeOfDay[1]),baseLoad.idxSam,baseLoad.iHis[pre(baseLoad._typeOfDay[1]),baseLoad.idxSam]] := baseLoad.PAve;
end if;
end if;
baseLoad.ELast := baseLoad.ECon;
baseLoad.intTOutLast := baseLoad.intTOut;
baseLoad.tLast := time;
for m in 1:12 loop
baseLoad.PPre[m] := Buildings.Controls.Predictors.BaseClasses.average({baseLoad.P[baseLoad._typeOfDay[m],baseLoad.iSam[m],1], baseLoad.P[baseLoad._typeOfDay[m],baseLoad.iSam[m],2], baseLoad.P[baseLoad._typeOfDay[m],baseLoad.iSam[m],3], baseLoad.P[baseLoad._typeOfDay[m],baseLoad.iSam[m],4], baseLoad.P[baseLoad._typeOfDay[m],baseLoad.iSam[m],5], baseLoad.P[baseLoad._typeOfDay[m],baseLoad.iSam[m],6], baseLoad.P[baseLoad._typeOfDay[m],baseLoad.iSam[m],7], baseLoad.P[baseLoad._typeOfDay[m],baseLoad.iSam[m],8], baseLoad.P[baseLoad._typeOfDay[m],baseLoad.iSam[m],9], baseLoad.P[baseLoad._typeOfDay[m],baseLoad.iSam[m],10]}, if baseLoad.historyComplete[baseLoad._typeOfDay[m],baseLoad.iSam[m]] then 10 else baseLoad.iHis[baseLoad._typeOfDay[m],baseLoad.iSam[m]]);
end for;
if baseLoad._storeHistory or pre(baseLoad._storeHistory) then
baseLoad.PPreHis[baseLoad._typeOfDay[1],Buildings.Controls.Predictors.ElectricalLoad$baseLoad.getIndex(1 + baseLoad.idxSam, 24)] := baseLoad.PPre[1];
baseLoad.PPreHisSet[baseLoad._typeOfDay[1],Buildings.Controls.Predictors.ElectricalLoad$baseLoad.getIndex(1 + baseLoad.idxSam, 24)] := baseLoad.iHis[baseLoad._typeOfDay[1],baseLoad.iSam[1]] > 0;
end if;
baseLoad.EHisAve := 0.0;
baseLoad.EActAve := 0.0;
for i in -4:-2 loop
if Modelica.Math.BooleanVectors.allTrue({baseLoad.PPreHisSet[baseLoad._typeOfDay[1],Buildings.Controls.Predictors.ElectricalLoad$baseLoad.getIndex(baseLoad.iSam[1] + -4, 24)], baseLoad.PPreHisSet[baseLoad._typeOfDay[1],Buildings.Controls.Predictors.ElectricalLoad$baseLoad.getIndex(baseLoad.iSam[1] + -3, 24)], baseLoad.PPreHisSet[baseLoad._typeOfDay[1],Buildings.Controls.Predictors.ElectricalLoad$baseLoad.getIndex(baseLoad.iSam[1] + -2, 24)]}) then
baseLoad.EHisAve := baseLoad.EHisAve + 3600.0 * baseLoad.PPreHis[baseLoad._typeOfDay[1],Buildings.Controls.Predictors.ElectricalLoad$baseLoad.getIndex(1 + baseLoad.idxSam + i, 24)];
baseLoad.EActAve := baseLoad.EActAve + 3600.0 * baseLoad.P[baseLoad._typeOfDay[1],Buildings.Controls.Predictors.ElectricalLoad$baseLoad.getIndex(1 + baseLoad.idxSam + i, 24),baseLoad.iHis[baseLoad._typeOfDay[1],Buildings.Controls.Predictors.ElectricalLoad$baseLoad.getIndex(1 + baseLoad.idxSam + i, 24)]];
else
baseLoad.EHisAve := 0.0;
baseLoad.EActAve := 0.0;
end if;
end for;
if baseLoad.EHisAve > 1e-15 or baseLoad.EHisAve < -1e-15 then
baseLoad.adj := min(baseLoad.maxAdjFac, max(baseLoad.minAdjFac, baseLoad.EActAve / baseLoad.EHisAve));
else
baseLoad.adj := 1.0;
end if;
baseLoad.PPre[:] := {baseLoad.PPre[1] * baseLoad.adj, baseLoad.PPre[2] * baseLoad.adj, baseLoad.PPre[3] * baseLoad.adj, baseLoad.PPre[4] * baseLoad.adj, baseLoad.PPre[5] * baseLoad.adj, baseLoad.PPre[6] * baseLoad.adj, baseLoad.PPre[7] * baseLoad.adj, baseLoad.PPre[8] * baseLoad.adj, baseLoad.PPre[9] * baseLoad.adj, baseLoad.PPre[10] * baseLoad.adj, baseLoad.PPre[11] * baseLoad.adj, baseLoad.PPre[12] * baseLoad.adj};
for i in 1:12 loop
baseLoad.iSam[i] := Buildings.Controls.Predictors.ElectricalLoad$baseLoad.incrementIndex(baseLoad.iSam[i], 24);
end for;
end when;
4 : tri.y = time >= tri.pulsStart and time < tri.pulsStart + tri.Twidth
5 : dayType.y[1] = dayType.days[1 + mod(-1 + dayType.iDay, 7)]
6 : dayType.y[2] = dayType.days[1 + mod(dayType.iDay, 7)]
7 : dayType.sampleTrigger = sample(3, dayType.firstSample, dayType.samplePeriod)
8 : notEventDay.y = not notEventDay.u
9 : PBas.y = PBas.offset + (if time < PBas.startTime then 0.0 else PBas.amplitude * cos(6.283185307179586 * PBas.freqHz * (time - PBas.startTime) + PBas.phase))
10 : P.sampleTrigger = sample(4, P.startTime, P.samplePeriod)
11 : der(integrator.y) = integrator.k * integrator.u
12 : realExpression.y = if dayType.y[1] == Buildings.Controls.Types.Day.WorkingDay then 0.0 else 1.0
13 : PCon.y = PCon.k1 * PCon.u1 + PCon.k2 * PCon.u2
14 : P.y = integrator.u
15 : baseLoad.ECon = integrator.y
16 : PBas.y = PCon.u2
17 : PCon.u1 = realExpression.y
18 : P.u = PCon.y
19 : notEventDay.u = tri.y
20 : baseLoad.storeHistory = notEventDay.y
21 : baseLoad.typeOfDay[1] = dayType.y[1]
22 : baseLoad.typeOfDay[2] = dayType.y[2]
23 : when P.sampleTrigger then
P.firstTrigger := time <= P.startTime + 0.5 * P.samplePeriod;
end when;
24 : when {P.sampleTrigger, initial()} then
P.y := P.u;
end when;
25 : when dayType.sampleTrigger then
dayType.skipIDayIncrement := false;
end when;
26 : when dayType.sampleTrigger then
dayType.iDay := if pre(dayType.skipIDayIncrement) then pre(dayType.iDay) else 1 + mod(pre(dayType.iDay), 7);
end when;
27 : when sample(2, tri.startTime, tri.period) then
tri.pulsStart := time;
end when;
Notification: Performance of preOpt clockPartitioning (simulation) : time 0.002599/0.7769, allocations: 1.782 MB / 0.8311 GB, free: 10.09 MB / 0.5105 GB
Error: pre-optimization module clockPartitioning (simulation) failed.