Running: ./testmodel.py --libraries=/home/hudson/saved_omc/libraries/.openmodelica/libraries/ --ompython_omhome=/usr Buildings_3.0.0_Buildings.Controls.Predictors.Validation.LinearInputDayOfAdjustment.conf.json
loadFile("/home/hudson/saved_omc/libraries/.openmodelica/libraries/Modelica_StateGraph2 2.0.2/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 3.2.3+maint.om/package.mo", uses=false)
loadFile("/home/hudson/saved_omc/libraries/.openmodelica/libraries/Buildings 3.0.0/package.mo", uses=false)
Using package Buildings with version 3.0.0 (/home/hudson/saved_omc/libraries/.openmodelica/libraries/Buildings 3.0.0/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)
Using package Modelica_StateGraph2 with version 2.0.2 (/home/hudson/saved_omc/libraries/.openmodelica/libraries/Modelica_StateGraph2 2.0.2/package.mo)
Running command: translateModel(Buildings.Controls.Predictors.Validation.LinearInputDayOfAdjustment,tolerance=1e-06,outputFormat="empty",numberOfIntervals=5000,variableFilter="",fileNamePrefix="Buildings_3.0.0_Buildings.Controls.Predictors.Validation.LinearInputDayOfAdjustment")
translateModel(Buildings.Controls.Predictors.Validation.LinearInputDayOfAdjustment,tolerance=1e-06,outputFormat="empty",numberOfIntervals=5000,variableFilter="",fileNamePrefix="Buildings_3.0.0_Buildings.Controls.Predictors.Validation.LinearInputDayOfAdjustment")
[/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.1803/0.181, allocations: 82.22 MB / 0.5934 GB, free: 6.008 MB / 446.1 MB
Notification: Performance of NFInst.instantiate(Buildings.Controls.Predictors.Validation.LinearInputDayOfAdjustment): time 0.002891/0.1839, allocations: 1.92 MB / 0.5952 GB, free: 4.074 MB / 446.1 MB
Notification: Performance of NFInst.instExpressions: time 0.002329/0.1863, allocations: 1.26 MB / 0.5965 GB, free: 2.805 MB / 446.1 MB
Notification: Performance of NFInst.updateImplicitVariability: time 0.0002555/0.1866, allocations: 4 kB / 0.5965 GB, free: 2.801 MB / 446.1 MB
Notification: Performance of NFTyping.typeComponents: time 0.0003495/0.1869, allocations: 47.64 kB / 0.5965 GB, free: 2.754 MB / 446.1 MB
Notification: Performance of NFTyping.typeBindings: time 0.0002177/0.1872, allocations: 59.81 kB / 0.5966 GB, free: 2.695 MB / 446.1 MB
Notification: Performance of NFTyping.typeClassSections: time 0.001091/0.1883, allocations: 450.5 kB / 0.597 GB, free: 2.258 MB / 446.1 MB
Notification: Performance of NFFlatten.flatten: time 0.0006995/0.189, allocations: 427.3 kB / 0.5974 GB, free: 1.84 MB / 446.1 MB
Notification: Performance of NFFlatten.resolveConnections: time 0.0003156/0.1893, allocations: 160.1 kB / 0.5976 GB, free: 1.684 MB / 446.1 MB
Notification: Performance of NFEvalConstants.evaluate: time 0.0005328/0.1898, allocations: 383.3 kB / 0.5979 GB, free: 1.309 MB / 446.1 MB
Notification: Performance of NFSimplifyModel.simplify: time 0.0006369/0.1905, allocations: 423.2 kB / 0.5983 GB, free: 0.8945 MB / 446.1 MB
Notification: Performance of NFPackage.collectConstants: time 0.0002208/0.1907, allocations: 20 kB / 0.5983 GB, free: 0.875 MB / 446.1 MB
Notification: Performance of NFFlatten.collectFunctions: time 0.0004536/0.1912, allocations: 111.9 kB / 0.5985 GB, free: 0.7656 MB / 446.1 MB
Notification: Performance of NFScalarize.scalarize: time 0.001946/0.1931, allocations: 2.475 MB / 0.6009 GB, free: 14.29 MB / 462.1 MB
Notification: Performance of NFVerifyModel.verify: time 0.001675/0.1948, allocations: 1.288 MB / 0.6021 GB, free: 12.99 MB / 462.1 MB
Notification: Performance of NFConvertDAE.convert: time 0.003659/0.1985, allocations: 4.612 MB / 0.6066 GB, free: 8.367 MB / 462.1 MB
Notification: Performance of FrontEnd - DAE generated: time 3.717e-06/0.1985, allocations: 4 kB / 0.6066 GB, free: 8.363 MB / 462.1 MB
Notification: Performance of FrontEnd: time 1.794e-06/0.1985, allocations: 0 / 0.6066 GB, free: 8.363 MB / 462.1 MB
Notification: Performance of Transformations before backend: time 9.95e-05/0.1986, allocations: 0 / 0.6066 GB, free: 8.363 MB / 462.1 MB
Notification: Model statistics after passing the front-end and creating the data structures used by the back-end:
* Number of equations: 1841
* Number of variables: 1841
Notification: Performance of Generate backend data structure: time 0.006851/0.2055, allocations: 5.985 MB / 0.6125 GB, free: 2.297 MB / 462.1 MB
Notification: Performance of prepare preOptimizeDAE: time 4.934e-05/0.2055, allocations: 8.031 kB / 0.6125 GB, free: 2.289 MB / 462.1 MB
Notification: Performance of preOpt normalInlineFunction (simulation): time 0.0009465/0.2065, allocations: 0.618 MB / 0.6131 GB, free: 1.664 MB / 462.1 MB
Notification: Performance of preOpt evaluateParameters (simulation): time 0.004132/0.2106, allocations: 1.737 MB / 0.6148 GB, free: 15.88 MB / 478.1 MB
Notification: Performance of preOpt simplifyIfEquations (simulation): time 0.0003043/0.211, allocations: 432.5 kB / 0.6152 GB, free: 15.46 MB / 478.1 MB
Notification: Performance of preOpt expandDerOperator (simulation): time 0.0006903/0.2117, allocations: 0.6367 MB / 0.6158 GB, free: 14.82 MB / 478.1 MB
Error: An independent subset of the model has imbalanced number of equations (1806) and variables (78).
variables:
integrator.y
integrator.u
TSam.y
TSam.u
TSam.firstTrigger
TSam.sampleTrigger
err.y
err.u2
err.u1
to_degC.y
to_degC.u
PCon.y
PCon.u2
PCon.u1
POffSet.y
TOut.y
notEventDay.y
notEventDay.u
dayType.skipIDayIncrement
dayType.sampleTrigger
dayType.iDay
dayType.y[2]
dayType.y[1]
tri.pulseStart
tri.y
baseLoad.TOut_in_internal
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
baseLoad.TOut
equations:
1 : algorithm
when baseLoad.sampleTrigger then
baseLoad._storeHistory := if not pre(baseLoad._storeHistory) and not Buildings.Controls.Predictors.Validation.LinearInputDayOfAdjustment.baseLoad.isMidNight(time) then false else baseLoad.storeHistory;
baseLoad._typeOfDay := Buildings.Controls.Predictors.Validation.LinearInputDayOfAdjustment.baseLoad.getTypeOfDays(time, baseLoad.typeOfDay, baseLoad.dt, 12);
baseLoad.idxSam := Buildings.Controls.Predictors.Validation.LinearInputDayOfAdjustment.baseLoad.getIndex(baseLoad.iSam[1] - 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.Validation.LinearInputDayOfAdjustment.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;
baseLoad.T[pre(baseLoad._typeOfDay[1]),baseLoad.idxSam,baseLoad.iHis[pre(baseLoad._typeOfDay[1]),baseLoad.idxSam]] := (baseLoad.intTOut - baseLoad.intTOutLast) / (time - baseLoad.tLast);
end if;
end if;
baseLoad.ELast := baseLoad.ECon;
baseLoad.intTOutLast := baseLoad.intTOut;
baseLoad.tLast := time;
for m/* iter index 0 */ in 1:12 loop
baseLoad.PPre[m] := Buildings.Controls.Predictors.BaseClasses.weatherRegression(array(baseLoad.P[baseLoad._typeOfDay[m],baseLoad.iSam[m],i] for i in 1:10), if baseLoad.historyComplete[baseLoad._typeOfDay[m],baseLoad.iSam[m]] then 10 else baseLoad.iHis[baseLoad._typeOfDay[m],baseLoad.iSam[m]], if m == 1 then baseLoad.TOut_in_internal else baseLoad.TOutFut_in_internal[m - 1], array(baseLoad.T[baseLoad._typeOfDay[m],baseLoad.iSam[m],i] for i in 1:10));
end for;
if baseLoad._storeHistory or pre(baseLoad._storeHistory) then
baseLoad.PPreHis[baseLoad._typeOfDay[1],Buildings.Controls.Predictors.Validation.LinearInputDayOfAdjustment.baseLoad.getIndex(baseLoad.idxSam + 1, 24)] := baseLoad.PPre[1];
baseLoad.PPreHisSet[baseLoad._typeOfDay[1],Buildings.Controls.Predictors.Validation.LinearInputDayOfAdjustment.baseLoad.getIndex(baseLoad.idxSam + 1, 24)] := baseLoad.iHis[baseLoad._typeOfDay[1],baseLoad.iSam[1]] > 0;
end if;
baseLoad.EHisAve := 0.0;
baseLoad.EActAve := 0.0;
for i/* iter index 0 */ in -4:-2 loop
if Modelica.Math.BooleanVectors.allTrue(array(baseLoad.PPreHisSet[baseLoad._typeOfDay[1],Buildings.Controls.Predictors.Validation.LinearInputDayOfAdjustment.baseLoad.getIndex(baseLoad.iSam[1] + i, 24)] for i in -4:-2)) then
baseLoad.EHisAve := baseLoad.EHisAve + baseLoad.dt * baseLoad.PPreHis[baseLoad._typeOfDay[1],Buildings.Controls.Predictors.Validation.LinearInputDayOfAdjustment.baseLoad.getIndex(baseLoad.idxSam + i + 1, 24)];
baseLoad.EActAve := baseLoad.EActAve + baseLoad.dt * baseLoad.P[baseLoad._typeOfDay[1],Buildings.Controls.Predictors.Validation.LinearInputDayOfAdjustment.baseLoad.getIndex(baseLoad.idxSam + i + 1, 24),baseLoad.iHis[baseLoad._typeOfDay[1],Buildings.Controls.Predictors.Validation.LinearInputDayOfAdjustment.baseLoad.getIndex(baseLoad.idxSam + i + 1, 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/* iter index 0 */ in 1:12 loop
baseLoad.iSam[i] := Buildings.Controls.Predictors.Validation.LinearInputDayOfAdjustment.baseLoad.incrementIndex(baseLoad.iSam[i], 24);
end for;
end when;
2 : baseLoad.TOut = baseLoad.TOut_in_internal
3 : POffSet.y = PCon.u1
4 : TOut.y = TSam.u
5 : to_degC.u = TSam.y
6 : to_degC.u = baseLoad.TOut
7 : err.u2 = PCon.y
8 : err.u2 = integrator.u
9 : integrator.y = baseLoad.ECon
10 : to_degC.y = PCon.u2
11 : baseLoad.PPre[1] = err.u1
12 : tri.y = notEventDay.u
13 : notEventDay.y = baseLoad.storeHistory
14 : dayType.y[1] = baseLoad.typeOfDay[1]
15 : dayType.y[2] = baseLoad.typeOfDay[2]
16 : baseLoad.sampleTrigger = sample(1, baseLoad.samStart, baseLoad.samplePeriod)
17 : der(baseLoad.intTOut) = baseLoad.TOut_in_internal
18 : tri.y = time >= tri.pulseStart and time < tri.pulseStart + tri.Twidth
19 : dayType.y[1] = dayType.days[mod(dayType.iDay + 1 - 2, 7) + 1]
20 : dayType.y[2] = dayType.days[mod(dayType.iDay + 2 - 2, 7) + 1]
21 : dayType.sampleTrigger = sample(3, dayType.firstSample, dayType.samplePeriod)
22 : notEventDay.y = not notEventDay.u
23 : TOut.y = TOut.offset + (if time < TOut.startTime then 0.0 else if time < TOut.startTime + TOut.duration then (time - TOut.startTime) * TOut.height / TOut.duration else TOut.height)
24 : POffSet.y = POffSet.k
25 : PCon.y = PCon.k1 * PCon.u1 + PCon.k2 * PCon.u2
26 : to_degC.y = -273.15 + to_degC.u
27 : err.y = err.k1 * err.u1 + err.k2 * err.u2
28 : TSam.sampleTrigger = sample(4, TSam.startTime, TSam.samplePeriod)
29 : der(integrator.y) = integrator.k * integrator.u
30 : when TSam.sampleTrigger then
TSam.firstTrigger := time <= TSam.startTime + 0.5 * TSam.samplePeriod;
end when;
31 : when {TSam.sampleTrigger, initial()} then
TSam.y := TSam.u;
end when;
32 : when dayType.sampleTrigger then
dayType.skipIDayIncrement := false;
end when;
33 : when dayType.sampleTrigger then
dayType.iDay := if pre(dayType.skipIDayIncrement) then pre(dayType.iDay) else mod(pre(dayType.iDay), 7) + 1;
end when;
34 : when sample(2, tri.startTime, tri.period) then
tri.pulseStart := time;
end when;
Notification: Performance of preOpt clockPartitioning (simulation) : time 0.002185/0.2138, allocations: 1.467 MB / 0.6173 GB, free: 13.31 MB / 478.1 MB
Error: pre-optimization module clockPartitioning (simulation) failed.