LCOV - code coverage report
Current view: top level - EnergyPlus/Plant - DataPlant.hh (source / functions) Hit Total Coverage
Test: lcov.output.filtered Lines: 1 20 5.0 %
Date: 2023-01-17 19:17:23 Functions: 2 3 66.7 %

          Line data    Source code
       1             : // EnergyPlus, Copyright (c) 1996-2023, 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 DataPlant_hh_INCLUDED
      49             : #define DataPlant_hh_INCLUDED
      50             : 
      51             : // C++ Headers
      52             : #include <numeric>
      53             : 
      54             : // ObjexxFCL Headers
      55             : #include <ObjexxFCL/Array1D.hh>
      56             : #include <ObjexxFCL/Fmath.hh>
      57             : #include <ObjexxFCL/Optional.hh>
      58             : 
      59             : // EnergyPlus Headers
      60             : #include <EnergyPlus/Data/BaseData.hh>
      61             : #include <EnergyPlus/DataGlobals.hh>
      62             : #include <EnergyPlus/DataLoopNode.hh>
      63             : #include <EnergyPlus/EnergyPlus.hh>
      64             : #include <EnergyPlus/OutputProcessor.hh>
      65             : #include <EnergyPlus/Plant/CallingOrder.hh>
      66             : #include <EnergyPlus/Plant/Enums.hh>
      67             : #include <EnergyPlus/Plant/Loop.hh>
      68             : #include <EnergyPlus/Plant/PlantAvailManager.hh>
      69             : #include <EnergyPlus/Plant/ReportLoopData.hh>
      70             : 
      71             : namespace EnergyPlus {
      72             : 
      73             : namespace DataPlant {
      74             : 
      75             :     // Using/Aliasing
      76             :     using DataLoopNode::SensedNodeFlagValue;
      77             : 
      78             :     // Criteria percentage limits for determining re-simulation of connected loop sides
      79             :     constexpr Real64 CriteriaDelta_MassFlowRate(0.001);
      80             :     constexpr Real64 CriteriaDelta_Temperature(0.010);
      81             :     constexpr Real64 CriteriaDelta_HeatTransferRate(0.100);
      82             : 
      83             :     // Parameters for tolerance
      84             :     constexpr Real64 LoopDemandTol(0.1);   // minimum significant loop cooling or heating demand
      85             :     constexpr Real64 DeltaTempTol(0.0001); // minimum significant loop temperature difference
      86             : 
      87             :     // Parameters for Component/Equipment Types  (ref: TypeOf in CompData)
      88             : 
      89             :     static constexpr std::array<std::string_view, static_cast<int>(PlantEquipmentType::Num)> PlantEquipTypeNames{
      90             :         "Boiler:HotWater",
      91             :         "Boiler:Steam",
      92             :         "Chiller:Absorption",
      93             :         "Chiller:Absorption:Indirect",
      94             :         "Chiller:CombustionTurbine",
      95             :         "Chiller:ConstantCOP",
      96             :         "ChillerHeater:Absorption:DirectFired",
      97             :         "Chiller:Electric",
      98             :         "Chiller:Electric:EIR",
      99             :         "Chiller:Electric:ReformulatedEIR",
     100             :         "Chiller:Electric:ASHRAE205",
     101             :         "Chiller:EngineDriven",
     102             :         "CoolingTower:SingleSpeed",
     103             :         "CoolingTower:TwoSpeed",
     104             :         "CoolingTower:VariableSpeed",
     105             :         "Generator:Fuelcell:ExhaustGastoWaterHeatExchanger",
     106             :         "WaterHeater:HeatPump:PumpedCondenser",
     107             :         "Heatpump:WatertoWater:Equationfit:Cooling",
     108             :         "Heatpump:WatertoWater:Equationfit:Heating",
     109             :         "Heatpump:WatertoWater:ParameterEstimation:Cooling",
     110             :         "Heatpump:WatertoWater:ParameterEstimation:Heating",
     111             :         "Pipe:Adiabatic",
     112             :         "Pipe:Adiabatic:Steam",
     113             :         "Pipe:Outdoor",
     114             :         "Pipe:Indoor",
     115             :         "Pipe:Underground",
     116             :         "DistrictCooling",
     117             :         "DistrictHeating",
     118             :         "ThermalStorage:Ice:Detailed",
     119             :         "ThermalStorage:Ice:Simple",
     120             :         "TemperingValve",
     121             :         "WaterHeater:Mixed",
     122             :         "WaterHeater:Stratified",
     123             :         "Pump:VariableSpeed",
     124             :         "Pump:ConstantSpeed",
     125             :         "Pump:VariableSpeed:Condensate",
     126             :         "HeaderedPumps:VariableSpeed",
     127             :         "HeaderedPumps:ConstantSpeed",
     128             :         "WaterUse:Connections",
     129             :         "Coil:Cooling:Water",
     130             :         "Coil:Cooling:Water:DetailedGeometry",
     131             :         "Coil:Heating:Water",
     132             :         "Coil:Heating:Steam",
     133             :         "Solarcollector:Flatplate:Water",
     134             :         "LoadProfile:Plant",
     135             :         "GroundHeatExchanger:System",
     136             :         "GroundHeatExchanger:Surface",
     137             :         "GroundHeatExchanger:Pond",
     138             :         "Generator:Microturbine",
     139             :         "Generator:InternalCombustionEngine",
     140             :         "Generator:CombustionTurbine",
     141             :         "Generator:Microchp",
     142             :         "Generator:Fuelcell:StackCooler",
     143             :         "FluidCooler:SingleSpeed",
     144             :         "FluidCooler:TwoSpeed",
     145             :         "EvaporativeFluidCooler:SingleSpeed",
     146             :         "EvaporativeFluidCooler:TwoSpeed",
     147             :         "ThermalStorage:ChilledWater:Mixed",
     148             :         "ThermalStorage:ChilledWater:Stratified",
     149             :         "SolarCollector:FlatPlate:PhotovoltaicThermal",
     150             :         "ZoneHVAC:Baseboard:Convective:Water",
     151             :         "ZoneHVAC:Baseboard:RadiantConvective:Steam",
     152             :         "ZoneHVAC:Baseboard:RadiantConvective:Water",
     153             :         "ZoneHVAC:LowTemperatureRadiant:VariableFlow",
     154             :         "ZoneHVAC:LowTemperatureRadiant:ConstantFlow",
     155             :         "AirTerminal:SingleDuct:ConstantVolume:CooledBeam",
     156             :         "Coil:Heating:WaterToAirHeatPump:EquationFit",
     157             :         "Coil:Cooling:WaterToAirHeatPump:EquationFit",
     158             :         "Coil:Heating:WaterToAirHeatPump:ParameterEstimation",
     159             :         "Coil:Cooling:WaterToAirHeatPump:ParameterEstimation",
     160             :         "Refrigeration:Condenser:WaterCooled",
     161             :         "Refrigeration:CompressorRack",
     162             :         "AirLoopHVAC:UnitaryHeatPump:AirToAir:MultiSpeed",
     163             :         "ChillerHeater:Absorption:DoubleEffect",
     164             :         "PipingSystem:Underground:PipeCircuit",
     165             :         "SolarCollector:IntegralCollectorStorage",
     166             :         "Coil:Heating:WaterToAirHeatPump:VariableSpeedEquationFit",
     167             :         "Coil:Cooling:WaterToAirHeatPump:VariableSpeedEquationFit",
     168             :         "PlantComponent:UserDefined",
     169             :         "Coil:UserDefined",
     170             :         "ZoneHVAC:ForcedAir:UserDefined",
     171             :         "AirTerminal:SingleDuct:UserDefined",
     172             :         "AirConditioner:VariableRefrigerantFlow",
     173             :         "GroundHeatExchanger:HorizontalTrench",
     174             :         "HeatExchanger:FluidToFluid",
     175             :         "PlantComponent:TemperatureSource",
     176             :         "CentralHeatPumpSystem",
     177             :         "AirLoopHVAC:UnitarySystem",
     178             :         "Coil:Cooling:DX:SingleSpeed:ThermalStorage",
     179             :         "CoolingTower:VariableSpeed:Merkel",
     180             :         "SwimmingPool:Indoor",
     181             :         "GroundHeatExchanger:Slinky",
     182             :         "WaterHeater:HeatPump:WrappedCondenser",
     183             :         "AirTerminal:SingleDuct:ConstantVolume:FourPipeBeam",
     184             :         "ZoneHVAC:CoolingPanel:RadiantConvective:Water",
     185             :         "HeatPump:PlantLoop:EIR:Cooling",
     186             :         "HeatPump:PlantLoop:EIR:Heating"};
     187             : 
     188             :     static constexpr std::array<std::string_view, static_cast<size_t>(PlantEquipmentType::Num)> PlantEquipTypeNamesUC{
     189             :         "BOILER:HOTWATER",
     190             :         "BOILER:STEAM",
     191             :         "CHILLER:ABSORPTION",
     192             :         "CHILLER:ABSORPTION:INDIRECT",
     193             :         "CHILLER:COMBUSTIONTURBINE",
     194             :         "CHILLER:CONSTANTCOP",
     195             :         "CHILLERHEATER:ABSORPTION:DIRECTFIRED",
     196             :         "CHILLER:ELECTRIC",
     197             :         "CHILLER:ELECTRIC:EIR",
     198             :         "CHILLER:ELECTRIC:REFORMULATEDEIR",
     199             :         "CHILLER:ELECTRIC:ASHRAE205",
     200             :         "CHILLER:ENGINEDRIVEN",
     201             :         "COOLINGTOWER:SINGLESPEED",
     202             :         "COOLINGTOWER:TWOSPEED",
     203             :         "COOLINGTOWER:VARIABLESPEED",
     204             :         "GENERATOR:FUELCELL:EXHAUSTGASTOWATERHEATEXCHANGER",
     205             :         "WATERHEATER:HEATPUMP:PUMPEDCONDENSER",
     206             :         "HEATPUMP:WATERTOWATER:EQUATIONFIT:COOLING",
     207             :         "HEATPUMP:WATERTOWATER:EQUATIONFIT:HEATING",
     208             :         "HEATPUMP:WATERTOWATER:PARAMETERESTIMATION:COOLING",
     209             :         "HEATPUMP:WATERTOWATER:PARAMETERESTIMATION:HEATING",
     210             :         "PIPE:ADIABATIC",
     211             :         "PIPE:ADIABATIC:STEAM",
     212             :         "PIPE:OUTDOOR",
     213             :         "PIPE:INDOOR",
     214             :         "PIPE:UNDERGROUND",
     215             :         "DISTRICTCOOLING",
     216             :         "DISTRICTHEATING",
     217             :         "THERMALSTORAGE:ICE:DETAILED",
     218             :         "THERMALSTORAGE:ICE:SIMPLE",
     219             :         "TEMPERINGVALVE",
     220             :         "WATERHEATER:MIXED",
     221             :         "WATERHEATER:STRATIFIED",
     222             :         "PUMP:VARIABLESPEED",
     223             :         "PUMP:CONSTANTSPEED",
     224             :         "PUMP:VARIABLESPEED:CONDENSATE",
     225             :         "HEADEREDPUMPS:VARIABLESPEED",
     226             :         "HEADEREDPUMPS:CONSTANTSPEED",
     227             :         "WATERUSE:CONNECTIONS",
     228             :         "COIL:COOLING:WATER",
     229             :         "COIL:COOLING:WATER:DETAILEDGEOMETRY",
     230             :         "COIL:HEATING:WATER",
     231             :         "COIL:HEATING:STEAM",
     232             :         "SOLARCOLLECTOR:FLATPLATE:WATER",
     233             :         "LOADPROFILE:PLANT",
     234             :         "GROUNDHEATEXCHANGER:SYSTEM",
     235             :         "GROUNDHEATEXCHANGER:SURFACE",
     236             :         "GROUNDHEATEXCHANGER:POND",
     237             :         "GENERATOR:MICROTURBINE",
     238             :         "GENERATOR:INTERNALCOMBUSTIONENGINE",
     239             :         "GENERATOR:COMBUSTIONTURBINE",
     240             :         "GENERATOR:MICROCHP",
     241             :         "GENERATOR:FUELCELL:STACKCOOLER",
     242             :         "FLUIDCOOLER:SINGLESPEED",
     243             :         "FLUIDCOOLER:TWOSPEED",
     244             :         "EVAPORATIVEFLUIDCOOLER:SINGLESPEED",
     245             :         "EVAPORATIVEFLUIDCOOLER:TWOSPEED",
     246             :         "THERMALSTORAGE:CHILLEDWATER:MIXED",
     247             :         "THERMALSTORAGE:CHILLEDWATER:STRATIFIED",
     248             :         "SOLARCOLLECTOR:FLATPLATE:PHOTOVOLTAICTHERMAL",
     249             :         "ZONEHVAC:BASEBOARD:CONVECTIVE:WATER",
     250             :         "ZONEHVAC:BASEBOARD:RADIANTCONVECTIVE:STEAM",
     251             :         "ZONEHVAC:BASEBOARD:RADIANTCONVECTIVE:WATER",
     252             :         "ZONEHVAC:LOWTEMPERATURERADIANT:VARIABLEFLOW",
     253             :         "ZONEHVAC:LOWTEMPERATURERADIANT:CONSTANTFLOW",
     254             :         "AIRTERMINAL:SINGLEDUCT:CONSTANTVOLUME:COOLEDBEAM",
     255             :         "COIL:HEATING:WATERTOAIRHEATPUMP:EQUATIONFIT",
     256             :         "COIL:COOLING:WATERTOAIRHEATPUMP:EQUATIONFIT",
     257             :         "COIL:HEATING:WATERTOAIRHEATPUMP:PARAMETERESTIMATION",
     258             :         "COIL:COOLING:WATERTOAIRHEATPUMP:PARAMETERESTIMATION",
     259             :         "REFRIGERATION:CONDENSER:WATERCOOLED",
     260             :         "REFRIGERATION:COMPRESSORRACK",
     261             :         "AIRLOOPHVAC:UNITARYHEATPUMP:AIRTOAIR:MULTISPEED",
     262             :         "CHILLERHEATER:ABSORPTION:DOUBLEEFFECT",
     263             :         "PIPINGSYSTEM:UNDERGROUND:PIPECIRCUIT",
     264             :         "SOLARCOLLECTOR:INTEGRALCOLLECTORSTORAGE",
     265             :         "COIL:HEATING:WATERTOAIRHEATPUMP:VARIABLESPEEDEQUATIONFIT",
     266             :         "COIL:COOLING:WATERTOAIRHEATPUMP:VARIABLESPEEDEQUATIONFIT",
     267             :         "PLANTCOMPONENT:USERDEFINED",
     268             :         "COIL:USERDEFINED",
     269             :         "ZONEHVAC:FORCEDAIR:USERDEFINED",
     270             :         "AIRTERMINAL:SINGLEDUCT:USERDEFINED",
     271             :         "AIRCONDITIONER:VARIABLEREFRIGERANTFLOW",
     272             :         "GROUNDHEATEXCHANGER:HORIZONTALTRENCH",
     273             :         "HEATEXCHANGER:FLUIDTOFLUID",
     274             :         "PLANTCOMPONENT:TEMPERATURESOURCE",
     275             :         "CENTRALHEATPUMPSYSTEM",
     276             :         "AIRLOOPHVAC:UNITARYSYSTEM",
     277             :         "COIL:COOLING:DX:SINGLESPEED:THERMALSTORAGE",
     278             :         "COOLINGTOWER:VARIABLESPEED:MERKEL",
     279             :         "SWIMMINGPOOL:INDOOR",
     280             :         "GROUNDHEATEXCHANGER:SLINKY",
     281             :         "WATERHEATER:HEATPUMP:WRAPPEDCONDENSER",
     282             :         "AIRTERMINAL:SINGLEDUCT:CONSTANTVOLUME:FOURPIPEBEAM",
     283             :         "ZONEHVAC:COOLINGPANEL:RADIANTCONVECTIVE:WATER",
     284             :         "HEATPUMP:PLANTLOOP:EIR:COOLING",
     285             :         "HEATPUMP:PLANTLOOP:EIR:HEATING"};
     286             : 
     287             :     static constexpr std::array<LoopType, static_cast<size_t>(PlantEquipmentType::Num)> ValidLoopEquipTypes{
     288             :         LoopType::Plant, //     "Boiler:HotWater"
     289             :         LoopType::Plant, //     "Boiler:Steam"
     290             :         LoopType::Plant, //     "Chiller:Absorption"
     291             :         LoopType::Plant, //     "Chiller:Absorption:Indirect"
     292             :         LoopType::Plant, //     "Chiller:CombustionTurbine"
     293             :         LoopType::Plant, //     "Chiller:ConstantCOP"
     294             :         LoopType::Plant, //     "ChillerHeater:Absorption:DirectFired"
     295             :         LoopType::Plant, //     "Chiller:Electric"
     296             :         LoopType::Plant, //     "Chiller:Electric:EIR"
     297             :         LoopType::Plant, //     "Chiller:Electric:ReformulatedEIR"
     298             :         LoopType::Plant, //     "Chiller:Electric:ASHRAE205"
     299             :         LoopType::Plant, //     "Chiller:EngineDriven"
     300             :         LoopType::Both,  //     "CoolingTower:SingleSpeed"
     301             :         LoopType::Both,  //     "CoolingTower:TwoSpeed"
     302             :         LoopType::Both,  //     "CoolingTower:VariableSpeed"
     303             :         LoopType::Plant, //     "Generator:Fuelcell:ExhaustGastoWaterHeatExchanger"
     304             :         LoopType::Plant, //     "WaterHeater:HeatPump:PumpedCondenser"
     305             :         LoopType::Plant, //     "Heatpump:WatertoWater:Equationfit:Cooling"
     306             :         LoopType::Plant, //     "Heatpump:WatertoWater:Equationfit:Heating"
     307             :         LoopType::Plant, //     "Heatpump:WatertoWater:ParameterEstimation:Cooling"
     308             :         LoopType::Plant, //     "Heatpump:WatertoWater:ParameterEstimation:Heating"
     309             :         LoopType::Both,  //     "Pipe:Adiabatic"
     310             :         LoopType::Both,  //     "Pipe:Adiabatic:Steam"
     311             :         LoopType::Both,  //     "Pipe:Outdoor"
     312             :         LoopType::Both,  //     "Pipe:Indoor"
     313             :         LoopType::Both,  //     "Pipe:Underground"
     314             :         LoopType::Both,  //     "DistrictCooling"
     315             :         LoopType::Both,  //     "DistrictHeating"
     316             :         LoopType::Plant, //     "ThermalStorage:Ice:Detailed"
     317             :         LoopType::Plant, //     "ThermalStorage:Ice:Simple"
     318             :         LoopType::Both,  //     "TemperingValve"
     319             :         LoopType::Both,  //     "WaterHeater:Mixed"
     320             :         LoopType::Both,  //     "WaterHeater:Stratified"
     321             :         LoopType::Both,  //     "Pump:VariableSpeed"
     322             :         LoopType::Both,  //     "Pump:ConstantSpeed"
     323             :         LoopType::Both,  //     "Pump:VariableSpeed:Condensate"
     324             :         LoopType::Both,  //     "HeaderedPumps:VariableSpeed"
     325             :         LoopType::Both,  //     "HeaderedPumps:ConstantSpeed"
     326             :         LoopType::Plant, //     "WaterUse:Connections"
     327             :         LoopType::Plant, //     "Coil:Cooling:Water"
     328             :         LoopType::Plant, //     "Coil:Cooling:Water:DetailedGeometry"
     329             :         LoopType::Plant, //     "Coil:Heating:Water"
     330             :         LoopType::Plant, //     "Coil:Heating:Steam"
     331             :         LoopType::Plant, //     "Solarcollector:Flatplate:Water"
     332             :         LoopType::Both,  //     "LoadProfile:Plant"
     333             :         LoopType::Both,  //     "GroundHeatExchanger:System"
     334             :         LoopType::Both,  //     "GroundHeatExchanger:Surface"
     335             :         LoopType::Both,  //     "GroundHeatExchanger:Pond"
     336             :         LoopType::Plant, //     "Generator:Microturbine"
     337             :         LoopType::Plant, //     "Generator:InternalCombustionEngine"
     338             :         LoopType::Plant, //     "Generator:CombustionTurbine"
     339             :         LoopType::Plant, //     "Generator:Microchp"
     340             :         LoopType::Plant, //     "Generator:Fuelcell:StackCooler"
     341             :         LoopType::Both,  //     "FluidCooler:SingleSpeed"
     342             :         LoopType::Both,  //     "FluidCooler:TwoSpeed"
     343             :         LoopType::Both,  //     "EvaporativeFluidCooler:SingleSpeed"
     344             :         LoopType::Both,  //     "EvaporativeFluidCooler:TwoSpeed"
     345             :         LoopType::Both,  //     "ThermalStorage:ChilledWater:Mixed"
     346             :         LoopType::Both,  //     "ThermalStorage:ChilledWater:Stratified"
     347             :         LoopType::Both,  //     "SolarCollector:FlatPlate:PhotovoltaicThermal"
     348             :         LoopType::Plant, //     "ZoneHVAC:Baseboard:Convective:Water"
     349             :         LoopType::Plant, //     "ZoneHVAC:Baseboard:RadiantConvective:Steam"
     350             :         LoopType::Plant, //     "ZoneHVAC:Baseboard:RadiantConvective:Water"
     351             :         LoopType::Plant, //     "ZoneHVAC:LowTemperatureRadiant:VariableFlow"
     352             :         LoopType::Plant, //     "ZoneHVAC:LowTemperatureRadiant:ConstantFlow"
     353             :         LoopType::Both,  //     "AirTerminal:SingleDuct:ConstantVolume:CooledBeam"
     354             :         LoopType::Both,  //     "Coil:Heating:WaterToAirHeatPump:EquationFit"
     355             :         LoopType::Both,  //     "Coil:Cooling:WaterToAirHeatPump:EquationFit"
     356             :         LoopType::Both,  //     "Coil:Heating:WaterToAirHeatPump:ParameterEstimation"
     357             :         LoopType::Both,  //     "Coil:Cooling:WaterToAirHeatPump:ParameterEstimation"
     358             :         LoopType::Both,  //     "Refrigeration:Condenser:WaterCooled"
     359             :         LoopType::Both,  //     "Refrigeration:CompressorRack"
     360             :         LoopType::Plant, //     "AirLoopHVAC:UnitaryHeatPump:AirToAir:MultiSpeed"
     361             :         LoopType::Plant, //     "ChillerHeater:Absorption:DoubleEffect"
     362             :         LoopType::Both,  //     "PipingSystem:Underground:PipeCircuit"
     363             :         LoopType::Both,  //     "SolarCollector:IntegralCollectorStorage"
     364             :         LoopType::Both,  //     "Coil:Heating:WaterToAirHeatPump:VariableSpeedEquationFit"
     365             :         LoopType::Both,  //     "Coil:Cooling:WaterToAirHeatPump:VariableSpeedEquationFit"
     366             :         LoopType::Both,  //     "PlantComponent:UserDefined"
     367             :         LoopType::Both,  //     "Coil:UserDefined"
     368             :         LoopType::Both,  //     "ZoneHVAC:ForcedAir:UserDefined"
     369             :         LoopType::Both,  //     "AirTerminal:SingleDuct:UserDefined"
     370             :         LoopType::Both,  //     "AirConditioner:VariableRefrigerantFlow"
     371             :         LoopType::Both,  //     "GroundHeatExchanger:HorizontalTrench"
     372             :         LoopType::Both,  //     "HeatExchanger:FluidToFluid"
     373             :         LoopType::Both,  //     "PlantComponent:TemperatureSource"
     374             :         LoopType::Plant, //     "CentralHeatPumpSystem"
     375             :         LoopType::Plant, //     "AirLoopHVAC:UnitarySystem"
     376             :         LoopType::Both,  //     "Coil:Cooling:DX:SingleSpeed:ThermalStorage"
     377             :         LoopType::Both,  //     "CoolingTower:VariableSpeed:Merkel"
     378             :         LoopType::Both,  //     "SwimmingPool:Indoor"
     379             :         LoopType::Both,  //     "GroundHeatExchanger:Slinky"
     380             :         LoopType::Plant, //     "WaterHeater:HeatPump:WrappedCondenser"
     381             :         LoopType::Plant, //     "AirTerminal:SingleDuct:ConstantVolume:FourPipeBeam"
     382             :         LoopType::Plant, //     "ZoneHVAC:CoolingPanel:RadiantConvective:Water"
     383             :         LoopType::Both,  //     "HeatPump:PlantLoop:EIR:Cooling"
     384             :         LoopType::Both   //     "HeatPump:PlantLoop:EIR:Heating"
     385             :     };
     386             : } // namespace DataPlant
     387             : 
     388        1542 : struct DataPlantData : BaseGlobalStruct
     389             : {
     390             : 
     391             :     int TotNumLoops = 0;     // number of plant and condenser loops
     392             :     int TotNumHalfLoops = 0; // number of half loops (2 * TotNumLoops)
     393             :     bool PlantFirstSizeCompleted = false;
     394             :     bool PlantFirstSizesOkayToFinalize = false; // true if plant sizing is finishing and can save results
     395             :     bool PlantReSizingCompleted = false;
     396             :     bool PlantFirstSizesOkayToReport = false;
     397             :     bool PlantFinalSizesOkayToReport = false;
     398             :     bool AnyEMSPlantOpSchemesInModel = false;
     399             :     int PlantManageSubIterations = 0; // tracks plant iterations to characterize solver
     400             :     int PlantManageHalfLoopCalls = 0; // tracks number of half loop calls
     401             :     Array1D<DataPlant::PlantLoopData> PlantLoop;
     402             :     Array1D<DataPlant::PlantAvailMgrData> PlantAvailMgr;
     403             :     std::array<Array1D<DataPlant::ReportLoopData>, static_cast<int>(DataPlant::LoopSideLocation::Num)> VentRepPlant;
     404             :     std::array<Array1D<DataPlant::ReportLoopData>, static_cast<int>(DataPlant::LoopSideLocation::Num)> VentRepCond;
     405             :     Array1D<DataPlant::PlantCallingOrderInfoStruct> PlantCallingOrderInfo;
     406             : 
     407           0 :     void clear_state() override
     408             :     {
     409           0 :         this->TotNumLoops = 0;
     410           0 :         this->TotNumHalfLoops = 0;
     411           0 :         this->PlantFirstSizeCompleted = false;
     412           0 :         this->PlantFirstSizesOkayToFinalize = false;
     413           0 :         this->PlantReSizingCompleted = false;
     414           0 :         this->PlantFirstSizesOkayToReport = false;
     415           0 :         this->PlantFinalSizesOkayToReport = false;
     416           0 :         this->AnyEMSPlantOpSchemesInModel = false;
     417           0 :         this->PlantManageSubIterations = 0;
     418           0 :         this->PlantManageHalfLoopCalls = 0;
     419           0 :         this->PlantLoop.deallocate();
     420           0 :         this->PlantAvailMgr.deallocate();
     421           0 :         this->VentRepPlant[static_cast<int>(DataPlant::LoopSideLocation::Demand)].deallocate();
     422           0 :         this->VentRepPlant[static_cast<int>(DataPlant::LoopSideLocation::Supply)].deallocate();
     423           0 :         this->VentRepCond[static_cast<int>(DataPlant::LoopSideLocation::Demand)].deallocate();
     424           0 :         this->VentRepCond[static_cast<int>(DataPlant::LoopSideLocation::Supply)].deallocate();
     425           0 :         this->PlantCallingOrderInfo.deallocate();
     426           0 :     }
     427             : };
     428             : 
     429             : } // namespace EnergyPlus
     430             : 
     431             : #endif

Generated by: LCOV version 1.13