Skip to content

Commit

Permalink
Merge pull request #8092 from NREL/global_zone_temp_predictor_corrector
Browse files Browse the repository at this point in the history
Global zone temp predictor corrector
  • Loading branch information
Myoldmopar authored Jun 24, 2020
2 parents 64924f0 + eb7821c commit e2c0904
Show file tree
Hide file tree
Showing 171 changed files with 1,652 additions and 1,715 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,9 @@
#ifndef SOLVER_HPP
#define SOLVER_HPP

// C++ Headers
#include <unordered_map>

// ObjexxFCL Headers
#include <ObjexxFCL/Array2D.hh>

Expand Down
1 change: 0 additions & 1 deletion src/EnergyPlus/AirflowNetworkBalanceManager.hh
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,6 @@
// EnergyPlus Headers
#include <EnergyPlus/Data/BaseData.hh>
#include <EnergyPlus/EnergyPlus.hh>
#include <EnergyPlus/Data/EnergyPlusData.hh>
#include "AirflowNetwork/Solver.hpp"
#include "AirflowNetwork/Elements.hpp"

Expand Down
1 change: 1 addition & 0 deletions src/EnergyPlus/BaseboardElectric.cc
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,7 @@

// EnergyPlus Headers
#include <EnergyPlus/BaseboardElectric.hh>
#include <EnergyPlus/Data/EnergyPlusData.hh>
#include <EnergyPlus/DataHVACGlobals.hh>
#include <EnergyPlus/DataHeatBalance.hh>
#include <EnergyPlus/DataIPShortCuts.hh>
Expand Down
3 changes: 2 additions & 1 deletion src/EnergyPlus/BaseboardRadiator.cc
Original file line number Diff line number Diff line change
Expand Up @@ -55,12 +55,12 @@
// EnergyPlus Headers
#include <EnergyPlus/BaseboardRadiator.hh>
#include <EnergyPlus/BranchNodeConnections.hh>
#include <EnergyPlus/Data/EnergyPlusData.hh>
#include <EnergyPlus/DataEnvironment.hh>
#include <EnergyPlus/DataHVACGlobals.hh>
#include <EnergyPlus/DataHeatBalance.hh>
#include <EnergyPlus/DataIPShortCuts.hh>
#include <EnergyPlus/DataLoopNode.hh>
#include <EnergyPlus/Plant/DataPlant.hh>
#include <EnergyPlus/DataPrecisionGlobals.hh>
#include <EnergyPlus/DataSizing.hh>
#include <EnergyPlus/DataZoneEnergyDemands.hh>
Expand All @@ -72,6 +72,7 @@
#include <EnergyPlus/InputProcessing/InputProcessor.hh>
#include <EnergyPlus/NodeInputManager.hh>
#include <EnergyPlus/OutputProcessor.hh>
#include <EnergyPlus/Plant/DataPlant.hh>
#include <EnergyPlus/PlantUtilities.hh>
#include <EnergyPlus/Psychrometrics.hh>
#include <EnergyPlus/ReportSizingManager.hh>
Expand Down
6 changes: 3 additions & 3 deletions src/EnergyPlus/ChilledCeilingPanelSimple.cc
Original file line number Diff line number Diff line change
Expand Up @@ -184,9 +184,8 @@ namespace CoolingPanelSimple {

{
auto const SELECT_CASE_var(ThisCP.EquipType);

if (SELECT_CASE_var == TypeOf_CoolingPanel_Simple) { // 'ZoneHVAC:CoolingPanel:RadiantConvective:Water'
ThisCP.CalcCoolingPanel(state.dataChilledCeilingPanelSimple, CoolingPanelNum);
ThisCP.CalcCoolingPanel(state.dataChilledCeilingPanelSimple, state.dataZoneTempPredictorCorrector, CoolingPanelNum);
} else {
ShowSevereError("SimCoolingPanelSimple: Errors in CoolingPanel=" + state.dataChilledCeilingPanelSimple.CoolingPanel(CoolingPanelNum).EquipID);
ShowContinueError("Invalid or unimplemented equipment type=" + TrimSigDigits(state.dataChilledCeilingPanelSimple.CoolingPanel(CoolingPanelNum).EquipType));
Expand Down Expand Up @@ -1155,6 +1154,7 @@ namespace CoolingPanelSimple {
}

void CoolingPanelParams::CalcCoolingPanel(ChilledCeilingPanelSimpleData &dataChilledCeilingPanelSimple,
ZoneTempPredictorCorrectorData &dataZoneTempPredictorCorrector,
int const CoolingPanelNum)
{
// SUBROUTINE INFORMATION:
Expand Down Expand Up @@ -1409,7 +1409,7 @@ namespace CoolingPanelSimple {
// Now "simulate" the system by recalculating the heat balances
HeatBalanceSurfaceManager::CalcHeatBalanceOutsideSurf(ZoneNum);

HeatBalanceSurfaceManager::CalcHeatBalanceInsideSurf(ZoneNum);
HeatBalanceSurfaceManager::CalcHeatBalanceInsideSurf(dataZoneTempPredictorCorrector, ZoneNum);

// Here an assumption is made regarding radiant heat transfer to people.
// While the radiant heat transfer to people array will be used by the thermal comfort
Expand Down
2 changes: 2 additions & 0 deletions src/EnergyPlus/ChilledCeilingPanelSimple.hh
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,7 @@ namespace EnergyPlus {
// Forward declarations
struct EnergyPlusData;
struct ChilledCeilingPanelSimpleData;
struct ZoneTempPredictorCorrectorData;

namespace CoolingPanelSimple {

Expand Down Expand Up @@ -155,6 +156,7 @@ namespace CoolingPanelSimple {
}

void CalcCoolingPanel(ChilledCeilingPanelSimpleData &dataChilledCeilingPanelSimple,
ZoneTempPredictorCorrectorData &dataZoneTempPredictorCorrector,
int CoolingPanelNum);

void SetCoolingPanelControlTemp(Real64 &ControlTemp, int ZoneNum);
Expand Down
3 changes: 2 additions & 1 deletion src/EnergyPlus/Coils/CoilCoolingDX.hh
Original file line number Diff line number Diff line change
Expand Up @@ -53,9 +53,10 @@

#include <EnergyPlus/Coils/CoilCoolingDXCurveFitPerformance.hh>
#include <EnergyPlus/EnergyPlus.hh>
#include <EnergyPlus/Data/EnergyPlusData.hh>

namespace EnergyPlus {
// Forward declarations
struct EnergyPlusData;

struct CoilCoolingDXInputSpecification
{
Expand Down
3 changes: 2 additions & 1 deletion src/EnergyPlus/Coils/CoilCoolingDXCurveFitOperatingMode.hh
Original file line number Diff line number Diff line change
Expand Up @@ -55,9 +55,10 @@
#include <EnergyPlus/Coils/CoilCoolingDXCurveFitSpeed.hh>
#include <EnergyPlus/DataLoopNode.hh>
#include <EnergyPlus/EnergyPlus.hh>
#include <EnergyPlus/Data/EnergyPlusData.hh>

namespace EnergyPlus {
// Forward declarations
struct EnergyPlusData;

struct CoilCoolingDXCurveFitOperatingModeInputSpecification
{
Expand Down
1 change: 1 addition & 0 deletions src/EnergyPlus/Coils/CoilCoolingDXCurveFitPerformance.cc
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,7 @@
#include <EnergyPlus/Coils/CoilCoolingDX.hh>
#include <EnergyPlus/Coils/CoilCoolingDXCurveFitPerformance.hh>
#include <EnergyPlus/CurveManager.hh>
#include <EnergyPlus/Data/EnergyPlusData.hh>
#include <EnergyPlus/DataEnvironment.hh>
#include <EnergyPlus/DataGlobalConstants.hh>
#include <EnergyPlus/DataHVACGlobals.hh>
Expand Down
5 changes: 3 additions & 2 deletions src/EnergyPlus/Coils/CoilCoolingDXCurveFitPerformance.hh
Original file line number Diff line number Diff line change
Expand Up @@ -54,10 +54,11 @@
#include <EnergyPlus/Coils/CoilCoolingDXCurveFitOperatingMode.hh>
#include <EnergyPlus/DataLoopNode.hh>
#include <EnergyPlus/EnergyPlus.hh>
#include <EnergyPlus/Data/EnergyPlusData.hh>

namespace EnergyPlus {
class OutputFiles;
// Forward declarations
struct EnergyPlusData;
class OutputFiles;

struct CoilCoolingDXCurveFitPerformanceInputSpecification
{
Expand Down
3 changes: 2 additions & 1 deletion src/EnergyPlus/Coils/CoilCoolingDXCurveFitSpeed.hh
Original file line number Diff line number Diff line change
Expand Up @@ -54,9 +54,10 @@

#include <EnergyPlus/DataLoopNode.hh>
#include <EnergyPlus/EnergyPlus.hh>
#include <EnergyPlus/Data/EnergyPlusData.hh>

namespace EnergyPlus {
// Forward declarations
struct EnergyPlusData;

struct CoilCoolingDXCurveFitSpeedInputSpecification
{
Expand Down
5 changes: 4 additions & 1 deletion src/EnergyPlus/CommandLineInterface.hh
Original file line number Diff line number Diff line change
Expand Up @@ -49,10 +49,13 @@
#define CommandLineInterface_hh_INCLUDED

#include <EnergyPlus/api/EnergyPlusAPI.h>
#include <EnergyPlus/Data/EnergyPlusData.hh>
//#include <EnergyPlus/Data/EnergyPlusData.hh>
#include <string>

namespace EnergyPlus {
// Forward declarations
struct EnergyPlusData;
class OutputFiles;

namespace CommandLineInterface {

Expand Down
1 change: 1 addition & 0 deletions src/EnergyPlus/CostEstimateManager.cc
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,7 @@
// EnergyPlus Headers
#include <EnergyPlus/CostEstimateManager.hh>
#include <EnergyPlus/DXCoils.hh>
#include <EnergyPlus/Data/EnergyPlusData.hh>
#include <EnergyPlus/DataCostEstimate.hh>
#include <EnergyPlus/DataDaylighting.hh>
#include <EnergyPlus/DataGlobals.hh>
Expand Down
3 changes: 2 additions & 1 deletion src/EnergyPlus/DXCoils.hh
Original file line number Diff line number Diff line change
Expand Up @@ -57,9 +57,10 @@
#include <EnergyPlus/DataGlobals.hh>
#include <EnergyPlus/DataHVACGlobals.hh>
#include <EnergyPlus/EnergyPlus.hh>
#include <EnergyPlus/Data/EnergyPlusData.hh>

namespace EnergyPlus {
// Forward declarations
struct EnergyPlusData;
class OutputFiles;

namespace DXCoils {
Expand Down
3 changes: 3 additions & 0 deletions src/EnergyPlus/Data/EnergyPlusData.hh
Original file line number Diff line number Diff line change
Expand Up @@ -76,6 +76,7 @@
#include <EnergyPlus/PlantChillers.hh>
#include <EnergyPlus/ZoneEquipmentManager.hh>
#include <EnergyPlus/ZonePlenum.hh>
#include <EnergyPlus/ZoneTempPredictorCorrector.hh>
#include <unordered_map>
#include <string>

Expand Down Expand Up @@ -112,6 +113,7 @@ namespace EnergyPlus {

ZoneEquipmentManagerData dataZoneEquipmentManager;
ZonePlenumData dataZonePlenum;
ZoneTempPredictorCorrectorData dataZoneTempPredictorCorrector;

EnergyPlusData() {
OutputFiles::setSingleton(&outputFiles);
Expand Down Expand Up @@ -145,6 +147,7 @@ namespace EnergyPlus {
dataPlantChillers.clear_state();
dataZoneEquipmentManager.clear_state();
dataZonePlenum.clear_state();
dataZoneTempPredictorCorrector.clear_state();
};
};

Expand Down
3 changes: 2 additions & 1 deletion src/EnergyPlus/DataAirSystems.hh
Original file line number Diff line number Diff line change
Expand Up @@ -56,9 +56,10 @@
#include <EnergyPlus/Plant/DataPlant.hh>
#include <EnergyPlus/DataHVACSystems.hh>
#include <EnergyPlus/EnergyPlus.hh>
#include <EnergyPlus/Data/EnergyPlusData.hh>

namespace EnergyPlus {
// Forward declarations
struct EnergyPlusData;

namespace DataAirSystems {

Expand Down
3 changes: 2 additions & 1 deletion src/EnergyPlus/DataHVACSystems.hh
Original file line number Diff line number Diff line change
Expand Up @@ -53,9 +53,10 @@

// EnergyPlus Headers
#include <EnergyPlus/EnergyPlus.hh>
#include <EnergyPlus/Data/EnergyPlusData.hh>

namespace EnergyPlus {
// Forward declarations
struct EnergyPlusData;

// base class for all HVAC systems
class HVACSystemData {
Expand Down
4 changes: 3 additions & 1 deletion src/EnergyPlus/DataSystemVariables.hh
Original file line number Diff line number Diff line change
Expand Up @@ -53,9 +53,11 @@

// EnergyPlus Headers
#include <EnergyPlus/EnergyPlus.hh>
#include <EnergyPlus/Data/EnergyPlusData.hh>

namespace EnergyPlus {
// Forward declarations
struct EnergyPlusData;
struct DataGlobal;

namespace DataSystemVariables {

Expand Down
3 changes: 2 additions & 1 deletion src/EnergyPlus/DataZoneEquipment.hh
Original file line number Diff line number Diff line change
Expand Up @@ -56,10 +56,11 @@
#include <EnergyPlus/DataGlobals.hh>
#include <EnergyPlus/DataHVACSystems.hh>
#include <EnergyPlus/EnergyPlus.hh>
#include <EnergyPlus/Data/EnergyPlusData.hh>
#include <EnergyPlus/OutputProcessor.hh>

namespace EnergyPlus {
// Forward declarations
struct EnergyPlusData;

namespace DataZoneEquipment {

Expand Down
3 changes: 2 additions & 1 deletion src/EnergyPlus/DemandManager.hh
Original file line number Diff line number Diff line change
Expand Up @@ -54,9 +54,10 @@
// EnergyPlus Headers
#include <EnergyPlus/DataGlobals.hh>
#include <EnergyPlus/EnergyPlus.hh>
#include <EnergyPlus/Data/EnergyPlusData.hh>

namespace EnergyPlus {
// Forward declarations
struct EnergyPlusData;

namespace DemandManager {

Expand Down
3 changes: 2 additions & 1 deletion src/EnergyPlus/DesiccantDehumidifiers.hh
Original file line number Diff line number Diff line change
Expand Up @@ -55,9 +55,10 @@
// EnergyPlus Headers
#include <EnergyPlus/DataGlobals.hh>
#include <EnergyPlus/EnergyPlus.hh>
#include <EnergyPlus/Data/EnergyPlusData.hh>

namespace EnergyPlus {
// Forward declarations
struct EnergyPlusData;

namespace DesiccantDehumidifiers {

Expand Down
10 changes: 5 additions & 5 deletions src/EnergyPlus/ElectricBaseboardRadiator.cc
Original file line number Diff line number Diff line change
Expand Up @@ -188,7 +188,7 @@ namespace ElectricBaseboardRadiator {

if (SELECT_CASE_var == BaseboardRadiator_Electric) { // 'ZONEHVAC:BASEBOARD:RADIANTCONVECTIVE:ELECTRIC'
// Simulate baseboard
CalcElectricBaseboard(BaseboardNum, ControlledZoneNum);
CalcElectricBaseboard(state.dataZoneTempPredictorCorrector, BaseboardNum, ControlledZoneNum);

} else {
ShowSevereError("SimElecBaseboard: Errors in Baseboard=" + ElecBaseboard(BaseboardNum).EquipName);
Expand Down Expand Up @@ -749,7 +749,7 @@ namespace ElectricBaseboardRadiator {
}
}

void CalcElectricBaseboard(int const BaseboardNum, int const EP_UNUSED(ControlledZoneNum))
void CalcElectricBaseboard(ZoneTempPredictorCorrectorData &dataZoneTempPredictorCorrector, int const BaseboardNum, int const EP_UNUSED(ControlledZoneNum))
{
// SUBROUTINE INFORMATION:
// AUTHOR Richard Liesen
Expand Down Expand Up @@ -819,7 +819,7 @@ namespace ElectricBaseboardRadiator {
DistributeBBElecRadGains();
// Now "simulate" the system by recalculating the heat balances
HeatBalanceSurfaceManager::CalcHeatBalanceOutsideSurf(ZoneNum);
HeatBalanceSurfaceManager::CalcHeatBalanceInsideSurf(ZoneNum);
HeatBalanceSurfaceManager::CalcHeatBalanceInsideSurf(dataZoneTempPredictorCorrector, ZoneNum);
// Here an assumption is made regarding radiant heat transfer to people.
// While the radiant heat transfer to people array will be used by the thermal comfort
// routines, the energy transfer to people would get lost from the perspective
Expand All @@ -844,13 +844,13 @@ namespace ElectricBaseboardRadiator {
QBBElecRadSource(BaseboardNum) = 0.0;
DistributeBBElecRadGains();
HeatBalanceSurfaceManager::CalcHeatBalanceOutsideSurf(ZoneNum);
HeatBalanceSurfaceManager::CalcHeatBalanceInsideSurf(ZoneNum);
HeatBalanceSurfaceManager::CalcHeatBalanceInsideSurf(dataZoneTempPredictorCorrector, ZoneNum);
TempZeroSourceSumHATsurf = SumHATsurf(ZoneNum);
// Now, turn it back on:
QBBElecRadSource(BaseboardNum) = RadHeat;
DistributeBBElecRadGains();
HeatBalanceSurfaceManager::CalcHeatBalanceOutsideSurf(ZoneNum);
HeatBalanceSurfaceManager::CalcHeatBalanceInsideSurf(ZoneNum);
HeatBalanceSurfaceManager::CalcHeatBalanceInsideSurf(dataZoneTempPredictorCorrector, ZoneNum);
// Recalculate LoadMet with new ZeroSource... term and see if it is positive now. If not, shut it down.
LoadMet = (SumHATsurf(ZoneNum) - TempZeroSourceSumHATsurf) + (QBBCap * ElecBaseboard(BaseboardNum).FracConvect) +
(RadHeat * ElecBaseboard(BaseboardNum).FracDistribPerson);
Expand Down
6 changes: 4 additions & 2 deletions src/EnergyPlus/ElectricBaseboardRadiator.hh
Original file line number Diff line number Diff line change
Expand Up @@ -54,9 +54,11 @@
// EnergyPlus Headers
#include <EnergyPlus/DataGlobals.hh>
#include <EnergyPlus/EnergyPlus.hh>
#include <EnergyPlus/Data/EnergyPlusData.hh>

namespace EnergyPlus {
// Forward declarations
struct EnergyPlusData;
struct ZoneTempPredictorCorrectorData;

namespace ElectricBaseboardRadiator {

Expand Down Expand Up @@ -157,7 +159,7 @@ namespace ElectricBaseboardRadiator {

void SizeElectricBaseboard(EnergyPlusData &state, int const BaseboardNum);

void CalcElectricBaseboard(int const BaseboardNum, int const ControlledZoneNum);
void CalcElectricBaseboard(ZoneTempPredictorCorrectorData &dataZoneTempPredictorCorrector, int const BaseboardNum, int const ControlledZoneNum);

void UpdateElectricBaseboardOff(Real64 &LoadMet,
Real64 &QBBCap,
Expand Down
3 changes: 2 additions & 1 deletion src/EnergyPlus/EvaporativeCoolers.hh
Original file line number Diff line number Diff line change
Expand Up @@ -55,9 +55,10 @@
#include <EnergyPlus/DataGlobals.hh>
#include <EnergyPlus/DataZoneEquipment.hh>
#include <EnergyPlus/EnergyPlus.hh>
#include <EnergyPlus/Data/EnergyPlusData.hh>

namespace EnergyPlus {
// Forward declarations
struct EnergyPlusData;

namespace EvaporativeCoolers {

Expand Down
3 changes: 2 additions & 1 deletion src/EnergyPlus/FanCoilUnits.hh
Original file line number Diff line number Diff line change
Expand Up @@ -59,10 +59,11 @@
// EnergyPlus Headers
#include <EnergyPlus/DataGlobals.hh>
#include <EnergyPlus/EnergyPlus.hh>
#include <EnergyPlus/Data/EnergyPlusData.hh>
#include <EnergyPlus/HVACFan.hh>

namespace EnergyPlus {
// Forward declarations
struct EnergyPlusData;

namespace FanCoilUnits {

Expand Down
3 changes: 2 additions & 1 deletion src/EnergyPlus/FaultsManager.hh
Original file line number Diff line number Diff line change
Expand Up @@ -54,9 +54,10 @@
// EnergyPlus Headers
#include <EnergyPlus/DataGlobals.hh>
#include <EnergyPlus/EnergyPlus.hh>
#include <EnergyPlus/Data/EnergyPlusData.hh>

namespace EnergyPlus {
// Forward declarations
struct EnergyPlusData;

namespace FaultsManager {

Expand Down
3 changes: 2 additions & 1 deletion src/EnergyPlus/Furnaces.hh
Original file line number Diff line number Diff line change
Expand Up @@ -55,10 +55,11 @@
// EnergyPlus Headers
#include <EnergyPlus/DataGlobals.hh>
#include <EnergyPlus/EnergyPlus.hh>
#include <EnergyPlus/Data/EnergyPlusData.hh>
#include <EnergyPlus/VariableSpeedCoils.hh>

namespace EnergyPlus {
// Forward declarations
struct EnergyPlusData;

namespace Furnaces {

Expand Down
Loading

0 comments on commit e2c0904

Please # to comment.