Line data Source code
1 : // EnergyPlus, Copyright (c) 1996-2025, The Board of Trustees of the University of Illinois,
2 : // The Regents of the University of California, through Lawrence Berkeley National Laboratory
3 : // (subject to receipt of any required approvals from the U.S. Dept. of Energy), Oak Ridge
4 : // National Laboratory, managed by UT-Battelle, Alliance for Sustainable Energy, LLC, and other
5 : // contributors. All rights reserved.
6 : //
7 : // NOTICE: This Software was developed under funding from the U.S. Department of Energy and the
8 : // U.S. Government consequently retains certain rights. As such, the U.S. Government has been
9 : // granted for itself and others acting on its behalf a paid-up, nonexclusive, irrevocable,
10 : // worldwide license in the Software to reproduce, distribute copies to the public, prepare
11 : // derivative works, and perform publicly and display publicly, and to permit others to do so.
12 : //
13 : // Redistribution and use in source and binary forms, with or without modification, are permitted
14 : // provided that the following conditions are met:
15 : //
16 : // (1) Redistributions of source code must retain the above copyright notice, this list of
17 : // conditions and the following disclaimer.
18 : //
19 : // (2) Redistributions in binary form must reproduce the above copyright notice, this list of
20 : // conditions and the following disclaimer in the documentation and/or other materials
21 : // provided with the distribution.
22 : //
23 : // (3) Neither the name of the University of California, Lawrence Berkeley National Laboratory,
24 : // the University of Illinois, U.S. Dept. of Energy nor the names of its contributors may be
25 : // used to endorse or promote products derived from this software without specific prior
26 : // written permission.
27 : //
28 : // (4) Use of EnergyPlus(TM) Name. If Licensee (i) distributes the software in stand-alone form
29 : // without changes from the version obtained under this License, or (ii) Licensee makes a
30 : // reference solely to the software portion of its product, Licensee must refer to the
31 : // software as "EnergyPlus version X" software, where "X" is the version number Licensee
32 : // obtained under this License and may not use a different name for the software. Except as
33 : // specifically required in this Section (4), Licensee shall not use in a company name, a
34 : // product name, in advertising, publicity, or other promotional activities any name, trade
35 : // name, trademark, logo, or other designation of "EnergyPlus", "E+", "e+" or confusingly
36 : // similar designation, without the U.S. Department of Energy's prior written consent.
37 : //
38 : // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
39 : // IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
40 : // AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
41 : // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
42 : // CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
43 : // SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
44 : // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
45 : // OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
46 : // POSSIBILITY OF SUCH DAMAGE.
47 :
48 : #ifndef SystemReports_hh_INCLUDED
49 : #define SystemReports_hh_INCLUDED
50 :
51 : // ObjexxFCL Headers
52 : #include <ObjexxFCL/Array1D.hh>
53 :
54 : // EnergyPlus Headers
55 : #include <EnergyPlus/Data/BaseData.hh>
56 : #include <EnergyPlus/DataGlobalConstants.hh>
57 : #include <EnergyPlus/DataHVACGlobals.hh>
58 : #include <EnergyPlus/EPVector.hh>
59 : #include <EnergyPlus/EnergyPlus.hh>
60 :
61 : namespace EnergyPlus {
62 :
63 : // Forward declarations
64 : struct EnergyPlusData;
65 :
66 : namespace SystemReports {
67 :
68 : struct Energy
69 : {
70 : // Members
71 : Real64 TotDemand;
72 : Real64 Elec;
73 : Real64 Gas;
74 : Real64 Purch;
75 : Real64 Other;
76 :
77 : // Default Constructor
78 : Energy() : TotDemand(0.0), Elec(0.0), Gas(0.0), Purch(0.0), Other(0.0)
79 : {
80 : }
81 : };
82 :
83 : struct CoilType
84 : {
85 : // Members
86 : Energy DecreasedCC; // LoadMetByVent
87 : Energy DecreasedHC; // LoadMetByVent
88 : Energy IncreasedCC; // LoadIncreasedVent
89 : Energy IncreasedHC; // LoadAddedByVent
90 : Energy ReducedByCC; // LoadAddedByVent
91 : Energy ReducedByHC; // LoadAddedByVent
92 :
93 : // Default Constructor
94 : CoilType() = default;
95 : };
96 :
97 : struct SummarizeLoads
98 : {
99 : // Members
100 : CoilType Load; // LoadMetByVent
101 : CoilType NoLoad; // LoadMetByVentNoLoad
102 : CoilType ExcessLoad; // LoadAddedByVentOvercool
103 : CoilType PotentialSavings; // LoadAddedByVentCoolLost
104 : CoilType PotentialCost; // LoadAddedByVentHeatLost
105 :
106 : // Default Constructor
107 : SummarizeLoads() = default;
108 : };
109 :
110 : struct CompTypeError
111 : {
112 : // Members
113 : std::string CompType;
114 : int CompErrIndex;
115 :
116 : // Default Constructor
117 422900 : CompTypeError() : CompErrIndex(0)
118 : {
119 422900 : }
120 : };
121 :
122 : struct ZoneVentReportVariables
123 : {
124 : Real64 CoolingLoadMetByVent = 0.0;
125 : Real64 CoolingLoadAddedByVent = 0.0;
126 : Real64 OvercoolingByVent = 0.0;
127 : Real64 HeatingLoadMetByVent = 0.0;
128 : Real64 HeatingLoadAddedByVent = 0.0;
129 : Real64 OverheatingByVent = 0.0;
130 : Real64 NoLoadHeatingByVent = 0.0;
131 : Real64 NoLoadCoolingByVent = 0.0;
132 :
133 : Real64 OAMassFlow = 0.0; // zone mech vent mass flow rate {kg/s}
134 : Real64 OAMass = 0.0; // zone mech vent total mass for time {kg}
135 : Real64 OAVolFlowStdRho = 0.0; // zone mech vent volume flow rate at standard density {m3/s}
136 : Real64 OAVolStdRho = 0.0; // zone mech vent total volume OA at standard density {m3}
137 : Real64 OAVolFlowCrntRho = 0.0; // zone mech vent volume flow rate at current density {m3/s}
138 : Real64 OAVolCrntRho = 0.0; // zone mech vent total volume OA at current density {m3}
139 : Real64 MechACH = 0.0; // zone mech vent air changes per hour {ACH}
140 : Real64 TargetVentilationFlowVoz = 0.0; // zone target ventilation ventilation flow based on 62.1 Voz-dyn {m3/s}
141 : Real64 TimeBelowVozDyn = 0.0; // time [hrs] that mechanical+natural ventilation is < VozTarget - 1%
142 : Real64 TimeAtVozDyn = 0.0; // time [hrs] that mechanical+natural ventilation is = VozTarget within 1% and > zero
143 : Real64 TimeAboveVozDyn = 0.0; // time [hrs] that mechanical+natural ventilation is > VozTarget + 1%
144 : Real64 TimeVentUnocc = 0.0; // time [hrs] that mechanical+natural ventilation is > zero during unoccupied
145 : };
146 :
147 : struct SysVentReportVariables
148 : {
149 : Real64 MechVentFlow = 0.0; // air loop mechanical vent total volume OA at standard density {m3/s}
150 : Real64 NatVentFlow = 0.0; // air loop natural vent total volume OA at standard density {m3/s}
151 : Real64 TargetVentilationFlowVoz = 0.0; // air loop target ventilation ventilation flow based on 62.1 Voz-dyn {m3/s}
152 : Real64 TimeBelowVozDyn = 0.0; // time [hrs] that mechanical+natural ventilation is < VozTarget - 1%
153 : Real64 TimeAtVozDyn = 0.0; // time [hrs] that mechanical+natural ventilation is = VozTarget within 1% and > zero
154 : Real64 TimeAboveVozDyn = 0.0; // time [hrs] that mechanical+natural ventilation is > VozTarget + 1%
155 : Real64 TimeVentUnocc = 0.0; // time [hrs] that mechanical+natural ventilation is > zero during unoccupied
156 : bool AnyZoneOccupied = false; // true if any zone on system is occupied
157 : };
158 : struct SysLoadReportVariables
159 : {
160 : // SYSTEM LOADS REPORT
161 : Real64 TotHTNG = 0.0;
162 : Real64 TotCLNG = 0.0;
163 :
164 : // SYSTEM ENERGY USE REPORT
165 : Real64 TotH2OHOT = 0.0;
166 : Real64 TotH2OCOLD = 0.0;
167 : Real64 TotElec = 0.0;
168 : Real64 TotNaturalGas = 0.0;
169 : Real64 TotPropane = 0.0;
170 : Real64 TotSteam = 0.0;
171 :
172 : // SYSTEM COMPONENT LOADS REPORT
173 : Real64 HumidHTNG = 0.0;
174 : Real64 HumidElec = 0.0;
175 : Real64 HumidNaturalGas = 0.0;
176 : Real64 HumidPropane = 0.0;
177 : Real64 EvapCLNG = 0.0;
178 : Real64 EvapElec = 0.0;
179 : Real64 HeatExHTNG = 0.0;
180 : Real64 HeatExCLNG = 0.0;
181 : Real64 DesDehumidCLNG = 0.0;
182 : Real64 DesDehumidElec = 0.0;
183 : Real64 SolarCollectHeating = 0.0;
184 : Real64 SolarCollectCooling = 0.0;
185 : Real64 UserDefinedTerminalHeating = 0.0;
186 : Real64 UserDefinedTerminalCooling = 0.0;
187 :
188 : // SYSTEM COMPONENT ENERGY REPORT
189 : Real64 FANCompHTNG = 0.0;
190 : Real64 FANCompElec = 0.0;
191 : Real64 CCCompCLNG = 0.0;
192 : Real64 CCCompH2OCOLD = 0.0;
193 : Real64 CCCompElec = 0.0;
194 : Real64 HCCompH2OHOT = 0.0;
195 : Real64 HCCompElec = 0.0;
196 : Real64 HCCompElecRes = 0.0;
197 : Real64 HCCompHTNG = 0.0;
198 : Real64 HCCompNaturalGas = 0.0;
199 : Real64 HCCompPropane = 0.0;
200 : Real64 HCCompSteam = 0.0;
201 : Real64 DomesticH2O = 0.0;
202 : };
203 :
204 : struct SysPreDefRepType
205 : {
206 : Real64 MechVentTotal = 0.0; // air loop mechanical vent total volume OA at standard density {m3}
207 : Real64 NatVentTotal = 0.0; // air loop natural vent total volume OA at standard density {m3}
208 : Real64 TargetVentTotalVoz = 0.0; // air loop target ventilation ventilation flow based on 62.1 Voz-dyn {m3}
209 : Real64 TimeBelowVozDynTotal = 0.0; // time [hrs] that mechanical+natural ventilation is < VozTarget - 1%
210 : Real64 TimeAtVozDynTotal = 0.0; // time [hrs] that mechanical+natural ventilation is = VozTarget within 1% and > zero
211 : Real64 TimeAboveVozDynTotal = 0.0; // time [hrs] that mechanical+natural ventilation is > VozTarget + 1%
212 : Real64 MechVentTotalOcc = 0.0; // air loop mechanical vent total volume OA at standard density {m3} during occupied
213 : Real64 NatVentTotalOcc = 0.0; // air loop natural vent total volume OA at standard density {m3} during occupied
214 : Real64 TargetVentTotalVozOcc = 0.0; // air loop target ventilation ventilation flow based on 62.1 Voz-dyn {m3} during occupied
215 : Real64 TimeBelowVozDynTotalOcc = 0.0; // time [hrs] that mechanical+natural ventilation is < VozTarget - 1% during occupied
216 : Real64 TimeAtVozDynTotalOcc = 0.0; // time [hrs] that mechanical+natural ventilation is = VozTarget within 1% and > zero during occ
217 : Real64 TimeAboveVozDynTotalOcc = 0.0; // time [hrs] that mechanical+natural ventilation is > VozTarget + 1% during occupied
218 : Real64 TimeVentUnoccTotal = 0.0; // time [hrs] that mechanical+natural ventilation is > zero during unoccupied
219 : Real64 TimeOccupiedTotal = 0.0; // time [hrs] that any zone is occupied
220 :
221 : std::vector<Real64> TimeAtOALimit = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}; // time [hrs] at limit [n]
222 : std::vector<Real64> TimeAtOALimitOcc = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}; // time [hrs] at limit [n] during occupied
223 : std::vector<Real64> MechVentTotAtLimitOcc = {
224 : 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}; // air loop mech vent total vol OA at limit [n] {m3} during occupied
225 : };
226 :
227 : // Functions
228 :
229 : void InitEnergyReports(EnergyPlusData &state);
230 :
231 : void FindFirstLastPtr(EnergyPlusData &state, int &LoopType, int &LoopNum, int &ArrayCount, int &LoopCount, bool &ConnectionFlag);
232 :
233 : void UpdateZoneCompPtrArray(EnergyPlusData &state,
234 : int &Idx,
235 : int const ListNum,
236 : int const AirDistUnitNum,
237 : int const PlantLoopType,
238 : int const PlantLoop,
239 : int const PlantBranch,
240 : int const PlantComp);
241 :
242 : void UpdateZoneSubCompPtrArray(EnergyPlusData &state,
243 : int &Idx,
244 : int const ListNum,
245 : int const AirDistUnitNum,
246 : int const SubCompNum,
247 : int const PlantLoopType,
248 : int const PlantLoop,
249 : int const PlantBranch,
250 : int const PlantComp);
251 :
252 : void UpdateZoneSubSubCompPtrArray(EnergyPlusData &state,
253 : int &Idx,
254 : int const ListNum,
255 : int const AirDistUnitNum,
256 : int const SubCompNum,
257 : int const SubSubCompNum,
258 : int const PlantLoopType,
259 : int const PlantLoop,
260 : int const PlantBranch,
261 : int const PlantComp);
262 :
263 : void UpdateAirSysCompPtrArray(EnergyPlusData &state,
264 : int &Idx,
265 : int const AirLoopNum,
266 : int const BranchNum,
267 : int const CompNum,
268 : int const PlantLoopType,
269 : int const PlantLoop,
270 : int const PlantBranch,
271 : int const PlantComp);
272 :
273 : void UpdateAirSysSubCompPtrArray(EnergyPlusData &state,
274 : int &Idx,
275 : int const AirLoopNum,
276 : int const BranchNum,
277 : int const CompNum,
278 : int const SubCompNum,
279 : int const PlantLoopType,
280 : int const PlantLoop,
281 : int const PlantBranch,
282 : int const PlantComp);
283 :
284 : void UpdateAirSysSubSubCompPtrArray(EnergyPlusData &state,
285 : int &Idx,
286 : int const AirLoopNum,
287 : int const BranchNum,
288 : int const CompNum,
289 : int const SubCompNum,
290 : int const SubSubCompNum,
291 : int const PlantLoopType,
292 : int const PlantLoop,
293 : int const PlantBranch,
294 : int const PlantComp);
295 :
296 : void AllocateAndSetUpVentReports(EnergyPlusData &state);
297 :
298 : void CreateEnergyReportStructure(EnergyPlusData &state);
299 :
300 : // End Initialization Section of the Module
301 : //******************************************************************************
302 :
303 : // Beginning of Reporting subroutines for the SimAir Module
304 : // *****************************************************************************
305 :
306 : void ReportSystemEnergyUse(EnergyPlusData &state);
307 :
308 : void CalcSystemEnergyUse(EnergyPlusData &state,
309 : bool const CompLoadFlag,
310 : int const AirLoopNum,
311 : std::string const &CompType,
312 : Constant::eResource const EnergyType,
313 : Real64 const CompLoad,
314 : Real64 const CompEnergy);
315 :
316 : void ReportVentilationLoads(EnergyPlusData &state);
317 :
318 : void MatchPlantSys(EnergyPlusData &state,
319 : int const AirLoopNum, // counter for zone air distribution inlets
320 : int const BranchNum // counter for zone air distribution inlets
321 : );
322 :
323 : void FindDemandSideMatch(EnergyPlusData &state,
324 : std::string const &CompType, // Inlet node of the component to find the match of
325 : std::string_view CompName, // Outlet node of the component to find the match of
326 : bool &MatchFound, // Set to .TRUE. when a match is found
327 : int &MatchLoopType, // Loop number of the match
328 : int &MatchLoop, // Loop number of the match
329 : int &MatchBranch, // Branch number of the match
330 : int &MatchComp // Component number of the match
331 : );
332 :
333 : void ReportAirLoopConnections(EnergyPlusData &state);
334 :
335 : void reportAirLoopToplogy(EnergyPlusData &state);
336 :
337 : void fillAirloopToplogyComponentRow(EnergyPlusData &state,
338 : const std::string_view &loopName,
339 : const std::string_view &branchName,
340 : const HVAC::AirDuctType ductType,
341 : const std::string_view &compType,
342 : const std::string_view &compName,
343 : int &rowCounter);
344 :
345 : void reportZoneEquipmentToplogy(EnergyPlusData &state);
346 :
347 : void fillZoneEquipToplogyComponentRow(
348 : EnergyPlusData &state, const std::string_view &zoneName, const std::string_view &compType, const std::string_view &compName, int &rowCounter);
349 :
350 : void reportAirDistributionUnits(EnergyPlusData &state);
351 :
352 : // End of Reporting subroutines for the SimAir Module
353 : // *****************************************************************************
354 :
355 : struct IdentifyLoop
356 : {
357 : // Members
358 : int LoopNum;
359 : int LoopType;
360 :
361 : // Default Constructor
362 : IdentifyLoop() : LoopNum(0), LoopType(0)
363 : {
364 : }
365 : };
366 :
367 : } // namespace SystemReports
368 :
369 : struct SystemReportsData : BaseGlobalStruct
370 : {
371 :
372 : Real64 AnyZoneTimeBelowVozDyn = 0.0; // time [hrs] that any zone mechanical+natural ventilation is < VozTarget - 1%
373 : Real64 AllZonesTimeAtVozDyn = 0.0; // time [hrs] that all zones mechanical+natural ventilation is = VozTarget within 1% and > zero
374 : Real64 AnyZoneTimeAboveVozDyn = 0.0; // time [hrs] that any zone mechanical+natural ventilation is > VozTarget + 1%
375 : Real64 AnyZoneTimeVentUnocc = 0.0; // time [hrs] that any zone mechanical+natural ventilation is > zero during unoccupied
376 : Real64 AnyZoneTimeBelowVozDynOcc = 0.0; // time [hrs] that any zone mechanical+natural ventilation is < VozTarget - 1% during occupied
377 : Real64 AllZonesTimeAtVozDynOcc = 0.0; // time [hrs] that all zones mech+nat vent is = VozTarget within 1% and > zero during occupied
378 : Real64 AnyZoneTimeAboveVozDynOcc = 0.0; // time [hrs] that any zone mechanical+natural ventilation is > VozTarget + 1% during occupied
379 :
380 : bool AirLoopLoadsReportEnabled = true;
381 : bool VentLoadsReportEnabled = true;
382 : bool VentEnergyReportEnabled = false;
383 : bool VentReportStructureCreated = false;
384 : int TotalLoopConnects = 0; // Total number of loop connections
385 : int MaxLoopArraySize = 100;
386 : int MaxCompArraySize = 500;
387 :
388 : EPVector<SystemReports::SummarizeLoads> Vent;
389 : EPVector<SystemReports::ZoneVentReportVariables> ZoneVentRepVars;
390 : EPVector<SystemReports::SysVentReportVariables> SysVentRepVars;
391 : EPVector<SystemReports::SysLoadReportVariables> SysLoadRepVars;
392 : EPVector<SystemReports::SysPreDefRepType> SysPreDefRep;
393 :
394 : bool OneTimeFlag_FindFirstLastPtr = true;
395 : bool OneTimeFlag_InitEnergyReports = true;
396 : bool OneTimeFlag_UpdateZoneCompPtrArray = true;
397 : int ArrayLimit_UpdateZoneCompPtrArray = 100;
398 : int ArrayCounter_UpdateZoneCompPtrArray = 1;
399 : bool OneTimeFlag_UpdateZoneSubCompPtrArray = true;
400 : int ArrayLimit_UpdateZoneSubCompPtrArray = 100;
401 : int ArrayCounter_UpdateZoneSubCompPtrArray = 1;
402 : bool OneTimeFlag_UpdateZoneSubSubCompPtrArray = true;
403 : int ArrayLimit_UpdateZoneSubSubCompPtrArray = 100;
404 : int ArrayCounter_UpdateZoneSubSubCompPtrArray = 1;
405 : bool OneTimeFlag_UpdateAirSysCompPtrArray = true;
406 : int ArrayLimit_UpdateAirSysCompPtrArray = 100;
407 : int ArrayCounter_UpdateAirSysCompPtrArray = 1;
408 : bool OneTimeFlag_UpdateAirSysSubCompPtrArray = true;
409 : int ArrayLimit_UpdateAirSysSubCompPtrArray = 100;
410 : int ArrayCounter_UpdateAirSysSubCompPtrArray = 1;
411 : bool OneTimeFlag_UpdateAirSysSubSubCompPtrArray = true;
412 : int ArrayLimit_UpdateAirSysSubSubCompPtrArray = 100;
413 : int ArrayCounter_UpdateAirSysSubSubCompPtrArray = 1;
414 : int NumCompTypes = 0;
415 : Array1D<SystemReports::CompTypeError> CompTypeErrors = Array1D<SystemReports::CompTypeError>(100);
416 : Array1D<SystemReports::IdentifyLoop> LoopStack;
417 :
418 2126 : void init_constant_state([[maybe_unused]] EnergyPlusData &state) override
419 : {
420 2126 : }
421 :
422 1152 : void init_state([[maybe_unused]] EnergyPlusData &state) override
423 : {
424 1152 : }
425 :
426 2100 : void clear_state() override
427 : {
428 2100 : this->AnyZoneTimeBelowVozDyn = 0.0;
429 2100 : this->AllZonesTimeAtVozDyn = 0.0;
430 2100 : this->AnyZoneTimeAboveVozDyn = 0.0;
431 2100 : this->AnyZoneTimeVentUnocc = 0.0;
432 2100 : this->AnyZoneTimeBelowVozDynOcc = 0.0;
433 2100 : this->AllZonesTimeAtVozDynOcc = 0.0;
434 2100 : this->AnyZoneTimeAboveVozDynOcc = 0.0;
435 2100 : this->AirLoopLoadsReportEnabled = true;
436 2100 : this->VentLoadsReportEnabled = true;
437 2100 : this->VentEnergyReportEnabled = false;
438 2100 : this->VentReportStructureCreated = false;
439 2100 : this->TotalLoopConnects = 0;
440 2100 : this->MaxLoopArraySize = 100;
441 2100 : this->MaxCompArraySize = 500;
442 2100 : this->Vent.deallocate();
443 2100 : this->ZoneVentRepVars.deallocate();
444 2100 : this->SysVentRepVars.deallocate();
445 2100 : this->SysLoadRepVars.deallocate();
446 2100 : this->SysPreDefRep.deallocate();
447 2100 : this->OneTimeFlag_FindFirstLastPtr = true;
448 2100 : this->OneTimeFlag_InitEnergyReports = true;
449 2100 : this->OneTimeFlag_UpdateZoneCompPtrArray = true;
450 2100 : this->ArrayLimit_UpdateZoneCompPtrArray = 100;
451 2100 : this->ArrayCounter_UpdateZoneCompPtrArray = 1;
452 2100 : this->OneTimeFlag_UpdateZoneSubCompPtrArray = true;
453 2100 : this->ArrayLimit_UpdateZoneSubCompPtrArray = 100;
454 2100 : this->ArrayCounter_UpdateZoneSubCompPtrArray = 1;
455 2100 : this->OneTimeFlag_UpdateZoneSubSubCompPtrArray = true;
456 2100 : this->ArrayLimit_UpdateZoneSubSubCompPtrArray = 100;
457 2100 : this->ArrayCounter_UpdateZoneSubSubCompPtrArray = 1;
458 2100 : this->OneTimeFlag_UpdateAirSysCompPtrArray = true;
459 2100 : this->ArrayLimit_UpdateAirSysCompPtrArray = 100;
460 2100 : this->ArrayCounter_UpdateAirSysCompPtrArray = 1;
461 2100 : this->OneTimeFlag_UpdateAirSysSubCompPtrArray = true;
462 2100 : this->ArrayLimit_UpdateAirSysSubCompPtrArray = 100;
463 2100 : this->ArrayCounter_UpdateAirSysSubCompPtrArray = 1;
464 2100 : this->OneTimeFlag_UpdateAirSysSubSubCompPtrArray = true;
465 2100 : this->ArrayLimit_UpdateAirSysSubSubCompPtrArray = 100;
466 2100 : this->ArrayCounter_UpdateAirSysSubSubCompPtrArray = 1;
467 2100 : this->NumCompTypes = 0;
468 2100 : this->CompTypeErrors = Array1D<SystemReports::CompTypeError>(100);
469 2100 : }
470 : };
471 :
472 : } // namespace EnergyPlus
473 :
474 : #endif
|