Running: ./testmodel.py --libraries=/home/hudson/saved_omc/libraries/.openmodelica/libraries --ompython_omhome=/usr Buildings_9_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 9.1.2-maint.9.1.x/package.mo", uses=false) Using package Buildings with version 9.1.2 (/home/hudson/saved_omc/libraries/.openmodelica/libraries/Buildings 9.1.2-maint.9.1.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_9_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_9_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.001176/0.001176, allocations: 86.48 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.001216/0.001216, 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.589/1.589, allocations: 223.3 MB / 240 MB, free: 5.406 MB / 190.1 MB Notification: Performance of loadFile(/home/hudson/saved_omc/libraries/.openmodelica/libraries/Buildings 9.1.2-maint.9.1.x/package.mo): time 2.493/2.493, allocations: 390.9 MB / 0.666 GB, free: 2.449 MB / 0.5137 GB Notification: Performance of FrontEnd - loaded program: time 0.0003912/0.0003913, allocations: 8 kB / 0.8153 GB, free: 13.64 MB / 0.67 GB Notification: Performance of FrontEnd - Absyn->SCode: time 0.7872/0.7876, allocations: 142.4 MB / 0.9544 GB, free: 7.734 MB / 0.7169 GB Notification: Performance of NFInst.instantiate(Buildings.Controls.DemandResponse.Examples.ClientLBNL90): time 0.003298/0.791, allocations: 2.763 MB / 0.9571 GB, free: 5.559 MB / 0.7169 GB Notification: Performance of NFInst.instExpressions: time 0.004171/0.7952, allocations: 2.782 MB / 0.9598 GB, free: 3.375 MB / 0.7169 GB Notification: Performance of NFInst.updateImplicitVariability: time 0.0005611/0.7958, allocations: 13.38 kB / 0.9599 GB, free: 3.367 MB / 0.7169 GB Notification: Performance of NFTyping.typeComponents: time 0.0006635/0.7964, allocations: 144 kB / 0.96 GB, free: 3.254 MB / 0.7169 GB Notification: Performance of NFTyping.typeBindings: time 0.0005329/0.797, allocations: 151 kB / 0.9601 GB, free: 3.141 MB / 0.7169 GB Notification: Performance of NFTyping.typeClassSections: time 0.002287/0.7993, allocations: 1.519 MB / 0.9616 GB, free: 2.398 MB / 0.7169 GB Notification: Performance of NFFlatten.flatten: time 0.00324/0.8025, allocations: 1.798 MB / 0.9634 GB, free: 1.539 MB / 0.7169 GB Notification: Performance of NFFlatten.resolveConnections: time 0.0005135/0.8031, allocations: 265.7 kB / 0.9636 GB, free: 1.391 MB / 0.7169 GB Notification: Performance of NFEvalConstants.evaluate: time 0.002972/0.806, allocations: 1.482 MB / 0.9651 GB, free: 1.094 MB / 0.7169 GB Notification: Performance of NFSimplifyModel.simplify: time 0.007359/0.8134, allocations: 4.898 MB / 0.9699 GB, free: 15.67 MB / 0.7325 GB Notification: Performance of NFPackage.collectConstants: time 0.001154/0.8146, allocations: 24 kB / 0.9699 GB, free: 15.65 MB / 0.7325 GB Notification: Performance of NFFlatten.collectFunctions: time 0.005955/0.8206, allocations: 215.8 kB / 0.9701 GB, free: 15.44 MB / 0.7325 GB Notification: Performance of NFScalarize.scalarize: time 0.01868/0.8393, allocations: 16.92 MB / 0.9866 GB, free: 14.48 MB / 0.7481 GB Notification: Performance of NFVerifyModel.verify: time 0.01186/0.8512, allocations: 9.29 MB / 0.9957 GB, free: 5.168 MB / 0.7481 GB Notification: Performance of NFConvertDAE.convert: time 0.03438/0.8856, allocations: 40.5 MB / 1.035 GB, free: 12.58 MB / 0.795 GB Notification: Performance of FrontEnd - DAE generated: time 8.135e-06/0.8856, allocations: 0 / 1.035 GB, free: 12.58 MB / 0.795 GB Notification: Performance of FrontEnd: time 2.896e-06/0.8857, allocations: 3.938 kB / 1.035 GB, free: 12.58 MB / 0.795 GB Notification: Performance of Transformations before backend: time 0.001559/0.8872, allocations: 4 kB / 1.035 GB, free: 12.57 MB / 0.795 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.06063/0.9479, allocations: 34.69 MB / 1.069 GB, free: 9.672 MB / 0.8262 GB Notification: Performance of prepare preOptimizeDAE: time 4.435e-05/0.9479, allocations: 8.031 kB / 1.069 GB, free: 9.664 MB / 0.8262 GB Notification: Performance of preOpt normalInlineFunction (simulation): time 0.01068/0.9586, allocations: 3.529 MB / 1.073 GB, free: 6.094 MB / 0.8262 GB Notification: Performance of preOpt evaluateParameters (simulation): time 0.0269/0.9856, allocations: 10.21 MB / 1.083 GB, free: 11.8 MB / 0.8419 GB Notification: Performance of preOpt simplifyIfEquations (simulation): time 0.003574/0.9892, allocations: 2.438 MB / 1.085 GB, free: 9.359 MB / 0.8419 GB Notification: Performance of preOpt expandDerOperator (simulation): time 0.007497/0.9967, allocations: 3.648 MB / 1.088 GB, free: 5.711 MB / 0.8419 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.003843/1.001, allocations: 2.852 MB / 1.091 GB, free: 2.805 MB / 0.8419 GB Error: pre-optimization module clockPartitioning (simulation) failed.