Running: ./testmodel.py --libraries=/home/hudson/saved_omc/libraries/.openmodelica/libraries --ompython_omhome=/usr Buildings_10_Buildings.Controls.DemandResponse.Examples.ClientLBNL90.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 4.0.0+maint.om/package.mo", uses=false) loadFile("/home/hudson/saved_omc/libraries/.openmodelica/libraries/Buildings 10.1.0-maint.10.0.x/package.mo", uses=false) Using package Buildings with version 10.1.0 (/home/hudson/saved_omc/libraries/.openmodelica/libraries/Buildings 10.1.0-maint.10.0.x/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(Buildings.Controls.DemandResponse.Examples.ClientLBNL90,tolerance=1e-06,outputFormat="mat",numberOfIntervals=5000,variableFilter="time|ene.u|clientAverage.PPre|clientWeather.PPre|relErrAverage.y|relErrWeather.y",fileNamePrefix="Buildings_10_Buildings.Controls.DemandResponse.Examples.ClientLBNL90") translateModel(Buildings.Controls.DemandResponse.Examples.ClientLBNL90,tolerance=1e-06,outputFormat="mat",numberOfIntervals=5000,variableFilter="time|ene.u|clientAverage.PPre|clientWeather.PPre|relErrAverage.y|relErrWeather.y",fileNamePrefix="Buildings_10_Buildings.Controls.DemandResponse.Examples.ClientLBNL90") Notification: Performance of loadFile(/home/hudson/saved_omc/libraries/.openmodelica/libraries/ModelicaServices 4.0.0+maint.om/package.mo): time 0.001137/0.001137, allocations: 87.11 kB / 15.06 MB, free: 1.09 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.001726/0.001726, allocations: 168.7 kB / 15.95 MB, free: 204 kB / 14.72 MB Notification: Performance of loadFile(/home/hudson/saved_omc/libraries/.openmodelica/libraries/Modelica 4.0.0+maint.om/package.mo): time 1.497/1.497, allocations: 223.3 MB / 240 MB, free: 5.391 MB / 190.1 MB Notification: Performance of loadFile(/home/hudson/saved_omc/libraries/.openmodelica/libraries/Buildings 10.1.0-maint.10.0.x/package.mo): time 2.712/2.712, allocations: 437.7 MB / 0.7117 GB, free: 7.145 MB / 0.5606 GB Notification: Performance of FrontEnd - loaded program: time 0.0004438/0.0004439, allocations: 8 kB / 0.8722 GB, free: 3.75 MB / 0.7169 GB Notification: Performance of FrontEnd - Absyn->SCode: time 0.8258/0.8263, allocations: 153.8 MB / 1.022 GB, free: 96 kB / 0.7637 GB Notification: Performance of NFInst.instantiate(Buildings.Controls.DemandResponse.Examples.ClientLBNL90): time 0.004025/0.8304, allocations: 2.769 MB / 1.025 GB, free: 13.31 MB / 0.7794 GB Notification: Performance of NFInst.instExpressions: time 0.005349/0.8357, allocations: 2.781 MB / 1.028 GB, free: 10.52 MB / 0.7794 GB Notification: Performance of NFInst.updateImplicitVariability: time 0.0007713/0.8366, allocations: 15.88 kB / 1.028 GB, free: 10.5 MB / 0.7794 GB Notification: Performance of NFTyping.typeComponents: time 0.0009068/0.8375, allocations: 143.1 kB / 1.028 GB, free: 10.36 MB / 0.7794 GB Notification: Performance of NFTyping.typeBindings: time 0.0008386/0.8384, allocations: 147.2 kB / 1.028 GB, free: 10.21 MB / 0.7794 GB Notification: Performance of NFTyping.typeClassSections: time 0.003286/0.8417, allocations: 1.518 MB / 1.03 GB, free: 8.699 MB / 0.7794 GB Notification: Performance of NFFlatten.flatten: time 0.00396/0.8457, allocations: 1.803 MB / 1.031 GB, free: 6.895 MB / 0.7794 GB Notification: Performance of NFFlatten.resolveConnections: time 0.0007278/0.8464, allocations: 266.3 kB / 1.032 GB, free: 6.629 MB / 0.7794 GB Notification: Performance of NFEvalConstants.evaluate: time 0.002389/0.8488, allocations: 1.487 MB / 1.033 GB, free: 5.141 MB / 0.7794 GB Notification: Performance of NFSimplifyModel.simplify: time 0.006504/0.8553, allocations: 4.9 MB / 1.038 GB, free: 244 kB / 0.7794 GB Notification: Performance of NFPackage.collectConstants: time 0.0009173/0.8563, allocations: 27.94 kB / 1.038 GB, free: 216 kB / 0.7794 GB Notification: Performance of NFFlatten.collectFunctions: time 0.003647/0.86, allocations: 215.7 kB / 1.038 GB, free: 0 / 0.7794 GB Notification: Performance of NFScalarize.scalarize: time 0.01491/0.8749, allocations: 16.92 MB / 1.055 GB, free: 15.05 MB / 0.8106 GB Notification: Performance of NFVerifyModel.verify: time 0.01139/0.8863, allocations: 9.282 MB / 1.064 GB, free: 5.742 MB / 0.8106 GB Notification: Performance of NFConvertDAE.convert: time 0.03989/0.9262, allocations: 40.5 MB / 1.103 GB, free: 13.15 MB / 0.8575 GB Notification: Performance of FrontEnd - DAE generated: time 8.926e-06/0.9263, allocations: 0 / 1.103 GB, free: 13.15 MB / 0.8575 GB Notification: Performance of FrontEnd: time 3.226e-06/0.9263, allocations: 0 / 1.103 GB, free: 13.15 MB / 0.8575 GB Notification: Performance of Transformations before backend: time 0.002401/0.9287, allocations: 4 kB / 1.103 GB, free: 13.15 MB / 0.8575 GB Notification: Model statistics after passing the front-end and creating the data structures used by the back-end: * Number of equations: 11065 * Number of variables: 11065 Notification: Performance of Generate backend data structure: time 0.07017/0.9989, allocations: 34.7 MB / 1.137 GB, free: 10.25 MB / 0.8887 GB Notification: Performance of prepare preOptimizeDAE: time 5.52e-05/0.999, allocations: 8.562 kB / 1.137 GB, free: 10.24 MB / 0.8887 GB Notification: Performance of preOpt normalInlineFunction (simulation): time 0.01114/1.01, allocations: 3.525 MB / 1.141 GB, free: 6.676 MB / 0.8887 GB Notification: Performance of preOpt evaluateParameters (simulation): time 0.02311/1.033, allocations: 10.22 MB / 1.151 GB, free: 12.38 MB / 0.9044 GB Notification: Performance of preOpt simplifyIfEquations (simulation): time 0.003309/1.037, allocations: 2.435 MB / 1.153 GB, free: 9.941 MB / 0.9044 GB Notification: Performance of preOpt expandDerOperator (simulation): time 0.007893/1.045, allocations: 3.648 MB / 1.156 GB, free: 6.293 MB / 0.9044 GB Error: An independent subset of the model has imbalanced number of equations (11062) and variables (118). variables: yShed.y ene.y ene.u relErrWeather.y relErrWeather.u relErrAverage.y relErrAverage.u errorWeather.y errorWeather.u2 errorWeather.u1 clientWeather.switch.y clientWeather.switch.u3 clientWeather.switch.u2 clientWeather.switch.u1 clientWeather.comBasLin.stoHis.y clientWeather.comBasLin.stoHis.u clientWeather.comBasLin.basLin.TOut_in_internal clientWeather.comBasLin.basLin.idxSam clientWeather.comBasLin.basLin.intTOutLast clientWeather.comBasLin.basLin.intTOut clientWeather.comBasLin.basLin.EHisAve clientWeather.comBasLin.basLin.EActAve clientWeather.comBasLin.basLin._storeHistory clientWeather.comBasLin.basLin._typeOfDay[1] clientWeather.comBasLin.basLin.iSam[1] clientWeather.comBasLin.basLin.tLast clientWeather.comBasLin.basLin.ELast clientWeather.comBasLin.basLin.sampleTrigger clientWeather.comBasLin.basLin.PAve clientWeather.comBasLin.basLin.adj clientWeather.comBasLin.basLin.storeHistory clientWeather.comBasLin.basLin.typeOfDay[2] clientWeather.comBasLin.basLin.typeOfDay[1] clientWeather.comBasLin.basLin.PPre[1] clientWeather.comBasLin.basLin.ECon clientWeather.comBasLin.basLin.TOut clientWeather.comBasLin.isEventDay clientWeather.comBasLin.typeOfDay[2] clientWeather.comBasLin.typeOfDay[1] clientWeather.comBasLin.TOut clientWeather.comBasLin.PPre[1] clientWeather.comBasLin.ECon clientWeather.conInt.y clientWeather.extIndRea.y clientWeather.extIndRea.u[1] clientWeather.extIndRea.index clientWeather.she.y clientWeather.she.u2 clientWeather.she.u1 clientWeather.PPreNoShe[1] clientWeather.PPre clientWeather.TOut clientWeather.yShed clientWeather.shed clientWeather.ECon clientWeather.isEventDay clientWeather.typeOfDay[2] clientWeather.typeOfDay[1] errorAverage.y errorAverage.u2 errorAverage.u1 drSig.y drSig.u bui90.timeScaled bui90.nextTimeEventScaled bui90.nextTimeEvent bui90.y[3] bui90.y[2] bui90.y[1] dayType.skipIDayIncrement dayType.sampleTrigger dayType.iDay dayType.y[2] dayType.y[1] clientAverage.switch.y clientAverage.switch.u3 clientAverage.switch.u2 clientAverage.switch.u1 clientAverage.comBasLin.stoHis.y clientAverage.comBasLin.stoHis.u clientAverage.comBasLin.basLin.idxSam clientAverage.comBasLin.basLin.intTOutLast clientAverage.comBasLin.basLin.intTOut clientAverage.comBasLin.basLin.EHisAve clientAverage.comBasLin.basLin.EActAve clientAverage.comBasLin.basLin._storeHistory clientAverage.comBasLin.basLin._typeOfDay[1] clientAverage.comBasLin.basLin.iSam[1] clientAverage.comBasLin.basLin.tLast clientAverage.comBasLin.basLin.ELast clientAverage.comBasLin.basLin.sampleTrigger clientAverage.comBasLin.basLin.PAve clientAverage.comBasLin.basLin.adj clientAverage.comBasLin.basLin.storeHistory clientAverage.comBasLin.basLin.typeOfDay[2] clientAverage.comBasLin.basLin.typeOfDay[1] clientAverage.comBasLin.basLin.PPre[1] clientAverage.comBasLin.basLin.ECon clientAverage.comBasLin.isEventDay clientAverage.comBasLin.typeOfDay[2] clientAverage.comBasLin.typeOfDay[1] clientAverage.comBasLin.PPre[1] clientAverage.comBasLin.ECon clientAverage.conInt.y clientAverage.extIndRea.y clientAverage.extIndRea.u[1] clientAverage.extIndRea.index clientAverage.she.y clientAverage.she.u2 clientAverage.she.u1 clientAverage.PPreNoShe[1] clientAverage.PPre clientAverage.yShed clientAverage.shed clientAverage.ECon clientAverage.isEventDay clientAverage.typeOfDay[2] clientAverage.typeOfDay[1] equations: 1 : algorithm assert(clientAverage.extIndRea.index > 0 and clientAverage.extIndRea.index <= 1, "In " + "Buildings.Controls.DemandResponse.Examples.ClientLBNL90.clientAverage.extIndRea" + ": The extract index is out of the range."); clientAverage.extIndRea.y := clientAverage.extIndRea.u[min(1, max(1, clientAverage.extIndRea.index))]; 2 : algorithm when clientAverage.comBasLin.basLin.sampleTrigger then clientAverage.comBasLin.basLin._storeHistory := if not pre(clientAverage.comBasLin.basLin._storeHistory) and not Buildings.Controls.DemandResponse.Examples.ClientLBNL90.clientAverage.comBasLin.basLin.isMidNight(time) then false else clientAverage.comBasLin.basLin.storeHistory; clientAverage.comBasLin.basLin._typeOfDay := Buildings.Controls.DemandResponse.Examples.ClientLBNL90.clientAverage.comBasLin.basLin.getTypeOfDays(time, clientAverage.comBasLin.basLin.typeOfDay, clientAverage.comBasLin.basLin.dt, 1); clientAverage.comBasLin.basLin.idxSam := Buildings.Controls.DemandResponse.Examples.ClientLBNL90.clientAverage.comBasLin.basLin.getIndex(clientAverage.comBasLin.basLin.iSam[1] - 1, 96); if clientAverage.comBasLin.basLin._storeHistory or pre(clientAverage.comBasLin.basLin._storeHistory) then if time - clientAverage.comBasLin.basLin.tLast > 1e-05 then clientAverage.comBasLin.basLin.iHis[pre(clientAverage.comBasLin.basLin._typeOfDay[1]),clientAverage.comBasLin.basLin.idxSam] := Buildings.Controls.DemandResponse.Examples.ClientLBNL90.clientAverage.comBasLin.basLin.incrementIndex(clientAverage.comBasLin.basLin.iHis[pre(clientAverage.comBasLin.basLin._typeOfDay[1]),clientAverage.comBasLin.basLin.idxSam], 10); if clientAverage.comBasLin.basLin.iHis[pre(clientAverage.comBasLin.basLin._typeOfDay[1]),clientAverage.comBasLin.basLin.idxSam] == 10 then clientAverage.comBasLin.basLin.historyComplete[pre(clientAverage.comBasLin.basLin._typeOfDay[1]),clientAverage.comBasLin.basLin.idxSam] := true; end if; clientAverage.comBasLin.basLin.PAve := (clientAverage.comBasLin.basLin.ECon - clientAverage.comBasLin.basLin.ELast) / (time - clientAverage.comBasLin.basLin.tLast); clientAverage.comBasLin.basLin.P[pre(clientAverage.comBasLin.basLin._typeOfDay[1]),clientAverage.comBasLin.basLin.idxSam,clientAverage.comBasLin.basLin.iHis[pre(clientAverage.comBasLin.basLin._typeOfDay[1]),clientAverage.comBasLin.basLin.idxSam]] := clientAverage.comBasLin.basLin.PAve; end if; end if; clientAverage.comBasLin.basLin.ELast := clientAverage.comBasLin.basLin.ECon; clientAverage.comBasLin.basLin.intTOutLast := clientAverage.comBasLin.basLin.intTOut; clientAverage.comBasLin.basLin.tLast := time; for m/* iter index 0 */ in 1:1 loop clientAverage.comBasLin.basLin.PPre[m] := Buildings.Controls.Predictors.BaseClasses.average(array(clientAverage.comBasLin.basLin.P[clientAverage.comBasLin.basLin._typeOfDay[m],clientAverage.comBasLin.basLin.iSam[m],i] for i in 1:10), if clientAverage.comBasLin.basLin.historyComplete[clientAverage.comBasLin.basLin._typeOfDay[m],clientAverage.comBasLin.basLin.iSam[m]] then 10 else clientAverage.comBasLin.basLin.iHis[clientAverage.comBasLin.basLin._typeOfDay[m],clientAverage.comBasLin.basLin.iSam[m]]); end for; if clientAverage.comBasLin.basLin._storeHistory or pre(clientAverage.comBasLin.basLin._storeHistory) then clientAverage.comBasLin.basLin.PPreHis[clientAverage.comBasLin.basLin._typeOfDay[1],Buildings.Controls.DemandResponse.Examples.ClientLBNL90.clientAverage.comBasLin.basLin.getIndex(clientAverage.comBasLin.basLin.idxSam + 1, 96)] := clientAverage.comBasLin.basLin.PPre[1]; clientAverage.comBasLin.basLin.PPreHisSet[clientAverage.comBasLin.basLin._typeOfDay[1],Buildings.Controls.DemandResponse.Examples.ClientLBNL90.clientAverage.comBasLin.basLin.getIndex(clientAverage.comBasLin.basLin.idxSam + 1, 96)] := clientAverage.comBasLin.basLin.iHis[clientAverage.comBasLin.basLin._typeOfDay[1],clientAverage.comBasLin.basLin.iSam[1]] > 0; end if; clientAverage.comBasLin.basLin.EHisAve := 0.0; clientAverage.comBasLin.basLin.EActAve := 0.0; for i/* iter index 0 */ in -16:-5 loop if Modelica.Math.BooleanVectors.allTrue(array(clientAverage.comBasLin.basLin.PPreHisSet[clientAverage.comBasLin.basLin._typeOfDay[1],Buildings.Controls.DemandResponse.Examples.ClientLBNL90.clientAverage.comBasLin.basLin.getIndex(clientAverage.comBasLin.basLin.iSam[1] + i, 96)] for i in -16:-5)) then clientAverage.comBasLin.basLin.EHisAve := clientAverage.comBasLin.basLin.EHisAve + clientAverage.comBasLin.basLin.dt * clientAverage.comBasLin.basLin.PPreHis[clientAverage.comBasLin.basLin._typeOfDay[1],Buildings.Controls.DemandResponse.Examples.ClientLBNL90.clientAverage.comBasLin.basLin.getIndex(clientAverage.comBasLin.basLin.idxSam + i + 1, 96)]; clientAverage.comBasLin.basLin.EActAve := clientAverage.comBasLin.basLin.EActAve + clientAverage.comBasLin.basLin.dt * clientAverage.comBasLin.basLin.P[clientAverage.comBasLin.basLin._typeOfDay[1],Buildings.Controls.DemandResponse.Examples.ClientLBNL90.clientAverage.comBasLin.basLin.getIndex(clientAverage.comBasLin.basLin.idxSam + i + 1, 96),clientAverage.comBasLin.basLin.iHis[clientAverage.comBasLin.basLin._typeOfDay[1],Buildings.Controls.DemandResponse.Examples.ClientLBNL90.clientAverage.comBasLin.basLin.getIndex(clientAverage.comBasLin.basLin.idxSam + i + 1, 96)]]; else clientAverage.comBasLin.basLin.EHisAve := 0.0; clientAverage.comBasLin.basLin.EActAve := 0.0; end if; end for; if clientAverage.comBasLin.basLin.EHisAve > 1e-15 or clientAverage.comBasLin.basLin.EHisAve < -1e-15 then clientAverage.comBasLin.basLin.adj := min(clientAverage.comBasLin.basLin.maxAdjFac, max(clientAverage.comBasLin.basLin.minAdjFac, clientAverage.comBasLin.basLin.EActAve / clientAverage.comBasLin.basLin.EHisAve)); else clientAverage.comBasLin.basLin.adj := 1.0; end if; clientAverage.comBasLin.basLin.PPre[:] := {clientAverage.comBasLin.basLin.PPre[1] * clientAverage.comBasLin.basLin.adj}; for i/* iter index 0 */ in 1:1 loop clientAverage.comBasLin.basLin.iSam[i] := Buildings.Controls.DemandResponse.Examples.ClientLBNL90.clientAverage.comBasLin.basLin.incrementIndex(clientAverage.comBasLin.basLin.iSam[i], 96); end for; end when; 3 : algorithm assert(clientWeather.extIndRea.index > 0 and clientWeather.extIndRea.index <= 1, "In " + "Buildings.Controls.DemandResponse.Examples.ClientLBNL90.clientWeather.extIndRea" + ": The extract index is out of the range."); clientWeather.extIndRea.y := clientWeather.extIndRea.u[min(1, max(1, clientWeather.extIndRea.index))]; 4 : algorithm when clientWeather.comBasLin.basLin.sampleTrigger then clientWeather.comBasLin.basLin._storeHistory := if not pre(clientWeather.comBasLin.basLin._storeHistory) and not Buildings.Controls.DemandResponse.Examples.ClientLBNL90.clientWeather.comBasLin.basLin.isMidNight(time) then false else clientWeather.comBasLin.basLin.storeHistory; clientWeather.comBasLin.basLin._typeOfDay := Buildings.Controls.DemandResponse.Examples.ClientLBNL90.clientWeather.comBasLin.basLin.getTypeOfDays(time, clientWeather.comBasLin.basLin.typeOfDay, clientWeather.comBasLin.basLin.dt, 1); clientWeather.comBasLin.basLin.idxSam := Buildings.Controls.DemandResponse.Examples.ClientLBNL90.clientWeather.comBasLin.basLin.getIndex(clientWeather.comBasLin.basLin.iSam[1] - 1, 96); if clientWeather.comBasLin.basLin._storeHistory or pre(clientWeather.comBasLin.basLin._storeHistory) then if time - clientWeather.comBasLin.basLin.tLast > 1e-05 then clientWeather.comBasLin.basLin.iHis[pre(clientWeather.comBasLin.basLin._typeOfDay[1]),clientWeather.comBasLin.basLin.idxSam] := Buildings.Controls.DemandResponse.Examples.ClientLBNL90.clientWeather.comBasLin.basLin.incrementIndex(clientWeather.comBasLin.basLin.iHis[pre(clientWeather.comBasLin.basLin._typeOfDay[1]),clientWeather.comBasLin.basLin.idxSam], 10); if clientWeather.comBasLin.basLin.iHis[pre(clientWeather.comBasLin.basLin._typeOfDay[1]),clientWeather.comBasLin.basLin.idxSam] == 10 then clientWeather.comBasLin.basLin.historyComplete[pre(clientWeather.comBasLin.basLin._typeOfDay[1]),clientWeather.comBasLin.basLin.idxSam] := true; end if; clientWeather.comBasLin.basLin.PAve := (clientWeather.comBasLin.basLin.ECon - clientWeather.comBasLin.basLin.ELast) / (time - clientWeather.comBasLin.basLin.tLast); clientWeather.comBasLin.basLin.P[pre(clientWeather.comBasLin.basLin._typeOfDay[1]),clientWeather.comBasLin.basLin.idxSam,clientWeather.comBasLin.basLin.iHis[pre(clientWeather.comBasLin.basLin._typeOfDay[1]),clientWeather.comBasLin.basLin.idxSam]] := clientWeather.comBasLin.basLin.PAve; clientWeather.comBasLin.basLin.T[pre(clientWeather.comBasLin.basLin._typeOfDay[1]),clientWeather.comBasLin.basLin.idxSam,clientWeather.comBasLin.basLin.iHis[pre(clientWeather.comBasLin.basLin._typeOfDay[1]),clientWeather.comBasLin.basLin.idxSam]] := (clientWeather.comBasLin.basLin.intTOut - clientWeather.comBasLin.basLin.intTOutLast) / (time - clientWeather.comBasLin.basLin.tLast); end if; end if; clientWeather.comBasLin.basLin.ELast := clientWeather.comBasLin.basLin.ECon; clientWeather.comBasLin.basLin.intTOutLast := clientWeather.comBasLin.basLin.intTOut; clientWeather.comBasLin.basLin.tLast := time; for m/* iter index 0 */ in 1:1 loop clientWeather.comBasLin.basLin.PPre[m] := Buildings.Controls.Predictors.BaseClasses.weatherRegression(array(clientWeather.comBasLin.basLin.P[clientWeather.comBasLin.basLin._typeOfDay[m],clientWeather.comBasLin.basLin.iSam[m],i] for i in 1:10), if clientWeather.comBasLin.basLin.historyComplete[clientWeather.comBasLin.basLin._typeOfDay[m],clientWeather.comBasLin.basLin.iSam[m]] then 10 else clientWeather.comBasLin.basLin.iHis[clientWeather.comBasLin.basLin._typeOfDay[m],clientWeather.comBasLin.basLin.iSam[m]], if m == 1 then clientWeather.comBasLin.basLin.TOut_in_internal else clientWeather.comBasLin.basLin.TOutFut_in_internal[m - 1], array(clientWeather.comBasLin.basLin.T[clientWeather.comBasLin.basLin._typeOfDay[m],clientWeather.comBasLin.basLin.iSam[m],i] for i in 1:10)); end for; if clientWeather.comBasLin.basLin._storeHistory or pre(clientWeather.comBasLin.basLin._storeHistory) then clientWeather.comBasLin.basLin.PPreHis[clientWeather.comBasLin.basLin._typeOfDay[1],Buildings.Controls.DemandResponse.Examples.ClientLBNL90.clientWeather.comBasLin.basLin.getIndex(clientWeather.comBasLin.basLin.idxSam + 1, 96)] := clientWeather.comBasLin.basLin.PPre[1]; clientWeather.comBasLin.basLin.PPreHisSet[clientWeather.comBasLin.basLin._typeOfDay[1],Buildings.Controls.DemandResponse.Examples.ClientLBNL90.clientWeather.comBasLin.basLin.getIndex(clientWeather.comBasLin.basLin.idxSam + 1, 96)] := clientWeather.comBasLin.basLin.iHis[clientWeather.comBasLin.basLin._typeOfDay[1],clientWeather.comBasLin.basLin.iSam[1]] > 0; end if; clientWeather.comBasLin.basLin.EHisAve := 0.0; clientWeather.comBasLin.basLin.EActAve := 0.0; for i/* iter index 0 */ in -16:-5 loop if Modelica.Math.BooleanVectors.allTrue(array(clientWeather.comBasLin.basLin.PPreHisSet[clientWeather.comBasLin.basLin._typeOfDay[1],Buildings.Controls.DemandResponse.Examples.ClientLBNL90.clientWeather.comBasLin.basLin.getIndex(clientWeather.comBasLin.basLin.iSam[1] + i, 96)] for i in -16:-5)) then clientWeather.comBasLin.basLin.EHisAve := clientWeather.comBasLin.basLin.EHisAve + clientWeather.comBasLin.basLin.dt * clientWeather.comBasLin.basLin.PPreHis[clientWeather.comBasLin.basLin._typeOfDay[1],Buildings.Controls.DemandResponse.Examples.ClientLBNL90.clientWeather.comBasLin.basLin.getIndex(clientWeather.comBasLin.basLin.idxSam + i + 1, 96)]; clientWeather.comBasLin.basLin.EActAve := clientWeather.comBasLin.basLin.EActAve + clientWeather.comBasLin.basLin.dt * clientWeather.comBasLin.basLin.P[clientWeather.comBasLin.basLin._typeOfDay[1],Buildings.Controls.DemandResponse.Examples.ClientLBNL90.clientWeather.comBasLin.basLin.getIndex(clientWeather.comBasLin.basLin.idxSam + i + 1, 96),clientWeather.comBasLin.basLin.iHis[clientWeather.comBasLin.basLin._typeOfDay[1],Buildings.Controls.DemandResponse.Examples.ClientLBNL90.clientWeather.comBasLin.basLin.getIndex(clientWeather.comBasLin.basLin.idxSam + i + 1, 96)]]; else clientWeather.comBasLin.basLin.EHisAve := 0.0; clientWeather.comBasLin.basLin.EActAve := 0.0; end if; end for; if clientWeather.comBasLin.basLin.EHisAve > 1e-15 or clientWeather.comBasLin.basLin.EHisAve < -1e-15 then clientWeather.comBasLin.basLin.adj := min(clientWeather.comBasLin.basLin.maxAdjFac, max(clientWeather.comBasLin.basLin.minAdjFac, clientWeather.comBasLin.basLin.EActAve / clientWeather.comBasLin.basLin.EHisAve)); else clientWeather.comBasLin.basLin.adj := 1.0; end if; clientWeather.comBasLin.basLin.PPre[:] := {clientWeather.comBasLin.basLin.PPre[1] * clientWeather.comBasLin.basLin.adj}; for i/* iter index 0 */ in 1:1 loop clientWeather.comBasLin.basLin.iSam[i] := Buildings.Controls.DemandResponse.Examples.ClientLBNL90.clientWeather.comBasLin.basLin.incrementIndex(clientWeather.comBasLin.basLin.iSam[i], 96); end for; end when; 5 : clientAverage.comBasLin.basLin.ECon = clientAverage.comBasLin.ECon 6 : clientAverage.comBasLin.basLin.PPre[1] = clientAverage.comBasLin.PPre[1] 7 : clientAverage.comBasLin.stoHis.u = clientAverage.comBasLin.isEventDay 8 : clientAverage.comBasLin.stoHis.y = clientAverage.comBasLin.basLin.storeHistory 9 : clientAverage.comBasLin.basLin.typeOfDay[1] = clientAverage.comBasLin.typeOfDay[1] 10 : clientAverage.comBasLin.basLin.typeOfDay[2] = clientAverage.comBasLin.typeOfDay[2] 11 : clientAverage.comBasLin.ECon = clientAverage.ECon 12 : clientAverage.isEventDay = clientAverage.comBasLin.isEventDay 13 : clientAverage.typeOfDay[1] = clientAverage.comBasLin.typeOfDay[1] 14 : clientAverage.typeOfDay[2] = clientAverage.comBasLin.typeOfDay[2] 15 : clientAverage.switch.y = clientAverage.PPre 16 : clientAverage.comBasLin.PPre[1] = clientAverage.extIndRea.u[1] 17 : clientAverage.comBasLin.PPre[1] = clientAverage.PPreNoShe[1] 18 : clientAverage.switch.u1 = clientAverage.she.y 19 : clientAverage.yShed = clientAverage.she.u2 20 : clientAverage.shed = clientAverage.switch.u2 21 : clientAverage.conInt.y = clientAverage.extIndRea.index 22 : clientAverage.extIndRea.y = clientAverage.she.u1 23 : clientAverage.extIndRea.y = clientAverage.switch.u3 24 : clientWeather.comBasLin.basLin.TOut = clientWeather.comBasLin.basLin.TOut_in_internal 25 : clientWeather.comBasLin.basLin.ECon = clientWeather.comBasLin.ECon 26 : clientWeather.comBasLin.TOut = clientWeather.comBasLin.basLin.TOut 27 : clientWeather.comBasLin.basLin.PPre[1] = clientWeather.comBasLin.PPre[1] 28 : clientWeather.comBasLin.stoHis.u = clientWeather.comBasLin.isEventDay 29 : clientWeather.comBasLin.stoHis.y = clientWeather.comBasLin.basLin.storeHistory 30 : clientWeather.comBasLin.basLin.typeOfDay[1] = clientWeather.comBasLin.typeOfDay[1] 31 : clientWeather.comBasLin.basLin.typeOfDay[2] = clientWeather.comBasLin.typeOfDay[2] 32 : clientWeather.comBasLin.ECon = clientWeather.ECon 33 : clientWeather.isEventDay = clientWeather.comBasLin.isEventDay 34 : clientWeather.comBasLin.TOut = clientWeather.TOut 35 : clientWeather.typeOfDay[1] = clientWeather.comBasLin.typeOfDay[1] 36 : clientWeather.typeOfDay[2] = clientWeather.comBasLin.typeOfDay[2] 37 : clientWeather.switch.y = clientWeather.PPre 38 : clientWeather.comBasLin.PPre[1] = clientWeather.extIndRea.u[1] 39 : clientWeather.comBasLin.PPre[1] = clientWeather.PPreNoShe[1] 40 : clientWeather.switch.u1 = clientWeather.she.y 41 : clientWeather.yShed = clientWeather.she.u2 42 : clientWeather.shed = clientWeather.switch.u2 43 : clientWeather.conInt.y = clientWeather.extIndRea.index 44 : clientWeather.extIndRea.y = clientWeather.she.u1 45 : clientWeather.extIndRea.y = clientWeather.switch.u3 46 : drSig.y = clientWeather.shed 47 : drSig.y = clientWeather.isEventDay 48 : drSig.y = clientAverage.shed 49 : drSig.y = clientAverage.isEventDay 50 : drSig.u = bui90.y[3] 51 : clientAverage.PPre = errorAverage.u1 52 : clientWeather.PPre = errorWeather.u1 53 : clientWeather.TOut = bui90.y[1] 54 : relErrAverage.u = errorAverage.y 55 : relErrWeather.u = errorWeather.y 56 : errorAverage.u2 = bui90.y[2] 57 : errorAverage.u2 = errorWeather.u2 58 : errorAverage.u2 = ene.u 59 : ene.y = clientAverage.ECon 60 : ene.y = clientWeather.ECon 61 : dayType.y[1] = clientWeather.typeOfDay[1] 62 : dayType.y[1] = clientAverage.typeOfDay[1] 63 : dayType.y[2] = clientWeather.typeOfDay[2] 64 : dayType.y[2] = clientAverage.typeOfDay[2] 65 : clientWeather.yShed = yShed.y 66 : clientWeather.yShed = clientAverage.yShed 67 : clientAverage.she.y = clientAverage.she.u1 * clientAverage.she.u2 68 : clientAverage.conInt.y = clientAverage.conInt.k 69 : clientAverage.comBasLin.basLin.sampleTrigger = sample(1, clientAverage.comBasLin.basLin.samStart, clientAverage.comBasLin.basLin.samplePeriod) 70 : clientAverage.comBasLin.basLin.intTOut = 0.0 71 : clientAverage.comBasLin.stoHis.y = not clientAverage.comBasLin.stoHis.u 72 : clientAverage.switch.y = if clientAverage.switch.u2 then clientAverage.switch.u1 else clientAverage.switch.u3 73 : dayType.y[1] = dayType.days[mod(dayType.iDay + 1 - 2, 7) + 1] 74 : dayType.y[2] = dayType.days[mod(dayType.iDay + 2 - 2, 7) + 1] 75 : dayType.sampleTrigger = sample(2, dayType.firstSample, dayType.samplePeriod) 76 : bui90.timeScaled = time 77 : bui90.y[1] = Modelica.Blocks.Tables.Internal.getTimeTableValueNoDer(bui90.tableID, 1, bui90.timeScaled, bui90.nextTimeEventScaled, pre(bui90.nextTimeEventScaled)) 78 : bui90.y[2] = Modelica.Blocks.Tables.Internal.getTimeTableValueNoDer(bui90.tableID, 2, bui90.timeScaled, bui90.nextTimeEventScaled, pre(bui90.nextTimeEventScaled)) 79 : bui90.y[3] = Modelica.Blocks.Tables.Internal.getTimeTableValueNoDer(bui90.tableID, 3, bui90.timeScaled, bui90.nextTimeEventScaled, pre(bui90.nextTimeEventScaled)) 80 : drSig.y = drSig.u > drSig.threshold 81 : errorAverage.y = errorAverage.k1 * errorAverage.u1 + errorAverage.k2 * errorAverage.u2 82 : clientWeather.she.y = clientWeather.she.u1 * clientWeather.she.u2 83 : clientWeather.conInt.y = clientWeather.conInt.k 84 : clientWeather.comBasLin.basLin.sampleTrigger = sample(3, clientWeather.comBasLin.basLin.samStart, clientWeather.comBasLin.basLin.samplePeriod) 85 : der(clientWeather.comBasLin.basLin.intTOut) = clientWeather.comBasLin.basLin.TOut_in_internal 86 : clientWeather.comBasLin.stoHis.y = not clientWeather.comBasLin.stoHis.u 87 : clientWeather.switch.y = if clientWeather.switch.u2 then clientWeather.switch.u1 else clientWeather.switch.u3 88 : errorWeather.y = errorWeather.k1 * errorWeather.u1 + errorWeather.k2 * errorWeather.u2 89 : relErrAverage.y = relErrAverage.k * relErrAverage.u 90 : relErrWeather.y = relErrWeather.k * relErrWeather.u 91 : der(ene.y) = ene.k * ene.u 92 : yShed.y = yShed.k 93 : when {time >= pre(bui90.nextTimeEvent), initial()} then bui90.nextTimeEventScaled := Modelica.Blocks.Tables.Internal.getNextTimeEvent(bui90.tableID, bui90.timeScaled); end when; 94 : when {time >= pre(bui90.nextTimeEvent), initial()} then bui90.nextTimeEvent := if bui90.nextTimeEventScaled < 9.999999999999999e+59 then bui90.nextTimeEventScaled else 9.999999999999999e+59; end when; 95 : when dayType.sampleTrigger then dayType.skipIDayIncrement := false; end when; 96 : when dayType.sampleTrigger then dayType.iDay := if pre(dayType.skipIDayIncrement) then pre(dayType.iDay) else mod(pre(dayType.iDay), 7) + 1; end when; Notification: Performance of preOpt clockPartitioning (simulation) : time 0.004582/1.049, allocations: 2.859 MB / 1.159 GB, free: 3.383 MB / 0.9044 GB Error: pre-optimization module clockPartitioning (simulation) failed.