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 EnergyPlusData_hh_INCLUDED
49 : #define EnergyPlusData_hh_INCLUDED
50 :
51 : // C++ Headers
52 : #include <memory>
53 : #include <string>
54 : #include <unordered_map>
55 :
56 : // EnergyPlus Headers
57 : #include <EnergyPlus/Data/BaseData.hh>
58 : #include <EnergyPlus/EnergyPlus.hh>
59 : #include <EnergyPlus/IOFiles.hh>
60 :
61 : namespace EnergyPlus {
62 :
63 : // forward declare all structs
64 : struct AirLoopHVACDOASData;
65 : struct AirSystemsData;
66 : namespace AirflowNetwork {
67 : struct Solver;
68 : } // namespace AirflowNetwork
69 : struct BSDFWindowData;
70 : struct BaseSizerWithFanHeatInputsData;
71 : struct BaseSizerWithScalableInputsData;
72 : struct BaseboardElectricData;
73 : struct BaseboardRadiatorData;
74 : struct BoilerSteamData;
75 : struct BoilersData;
76 : struct BranchInputManagerData;
77 : struct BranchNodeConnectionsData;
78 : struct CTElectricGeneratorData;
79 : struct ChilledCeilingPanelSimpleData;
80 : struct ChillerAbsorberData;
81 : struct ChillerElectricEIRData;
82 : struct ChillerExhaustAbsorptionData;
83 : struct ChillerGasAbsorptionData;
84 : struct ChillerIndirectAbsoprtionData;
85 : struct ChillerReformulatedEIRData;
86 : struct ChillerElectricASHRAE205Data;
87 : struct CoilCoolingDXData;
88 : struct CondenserLoopTowersData;
89 : struct ConstructionData;
90 : struct ContaminantBalanceData;
91 : struct ConvectionCoefficientsData;
92 : struct ConvergParamsData;
93 : struct CoolTowerData;
94 : struct CostEstimateManagerData;
95 : struct CrossVentMgrData;
96 : struct CurveManagerData;
97 : struct DXCoilsData;
98 : struct DXFEarClippingData;
99 : struct DataAirLoopData;
100 : struct DataBranchAirLoopPlantData;
101 : struct DataDaylightingDevicesData;
102 : struct DataGlobal;
103 : struct DataGlobalConstantsData;
104 : struct DataInputProcessing;
105 : struct DataPlantData;
106 : struct DataStringGlobalsData;
107 : struct DataTimingsData;
108 : struct DataWaterData;
109 : struct DataZoneControlsData;
110 : struct DataZoneEnergyDemandsData;
111 : struct DataZoneEquipmentData;
112 : struct DaylightingData;
113 : struct DaylightingDevicesData;
114 : struct DaylightingManagerData;
115 : struct DefineEquipData;
116 : struct DemandManagerData;
117 : struct DesiccantDehumidifiersData;
118 : struct DisplacementVentMgrData;
119 : struct DualDuctData;
120 : struct EIRPlantLoopHeatPumpsData;
121 : struct EMSManagerData;
122 : struct EarthTubeData;
123 : struct EcoRoofManagerData;
124 : struct EconomicLifeCycleCostData;
125 : struct EconomicTariffData;
126 : struct ElectPwrSvcMgrData;
127 : struct ElectricBaseboardRadiatorData;
128 : struct EnvironmentData;
129 : struct ErrorTrackingData;
130 : struct EvaporativeCoolersData;
131 : struct EvaporativeFluidCoolersData;
132 : struct ExteriorEnergyUseData;
133 : struct ExternalInterfaceData;
134 : struct FanCoilUnitsData;
135 : struct FansData;
136 : struct FaultsManagerData;
137 : struct FluidCoolersData;
138 : struct FluidPropertiesData;
139 : struct FourPipeBeamData;
140 : struct FuelCellElectricGeneratorData;
141 : struct FurnacesData;
142 : struct GeneralData;
143 : struct GeneralRoutinesData;
144 : struct GeneratorFuelSupplyData;
145 : struct GeneratorsData;
146 : struct GlobalNamesData;
147 : struct GroundHeatExchangerData;
148 : struct GroundTemperatureManagerData;
149 : struct HVACControllersData;
150 : struct HVACCooledBeamData;
151 : struct HVACCtrlData;
152 : struct HVACDXHeatPumpSystemData;
153 : struct HVACDuctData;
154 : struct HVACFanData;
155 : struct HVACGlobalsData;
156 : struct HVACHXAssistedCoolingCoilData;
157 : struct HVACInterfaceManagerData;
158 : struct HVACManagerData;
159 : struct HVACMultiSpeedHeatPumpData;
160 : struct HVACSingleDuctInducData;
161 : struct HVACSizingSimMgrData;
162 : struct HVACStandAloneERVData;
163 : struct HVACUnitaryBypassVAVData;
164 : struct HVACVarRefFlowData;
165 : struct HWBaseboardRadiatorData;
166 : struct HeatBalFanSysData;
167 : struct HeatBalFiniteDiffMgr;
168 : struct HeatBalHAMTMgrData;
169 : struct HeatBalInternalHeatGainsData;
170 : struct HeatBalSurfData;
171 : struct HeatBalSurfMgr;
172 : struct HeatBalanceAirMgrData;
173 : struct HeatBalanceData;
174 : struct HeatBalanceIntRadExchgData;
175 : struct HeatBalanceMgrData;
176 : struct HeatPumpWaterToWaterCOOLINGData;
177 : struct HeatPumpWaterToWaterHEATINGData;
178 : struct HeatPumpWaterToWaterSimpleData;
179 : struct HeatRecoveryData;
180 : struct HeatingCoilsData;
181 : struct HighTempRadiantSystemData;
182 : struct HumidifiersData;
183 : struct HybridModelData;
184 : struct HybridUnitaryAirConditionersData;
185 : struct HysteresisPhaseChangeData;
186 : struct ICEngineElectricGeneratorData;
187 : struct IPShortCutsData;
188 : struct IceThermalStorageData;
189 : struct IntegratedHeatPumpGlobalData;
190 : struct InternalHeatGainsData;
191 : struct LoopNodeData;
192 : struct LowTempRadiantSystemData;
193 : struct MaterialData;
194 : struct MatrixDataManagerData;
195 : struct MicroCHPElectricGeneratorData;
196 : struct MicroturbineElectricGeneratorData;
197 : struct MixedAirData;
198 : struct MixerComponentData;
199 : struct MoistureBalanceData;
200 : struct MoistureBalanceEMPDData;
201 : struct MoistureBalanceEMPDManagerData;
202 : struct MundtSimMgrData;
203 : struct NodeInputManagerData;
204 : struct OutAirNodeManagerData;
205 : struct OutdoorAirUnitData;
206 : struct OutputProcessorData;
207 : struct OutputReportPredefinedData;
208 : struct OutputReportTabularAnnualData;
209 : struct OutputReportTabularData;
210 : struct OutputReportsData;
211 : struct OutputsData;
212 : struct OutsideEnergySourcesData;
213 : struct PackagedThermalStorageCoilData;
214 : struct PhotovoltaicStateData;
215 : struct PhotovoltaicThermalCollectorsData;
216 : struct PhotovoltaicsData;
217 : struct PipeHeatTransferData;
218 : struct PipesData;
219 : struct PlantCentralGSHPData;
220 : struct PlantChillersData;
221 : struct PlantCompTempSrcData;
222 : struct PlantCondLoopOperationData;
223 : struct PlantHeatExchangerFluidToFluidData;
224 : struct PlantLoadProfileData;
225 : struct PlantMgrData;
226 : struct PlantPipingSysMgrData;
227 : struct PlantPressureSysData;
228 : struct PlantUtilitiesData;
229 : struct PlantValvesData;
230 : struct PluginManagerData;
231 : struct PollutionModuleData;
232 : struct PondGroundHeatExchangerData;
233 : struct PoweredInductionUnitsData;
234 : struct PsychrometricsData;
235 : struct PsychrometricCacheData;
236 : struct PumpsData;
237 : struct PurchasedAirManagerData;
238 : struct RefrigeratedCaseData;
239 : struct ReportCoilSelectionData;
240 : struct ReportFlagData;
241 : struct ResultsFrameworkData;
242 : struct ReturnAirPathMgr;
243 : struct ExhaustAirSystemMgr;
244 : struct ExhaustControlSystemMgr;
245 : struct RoomAirModelAirflowNetworkData;
246 : struct RoomAirModelData;
247 : struct RoomAirModelManagerData;
248 : struct RoomAirModelUserTempPatternData;
249 : struct RootFindingData;
250 : struct RuntimeLanguageData;
251 : struct RuntimeLanguageProcessorData;
252 : struct SQLiteProceduresData;
253 : struct ScheduleManagerData;
254 : struct SetPointManagerData;
255 : struct ShadowCombData;
256 : struct SimAirServingZonesData;
257 : struct SimulationManagerData;
258 : struct SingleDuctData;
259 : struct SizingData;
260 : struct SizingManagerData;
261 : struct SolarCollectorsData;
262 : struct SolarReflectionManagerData;
263 : struct SolarShadingData;
264 : struct SplitterComponentData;
265 : struct SteamBaseboardRadiatorData;
266 : struct SteamCoilsData;
267 : struct SurfaceColorData;
268 : struct SurfaceGeometryData;
269 : struct SurfaceGroundHeatExchangersData;
270 : struct SurfaceListsData;
271 : struct SurfacesData;
272 : struct SwimmingPoolsData;
273 : struct SystemAirFlowSizerData;
274 : struct SystemAvailabilityManagerData;
275 : struct SystemReportsData;
276 : struct SystemVarsData;
277 : struct TARCOGCommonData;
278 : struct TARCOGOutputData;
279 : struct ThermalChimneysData;
280 : struct ThermalComfortsData;
281 : struct ThermalISO15099CalcData;
282 : struct TARCOGGasses90Data;
283 : struct TARCOGMainData;
284 : struct TarcogShadingData;
285 : struct TranspiredCollectorData;
286 : struct UCSDSharedData;
287 : struct UFADManagerData;
288 : struct UnitHeatersData;
289 : struct UnitVentilatorsData;
290 : struct UnitarySystemsData;
291 : struct UserDefinedComponentsData;
292 : struct UtilityRoutinesData;
293 : struct VariableSpeedCoilsData;
294 : struct VectorsData;
295 : struct VentilatedSlabData;
296 : struct ViewFactorInfoData;
297 : struct WaterCoilsData;
298 : struct WaterManagerData;
299 : struct WaterThermalTanksData;
300 : struct WaterToAirHeatPumpData;
301 : struct WaterToAirHeatPumpSimpleData;
302 : struct WaterUseData;
303 : struct WeatherManagerData;
304 : struct WindTurbineData;
305 : struct WindowACData;
306 : struct WindowComplexManagerData;
307 : struct WindowEquivLayerData;
308 : struct WindowEquivalentLayerData;
309 : struct WindowManagerData;
310 : struct ZoneAirLoopEquipmentManagerData;
311 : struct ZoneContaminantPredictorCorrectorData;
312 : struct ZoneDehumidifierData;
313 : struct ZoneEquipmentManagerData;
314 : struct ZonePlenumData;
315 : struct ZoneTempPredictorCorrectorData;
316 :
317 771 : struct EnergyPlusData : BaseGlobalStruct
318 : {
319 : bool ready = true;
320 :
321 : IOFiles files;
322 :
323 : // module globals
324 : std::unique_ptr<AirLoopHVACDOASData> dataAirLoopHVACDOAS;
325 : std::unique_ptr<AirSystemsData> dataAirSystemsData;
326 : std::unique_ptr<AirflowNetwork::Solver> afn;
327 : std::unique_ptr<BSDFWindowData> dataBSDFWindow;
328 : std::unique_ptr<BaseSizerWithFanHeatInputsData> dataBaseSizerFanHeatInputs;
329 : std::unique_ptr<BaseSizerWithScalableInputsData> dataBaseSizerScalableInputs;
330 : std::unique_ptr<BaseboardElectricData> dataBaseboardElectric;
331 : std::unique_ptr<BaseboardRadiatorData> dataBaseboardRadiator;
332 : std::unique_ptr<BoilerSteamData> dataBoilerSteam;
333 : std::unique_ptr<BoilersData> dataBoilers;
334 : std::unique_ptr<BranchInputManagerData> dataBranchInputManager;
335 : std::unique_ptr<BranchNodeConnectionsData> dataBranchNodeConnections;
336 : std::unique_ptr<CTElectricGeneratorData> dataCTElectricGenerator;
337 : std::unique_ptr<ChilledCeilingPanelSimpleData> dataChilledCeilingPanelSimple;
338 : std::unique_ptr<ChillerAbsorberData> dataChillerAbsorber;
339 : std::unique_ptr<ChillerElectricEIRData> dataChillerElectricEIR;
340 : std::unique_ptr<ChillerExhaustAbsorptionData> dataChillerExhaustAbsorption;
341 : std::unique_ptr<ChillerGasAbsorptionData> dataChillerGasAbsorption;
342 : std::unique_ptr<ChillerIndirectAbsoprtionData> dataChillerIndirectAbsorption;
343 : std::unique_ptr<ChillerReformulatedEIRData> dataChillerReformulatedEIR;
344 : std::unique_ptr<ChillerElectricASHRAE205Data> dataChillerElectricASHRAE205;
345 : std::unique_ptr<CoilCoolingDXData> dataCoilCooingDX;
346 : std::unique_ptr<CondenserLoopTowersData> dataCondenserLoopTowers;
347 : std::unique_ptr<ConstructionData> dataConstruction;
348 : std::unique_ptr<ContaminantBalanceData> dataContaminantBalance;
349 : std::unique_ptr<ConvectionCoefficientsData> dataConvectionCoefficient;
350 : std::unique_ptr<ConvergParamsData> dataConvergeParams;
351 : std::unique_ptr<CoolTowerData> dataCoolTower;
352 : std::unique_ptr<CostEstimateManagerData> dataCostEstimateManager;
353 : std::unique_ptr<CrossVentMgrData> dataCrossVentMgr;
354 : std::unique_ptr<CurveManagerData> dataCurveManager;
355 : std::unique_ptr<DXCoilsData> dataDXCoils;
356 : std::unique_ptr<DXFEarClippingData> dataDXFEarClipping;
357 : std::unique_ptr<DataAirLoopData> dataAirLoop;
358 : std::unique_ptr<DataBranchAirLoopPlantData> dataBranchAirLoopPlant;
359 : std::unique_ptr<DataDaylightingDevicesData> dataDaylightingDevicesData;
360 : std::unique_ptr<DataGlobal> dataGlobal;
361 : std::unique_ptr<DataGlobalConstantsData> dataGlobalConst;
362 : std::unique_ptr<DataInputProcessing> dataInputProcessing;
363 : std::unique_ptr<DataPlantData> dataPlnt;
364 : std::unique_ptr<DataStringGlobalsData> dataStrGlobals;
365 : std::unique_ptr<DataTimingsData> dataTimingsData;
366 : std::unique_ptr<DataWaterData> dataWaterData;
367 : std::unique_ptr<DataZoneControlsData> dataZoneCtrls;
368 : std::unique_ptr<DataZoneEnergyDemandsData> dataZoneEnergyDemand;
369 : std::unique_ptr<DataZoneEquipmentData> dataZoneEquip;
370 : std::unique_ptr<DaylightingData> dataDaylightingData;
371 : std::unique_ptr<DaylightingDevicesData> dataDaylightingDevices;
372 : std::unique_ptr<DaylightingManagerData> dataDaylightingManager;
373 : std::unique_ptr<DefineEquipData> dataDefineEquipment;
374 : std::unique_ptr<DemandManagerData> dataDemandManager;
375 : std::unique_ptr<DesiccantDehumidifiersData> dataDesiccantDehumidifiers;
376 : std::unique_ptr<DisplacementVentMgrData> dataDispVentMgr;
377 : std::unique_ptr<DualDuctData> dataDualDuct;
378 : std::unique_ptr<EIRPlantLoopHeatPumpsData> dataEIRPlantLoopHeatPump;
379 : std::unique_ptr<EMSManagerData> dataEMSMgr;
380 : std::unique_ptr<EarthTubeData> dataEarthTube;
381 : std::unique_ptr<EcoRoofManagerData> dataEcoRoofMgr;
382 : std::unique_ptr<EconomicLifeCycleCostData> dataEconLifeCycleCost;
383 : std::unique_ptr<EconomicTariffData> dataEconTariff;
384 : std::unique_ptr<ElectPwrSvcMgrData> dataElectPwrSvcMgr;
385 : std::unique_ptr<ElectricBaseboardRadiatorData> dataElectBaseboardRad;
386 : std::unique_ptr<EnvironmentData> dataEnvrn;
387 : std::unique_ptr<ErrorTrackingData> dataErrTracking;
388 : std::unique_ptr<EvaporativeCoolersData> dataEvapCoolers;
389 : std::unique_ptr<EvaporativeFluidCoolersData> dataEvapFluidCoolers;
390 : std::unique_ptr<ExteriorEnergyUseData> dataExteriorEnergyUse;
391 : std::unique_ptr<ExternalInterfaceData> dataExternalInterface;
392 : std::unique_ptr<FanCoilUnitsData> dataFanCoilUnits;
393 : std::unique_ptr<FansData> dataFans;
394 : std::unique_ptr<FaultsManagerData> dataFaultsMgr;
395 : std::unique_ptr<FluidCoolersData> dataFluidCoolers;
396 : std::unique_ptr<FluidPropertiesData> dataFluidProps;
397 : std::unique_ptr<FourPipeBeamData> dataFourPipeBeam;
398 : std::unique_ptr<FuelCellElectricGeneratorData> dataFuelCellElectGen;
399 : std::unique_ptr<FurnacesData> dataFurnaces;
400 : std::unique_ptr<GeneralData> dataGeneral;
401 : std::unique_ptr<GeneralRoutinesData> dataGeneralRoutines;
402 : std::unique_ptr<GeneratorFuelSupplyData> dataGeneratorFuelSupply;
403 : std::unique_ptr<GeneratorsData> dataGenerator;
404 : std::unique_ptr<GlobalNamesData> dataGlobalNames;
405 : std::unique_ptr<GroundHeatExchangerData> dataGroundHeatExchanger;
406 : std::unique_ptr<GroundTemperatureManagerData> dataGrndTempModelMgr;
407 : std::unique_ptr<HVACControllersData> dataHVACControllers;
408 : std::unique_ptr<HVACCooledBeamData> dataHVACCooledBeam;
409 : std::unique_ptr<HVACCtrlData> dataHVACCtrl;
410 : std::unique_ptr<HVACDXHeatPumpSystemData> dataHVACDXHeatPumpSys;
411 : std::unique_ptr<HVACDuctData> dataHVACDuct;
412 : std::unique_ptr<HVACFanData> dataHVACFan;
413 : std::unique_ptr<HVACGlobalsData> dataHVACGlobal;
414 : std::unique_ptr<HVACHXAssistedCoolingCoilData> dataHVACAssistedCC;
415 : std::unique_ptr<HVACInterfaceManagerData> dataHVACInterfaceMgr;
416 : std::unique_ptr<HVACManagerData> dataHVACMgr;
417 : std::unique_ptr<HVACMultiSpeedHeatPumpData> dataHVACMultiSpdHP;
418 : std::unique_ptr<HVACSingleDuctInducData> dataHVACSingleDuctInduc;
419 : std::unique_ptr<HVACSizingSimMgrData> dataHVACSizingSimMgr;
420 : std::unique_ptr<HVACStandAloneERVData> dataHVACStandAloneERV;
421 : std::unique_ptr<HVACUnitaryBypassVAVData> dataHVACUnitaryBypassVAV;
422 : std::unique_ptr<HVACVarRefFlowData> dataHVACVarRefFlow;
423 : std::unique_ptr<HWBaseboardRadiatorData> dataHWBaseboardRad;
424 : std::unique_ptr<HeatBalFanSysData> dataHeatBalFanSys;
425 : std::unique_ptr<HeatBalFiniteDiffMgr> dataHeatBalFiniteDiffMgr;
426 : std::unique_ptr<HeatBalHAMTMgrData> dataHeatBalHAMTMgr;
427 : std::unique_ptr<HeatBalInternalHeatGainsData> dataHeatBalIntHeatGains;
428 : std::unique_ptr<HeatBalSurfData> dataHeatBalSurf;
429 : std::unique_ptr<HeatBalSurfMgr> dataHeatBalSurfMgr;
430 : std::unique_ptr<HeatBalanceAirMgrData> dataHeatBalAirMgr;
431 : std::unique_ptr<HeatBalanceData> dataHeatBal;
432 : std::unique_ptr<HeatBalanceIntRadExchgData> dataHeatBalIntRadExchg;
433 : std::unique_ptr<HeatBalanceMgrData> dataHeatBalMgr;
434 : std::unique_ptr<HeatPumpWaterToWaterCOOLINGData> dataHPWaterToWaterClg;
435 : std::unique_ptr<HeatPumpWaterToWaterHEATINGData> dataHPWaterToWaterHtg;
436 : std::unique_ptr<HeatPumpWaterToWaterSimpleData> dataHPWaterToWaterSimple;
437 : std::unique_ptr<HeatRecoveryData> dataHeatRecovery;
438 : std::unique_ptr<HeatingCoilsData> dataHeatingCoils;
439 : std::unique_ptr<HighTempRadiantSystemData> dataHighTempRadSys;
440 : std::unique_ptr<HumidifiersData> dataHumidifiers;
441 : std::unique_ptr<HybridModelData> dataHybridModel;
442 : std::unique_ptr<HybridUnitaryAirConditionersData> dataHybridUnitaryAC;
443 : std::unique_ptr<HysteresisPhaseChangeData> dataHysteresisPhaseChange;
444 : std::unique_ptr<ICEngineElectricGeneratorData> dataICEngElectGen;
445 : std::unique_ptr<IPShortCutsData> dataIPShortCut;
446 : std::unique_ptr<IceThermalStorageData> dataIceThermalStorage;
447 : std::unique_ptr<IntegratedHeatPumpGlobalData> dataIntegratedHP;
448 : std::unique_ptr<InternalHeatGainsData> dataInternalHeatGains;
449 : std::unique_ptr<LoopNodeData> dataLoopNodes;
450 : std::unique_ptr<LowTempRadiantSystemData> dataLowTempRadSys;
451 : std::unique_ptr<MaterialData> dataMaterial;
452 : std::unique_ptr<MatrixDataManagerData> dataMatrixDataManager;
453 : std::unique_ptr<MicroCHPElectricGeneratorData> dataCHPElectGen;
454 : std::unique_ptr<MicroturbineElectricGeneratorData> dataMircoturbElectGen;
455 : std::unique_ptr<MixedAirData> dataMixedAir;
456 : std::unique_ptr<MixerComponentData> dataMixerComponent;
457 : std::unique_ptr<MoistureBalanceData> dataMstBal;
458 : std::unique_ptr<MoistureBalanceEMPDData> dataMstBalEMPD;
459 : std::unique_ptr<MoistureBalanceEMPDManagerData> dataMoistureBalEMPD;
460 : std::unique_ptr<MundtSimMgrData> dataMundtSimMgr;
461 : std::unique_ptr<NodeInputManagerData> dataNodeInputMgr;
462 : std::unique_ptr<OutAirNodeManagerData> dataOutAirNodeMgr;
463 : std::unique_ptr<OutdoorAirUnitData> dataOutdoorAirUnit;
464 : std::unique_ptr<OutputProcessorData> dataOutputProcessor;
465 : std::unique_ptr<OutputReportPredefinedData> dataOutRptPredefined;
466 : std::unique_ptr<OutputReportTabularAnnualData> dataOutputReportTabularAnnual;
467 : std::unique_ptr<OutputReportTabularData> dataOutRptTab;
468 : std::unique_ptr<OutputReportsData> dataOutputReports;
469 : std::unique_ptr<OutputsData> dataOutput;
470 : std::unique_ptr<OutsideEnergySourcesData> dataOutsideEnergySrcs;
471 : std::unique_ptr<PackagedThermalStorageCoilData> dataPackagedThermalStorageCoil;
472 : std::unique_ptr<PhotovoltaicStateData> dataPhotovoltaicState;
473 : std::unique_ptr<PhotovoltaicThermalCollectorsData> dataPhotovoltaicThermalCollector;
474 : std::unique_ptr<PhotovoltaicsData> dataPhotovoltaic;
475 : std::unique_ptr<PipeHeatTransferData> dataPipeHT;
476 : std::unique_ptr<PipesData> dataPipes;
477 : std::unique_ptr<PlantCentralGSHPData> dataPlantCentralGSHP;
478 : std::unique_ptr<PlantChillersData> dataPlantChillers;
479 : std::unique_ptr<PlantCompTempSrcData> dataPlantCompTempSrc;
480 : std::unique_ptr<PlantCondLoopOperationData> dataPlantCondLoopOp;
481 : std::unique_ptr<PlantHeatExchangerFluidToFluidData> dataPlantHXFluidToFluid;
482 : std::unique_ptr<PlantLoadProfileData> dataPlantLoadProfile;
483 : std::unique_ptr<PlantMgrData> dataPlantMgr;
484 : std::unique_ptr<PlantPipingSysMgrData> dataPlantPipingSysMgr;
485 : std::unique_ptr<PlantPressureSysData> dataPlantPressureSys;
486 : std::unique_ptr<PlantUtilitiesData> dataPlantUtilities;
487 : std::unique_ptr<PlantValvesData> dataPlantValves;
488 : std::unique_ptr<PluginManagerData> dataPluginManager;
489 : std::unique_ptr<PollutionModuleData> dataPollutionModule;
490 : std::unique_ptr<PondGroundHeatExchangerData> dataPondGHE;
491 : std::unique_ptr<PoweredInductionUnitsData> dataPowerInductionUnits;
492 : std::unique_ptr<PsychrometricsData> dataPsychrometrics;
493 : std::unique_ptr<PsychrometricCacheData> dataPsychCache;
494 : std::unique_ptr<PumpsData> dataPumps;
495 : std::unique_ptr<PurchasedAirManagerData> dataPurchasedAirMgr;
496 : std::unique_ptr<RefrigeratedCaseData> dataRefrigCase;
497 : std::unique_ptr<ReportCoilSelectionData> dataRptCoilSelection;
498 : std::unique_ptr<ReportFlagData> dataReportFlag;
499 : std::unique_ptr<ResultsFrameworkData> dataResultsFramework;
500 : std::unique_ptr<ReturnAirPathMgr> dataRetAirPathMrg;
501 : std::unique_ptr<ExhaustAirSystemMgr> dataExhAirSystemMrg;
502 : std::unique_ptr<ExhaustControlSystemMgr> dataExhCtrlSystemMrg;
503 : std::unique_ptr<RoomAirModelAirflowNetworkData> dataRoomAirflowNetModel;
504 : std::unique_ptr<RoomAirModelData> dataRoomAirMod;
505 : std::unique_ptr<RoomAirModelManagerData> dataRoomAirModelMgr;
506 : std::unique_ptr<RoomAirModelUserTempPatternData> dataRoomAirModelTempPattern;
507 : std::unique_ptr<RootFindingData> dataRootFinder;
508 : std::unique_ptr<RuntimeLanguageData> dataRuntimeLang;
509 : std::unique_ptr<RuntimeLanguageProcessorData> dataRuntimeLangProcessor;
510 : std::unique_ptr<SQLiteProceduresData> dataSQLiteProcedures;
511 : std::unique_ptr<ScheduleManagerData> dataScheduleMgr;
512 : std::unique_ptr<SetPointManagerData> dataSetPointManager;
513 : std::unique_ptr<ShadowCombData> dataShadowComb;
514 : std::unique_ptr<SimAirServingZonesData> dataSimAirServingZones;
515 : std::unique_ptr<SimulationManagerData> dataSimulationManager;
516 : std::unique_ptr<SingleDuctData> dataSingleDuct;
517 : std::unique_ptr<SizingData> dataSize;
518 : std::unique_ptr<SizingManagerData> dataSizingManager;
519 : std::unique_ptr<SolarCollectorsData> dataSolarCollectors;
520 : std::unique_ptr<SolarReflectionManagerData> dataSolarReflectionManager;
521 : std::unique_ptr<SolarShadingData> dataSolarShading;
522 : std::unique_ptr<SplitterComponentData> dataSplitterComponent;
523 : std::unique_ptr<SteamBaseboardRadiatorData> dataSteamBaseboardRadiator;
524 : std::unique_ptr<SteamCoilsData> dataSteamCoils;
525 : std::unique_ptr<SurfaceColorData> dataSurfColor;
526 : std::unique_ptr<SurfaceGeometryData> dataSurfaceGeometry;
527 : std::unique_ptr<SurfaceGroundHeatExchangersData> dataSurfaceGroundHeatExchangers;
528 : std::unique_ptr<SurfaceListsData> dataSurfLists;
529 : std::unique_ptr<SurfacesData> dataSurface;
530 : std::unique_ptr<SwimmingPoolsData> dataSwimmingPools;
531 : std::unique_ptr<SystemAirFlowSizerData> dataSysAirFlowSizer;
532 : std::unique_ptr<SystemAvailabilityManagerData> dataSystemAvailabilityManager;
533 : std::unique_ptr<SystemReportsData> dataSysRpts;
534 : std::unique_ptr<SystemVarsData> dataSysVars;
535 : std::unique_ptr<TARCOGCommonData> dataTARCOGCommon;
536 : std::unique_ptr<TARCOGOutputData> dataTARCOGOutputs;
537 : std::unique_ptr<ThermalChimneysData> dataThermalChimneys;
538 : std::unique_ptr<ThermalComfortsData> dataThermalComforts;
539 : std::unique_ptr<ThermalISO15099CalcData> dataThermalISO15099Calc;
540 : std::unique_ptr<TARCOGGasses90Data> dataTARCOGGasses90;
541 : std::unique_ptr<TARCOGMainData> dataTARCOGMain;
542 : std::unique_ptr<TarcogShadingData> dataTarcogShading;
543 : std::unique_ptr<TranspiredCollectorData> dataTranspiredCollector;
544 : std::unique_ptr<UCSDSharedData> dataUCSDShared;
545 : std::unique_ptr<UFADManagerData> dataUFADManager;
546 : std::unique_ptr<UnitHeatersData> dataUnitHeaters;
547 : std::unique_ptr<UnitVentilatorsData> dataUnitVentilators;
548 : std::unique_ptr<UnitarySystemsData> dataUnitarySystems;
549 : std::unique_ptr<UserDefinedComponentsData> dataUserDefinedComponents;
550 : std::unique_ptr<UtilityRoutinesData> dataUtilityRoutines;
551 : std::unique_ptr<VariableSpeedCoilsData> dataVariableSpeedCoils;
552 : std::unique_ptr<VectorsData> dataVectors;
553 : std::unique_ptr<VentilatedSlabData> dataVentilatedSlab;
554 : std::unique_ptr<ViewFactorInfoData> dataViewFactor;
555 : std::unique_ptr<WaterCoilsData> dataWaterCoils;
556 : std::unique_ptr<WaterManagerData> dataWaterManager;
557 : std::unique_ptr<WaterThermalTanksData> dataWaterThermalTanks;
558 : std::unique_ptr<WaterToAirHeatPumpData> dataWaterToAirHeatPump;
559 : std::unique_ptr<WaterToAirHeatPumpSimpleData> dataWaterToAirHeatPumpSimple;
560 : std::unique_ptr<WaterUseData> dataWaterUse;
561 : std::unique_ptr<WeatherManagerData> dataWeatherManager;
562 : std::unique_ptr<WindTurbineData> dataWindTurbine;
563 : std::unique_ptr<WindowACData> dataWindowAC;
564 : std::unique_ptr<WindowComplexManagerData> dataWindowComplexManager;
565 : std::unique_ptr<WindowEquivLayerData> dataWindowEquivLayer;
566 : std::unique_ptr<WindowEquivalentLayerData> dataWindowEquivalentLayer;
567 : std::unique_ptr<WindowManagerData> dataWindowManager;
568 : std::unique_ptr<ZoneAirLoopEquipmentManagerData> dataZoneAirLoopEquipmentManager;
569 : std::unique_ptr<ZoneContaminantPredictorCorrectorData> dataZoneContaminantPredictorCorrector;
570 : std::unique_ptr<ZoneDehumidifierData> dataZoneDehumidifier;
571 : std::unique_ptr<ZoneEquipmentManagerData> dataZoneEquipmentManager;
572 : std::unique_ptr<ZonePlenumData> dataZonePlenum;
573 : std::unique_ptr<ZoneTempPredictorCorrectorData> dataZoneTempPredictorCorrector;
574 :
575 : EnergyPlusData();
576 : ~EnergyPlusData();
577 :
578 : // Cannot safely copy or delete this until we eradicate all remaining
579 : // calls to IOFiles::getSingleton and IOFiles::setSingleton
580 : EnergyPlusData(const EnergyPlusData &) = delete;
581 : EnergyPlusData(EnergyPlusData &&) = delete;
582 :
583 : void clear_state() override;
584 : };
585 :
586 : } // namespace EnergyPlus
587 : #endif
|