LCOV - code coverage report
Current view: top level - EnergyPlus - SystemReports.hh (source / functions) Coverage Total Hit
Test: lcov.output.filtered Lines: 100.0 % 49 49
Test Date: 2025-05-22 16:09:37 Functions: 100.0 % 4 4

            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
        

Generated by: LCOV version 2.0-1