Skip to content

Commit

Permalink
Merge branch 'develop' into 10317PoolNotTurningOnWithLowCapacityHeatS…
Browse files Browse the repository at this point in the history
…ource
  • Loading branch information
RKStrand committed Jun 5, 2024
2 parents e6ac27a + 571482d commit 7b75d61
Show file tree
Hide file tree
Showing 20 changed files with 27,313 additions and 251 deletions.
951 changes: 951 additions & 0 deletions design/FY2024/NFP-AirToWaterHeatPumpHeatRecovery.md

Large diffs are not rendered by default.

Binary file added design/FY2024/chiller_with_heat_recovery.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added design/FY2024/heater_with_heat_recovery.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
157 changes: 116 additions & 41 deletions idd/Energy+.idd.in

Large diffs are not rendered by default.

3 changes: 1 addition & 2 deletions src/EnergyPlus/DXCoils.cc
Original file line number Diff line number Diff line change
Expand Up @@ -17197,7 +17197,7 @@ void CalcVRFHeatingCoil_FluidTCtrl(EnergyPlusData &state,
thisDXCoil.CompressorPartLoadRatio = PartLoadRatio;
thisDXCoil.ActualSH = ActualSH;
thisDXCoil.ActualSC = ActualSC;
thisDXCoil.TotalHeatingEnergyRate = AirMassFlow * (OutletAirEnthalpy - InletAirEnthalpy);
thisDXCoil.TotalHeatingEnergyRate = AirMassFlow * (OutletAirEnthalpy - InletAirEnthalpy) * PartLoadRatio;
thisDXCoil.DefrostPower = thisDXCoil.DefrostPower * thisDXCoil.HeatingCoilRuntimeFraction;

} else {
Expand Down Expand Up @@ -17489,7 +17489,6 @@ void ControlVRFIUCoil(EnergyPlusData &state,
// outlet air temperature is time-weighted
Tout = CoilOnOffRatio * To_2 + (1 - CoilOnOffRatio) * Tin;
}

Wout = Win;
Hout = PsyHFnTdbW(Tout, Wout);
SHact = 999.0;
Expand Down
177 changes: 27 additions & 150 deletions src/EnergyPlus/DataLoopNode.hh
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,7 @@

// EnergyPlus Headers
#include <EnergyPlus/Data/BaseData.hh>
#include <EnergyPlus/DataEnvironment.hh>
#include <EnergyPlus/DataGlobals.hh>
#include <EnergyPlus/EnergyPlus.hh>

Expand Down Expand Up @@ -432,31 +433,31 @@ namespace DataLoopNode {
struct NodeData
{
// Members
NodeFluidType FluidType = NodeFluidType::Blank; // must be one of the valid parameters
int FluidIndex = 0; // For Fluid Properties
Real64 Temp = 0.0; // {C}
Real64 TempMin = 0.0; // {C}
Real64 TempMax = 0.0; // {C}
Real64 TempSetPoint = SensedNodeFlagValue; // {C}
Real64 TempLastTimestep = 0.0; // [C}
Real64 MassFlowRateRequest = 0.0; // {kg/s}
Real64 MassFlowRate = 0.0; // {kg/s}
Real64 MassFlowRateMin = 0.0; // {kg/s}
Real64 MassFlowRateMax = SensedNodeFlagValue; // {kg/s}
Real64 MassFlowRateMinAvail = 0.0; // {kg/s}
Real64 MassFlowRateMaxAvail = 0.0; // {kg/s}
Real64 MassFlowRateSetPoint = 0.0; // {kg/s}
Real64 Quality = 0.0; // {0.0-1.0 vapor fraction/percent}
Real64 Press = 0.0; // {Pa}
Real64 Enthalpy = 0.0; // {J/kg}
Real64 EnthalpyLastTimestep = 0.0; // {J/kg}
Real64 HumRat = 0.0; // {}
Real64 HumRatMin = SensedNodeFlagValue; // {}
Real64 HumRatMax = SensedNodeFlagValue; // {}
Real64 HumRatSetPoint = SensedNodeFlagValue; // {}
Real64 TempSetPointHi = SensedNodeFlagValue; // {C}
Real64 TempSetPointLo = SensedNodeFlagValue; // {C}
Real64 Height = -1.0; // {m}
NodeFluidType FluidType = NodeFluidType::Blank; // must be one of the valid parameters
int FluidIndex = 0; // For Fluid Properties
Real64 Temp = 0.0; // {C}
Real64 TempMin = 0.0; // {C}
Real64 TempMax = 0.0; // {C}
Real64 TempSetPoint = SensedNodeFlagValue; // {C}
Real64 TempLastTimestep = 0.0; // [C}
Real64 MassFlowRateRequest = 0.0; // {kg/s}
Real64 MassFlowRate = 0.0; // {kg/s}
Real64 MassFlowRateMin = 0.0; // {kg/s}
Real64 MassFlowRateMax = SensedNodeFlagValue; // {kg/s}
Real64 MassFlowRateMinAvail = 0.0; // {kg/s}
Real64 MassFlowRateMaxAvail = 0.0; // {kg/s}
Real64 MassFlowRateSetPoint = 0.0; // {kg/s}
Real64 Quality = 0.0; // {0.0-1.0 vapor fraction/percent}
Real64 Press = DataEnvironment::StdPressureSeaLevel; // {Pa}
Real64 Enthalpy = 0.0; // {J/kg}
Real64 EnthalpyLastTimestep = 0.0; // {J/kg}
Real64 HumRat = 0.0; // {}
Real64 HumRatMin = SensedNodeFlagValue; // {}
Real64 HumRatMax = SensedNodeFlagValue; // {}
Real64 HumRatSetPoint = SensedNodeFlagValue; // {}
Real64 TempSetPointHi = SensedNodeFlagValue; // {C}
Real64 TempSetPointLo = SensedNodeFlagValue; // {C}
Real64 Height = -1.0; // {m}

// Following are for Outdoor Air Nodes Scheduled Properties
bool IsLocalNode = false;
Expand Down Expand Up @@ -490,73 +491,6 @@ namespace DataLoopNode {

// Default Constructor
NodeData() = default;

// Member Constructor
NodeData(NodeFluidType const FluidType, // must be one of the valid parameters
int const FluidIndex, // For Fluid Properties
Real64 const Temp, // {C}
Real64 const TempMin, // {C}
Real64 const TempMax, // {C}
Real64 const TempSetPoint, // {C}
Real64 const TempLastTimestep, // [C}
Real64 const MassFlowRateRequest, // {kg/s}
Real64 const MassFlowRate, // {kg/s}
Real64 const MassFlowRateMin, // {kg/s}
Real64 const MassFlowRateMax, // {kg/s}
Real64 const MassFlowRateMinAvail, // {kg/s}
Real64 const MassFlowRateMaxAvail, // {kg/s}
Real64 const MassFlowRateSetPoint, // {kg/s}
Real64 const Quality, // {0.0-1.0 vapor fraction/percent}
Real64 const Press, // {Pa}
Real64 const Enthalpy, // {J/kg}
Real64 const EnthalpyLastTimestep, // {J/kg}
Real64 const HumRat, // {}
Real64 const HumRatMin, // {}
Real64 const HumRatMax, // {}
Real64 const HumRatSetPoint, // {}
Real64 const TempSetPointHi, // {C}
Real64 const TempSetPointLo, // {C}
Real64 const Height, // {m}
bool const IsLocalNode,
int const OutAirDryBulbSchedNum, // schedule value in {C}
int const OutAirWetBulbSchedNum, // schedule value in {C}
int const OutAirWindSpeedSchedNum, // schedule value in {m/s}
int const OutAirWindDirSchedNum, // schedule value in {degree}
Real64 const OutAirDryBulb, // {C}
bool const EMSOverrideOutAirDryBulb, // if true, the EMS is calling to override outdoor air node drybulb setting
Real64 const EMSValueForOutAirDryBulb, // value EMS is directing to use for outdoor air node's drybulb {C}
Real64 const OutAirWetBulb, // {C}
bool const EMSOverrideOutAirWetBulb, // if true, the EMS is calling to override outdoor air node wetbulb setting
Real64 const EMSValueForOutAirWetBulb, // value EMS is directing to use for outdoor air node's wetbulb {C}
Real64 const OutAirWindSpeed, // {m/s}
bool const EMSOverrideOutAirWindSpeed, // if true, the EMS is calling to override outdoor air node wind speed setting
Real64 const EMSValueForOutAirWindSpeed, // value EMS is directing to use for outdoor air node's drybulb {m/s}
Real64 const OutAirWindDir, // {degree}
bool const EMSOverrideOutAirWindDir, // if true, the EMS is calling to override outdoor air node wind direction setting
Real64 const EMSValueForOutAirWindDir, // value EMS is directing to use for outdoor air node's wind directio {degree}
Real64 const CO2, // {ppm}
Real64 const CO2SetPoint, // {ppm}
Real64 const GenContam, // {ppm}
Real64 const GenContamSetPoint, // {ppm}
bool const SPMNodeWetBulbRepReq, // Set to true when node has SPM which follows wetbulb
bool const plantNodeErrorMsgIssued)
: FluidType(FluidType), FluidIndex(FluidIndex), Temp(Temp), TempMin(TempMin), TempMax(TempMax), TempSetPoint(TempSetPoint),
TempLastTimestep(TempLastTimestep), MassFlowRateRequest(MassFlowRateRequest), MassFlowRate(MassFlowRate),
MassFlowRateMin(MassFlowRateMin), MassFlowRateMax(MassFlowRateMax), MassFlowRateMinAvail(MassFlowRateMinAvail),
MassFlowRateMaxAvail(MassFlowRateMaxAvail), MassFlowRateSetPoint(MassFlowRateSetPoint), Quality(Quality), Press(Press),
Enthalpy(Enthalpy), EnthalpyLastTimestep(EnthalpyLastTimestep), HumRat(HumRat), HumRatMin(HumRatMin), HumRatMax(HumRatMax),
HumRatSetPoint(HumRatSetPoint), TempSetPointHi(TempSetPointHi), TempSetPointLo(TempSetPointLo), Height(Height),
IsLocalNode(IsLocalNode), OutAirDryBulbSchedNum(OutAirDryBulbSchedNum), OutAirWetBulbSchedNum(OutAirWetBulbSchedNum),
OutAirWindSpeedSchedNum(OutAirWindSpeedSchedNum), OutAirWindDirSchedNum(OutAirWindDirSchedNum), OutAirDryBulb(OutAirDryBulb),
EMSOverrideOutAirDryBulb(EMSOverrideOutAirDryBulb), EMSValueForOutAirDryBulb(EMSValueForOutAirDryBulb), OutAirWetBulb(OutAirWetBulb),
EMSOverrideOutAirWetBulb(EMSOverrideOutAirWetBulb), EMSValueForOutAirWetBulb(EMSValueForOutAirWetBulb),
OutAirWindSpeed(OutAirWindSpeed), EMSOverrideOutAirWindSpeed(EMSOverrideOutAirWindSpeed),
EMSValueForOutAirWindSpeed(EMSValueForOutAirWindSpeed), OutAirWindDir(OutAirWindDir),
EMSOverrideOutAirWindDir(EMSOverrideOutAirWindDir), EMSValueForOutAirWindDir(EMSValueForOutAirWindDir), CO2(CO2),
CO2SetPoint(CO2SetPoint), GenContam(GenContam), GenContamSetPoint(GenContamSetPoint), SPMNodeWetBulbRepReq(SPMNodeWetBulbRepReq),
plantNodeErrorMsgIssued(plantNodeErrorMsgIssued)
{
}
};

struct MoreNodeData
Expand Down Expand Up @@ -605,64 +539,7 @@ struct LoopNodeData : BaseGlobalStruct
int NumofMixers = 0;
Array1D_string NodeID;
Array1D<DataLoopNode::NodeData> Node; // dim to num nodes in SimHVAC
DataLoopNode::NodeData DefaultNodeValues = {
DataLoopNode::NodeFluidType::Blank,
0,
0.0,
0.0,
0.0,
DataLoopNode::SensedNodeFlagValue,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
DataLoopNode::SensedNodeFlagValue,
DataLoopNode::SensedNodeFlagValue,
DataLoopNode::SensedNodeFlagValue,
DataLoopNode::SensedNodeFlagValue,
DataLoopNode::SensedNodeFlagValue,
-1.0,
false,
0,
0,
0,
0,
0.0,
false,
0.0,
0.0,
false,
0.0,
0.0,
false,
0.0,
0.0,
false,
0.0,
0.0,
0.0,
0.0,
0.0,
false,
false}; // Autodesk:Note If intent is default construction drop initializer to elim bug exposure | FluidType |
// FluidIndex | Temp {C} | TempMin {C} | TempMax {C} | TempSetPoint {C} | TempLastTimeStep {C} |
// MassFlowRateRequest {kg/s} | MassFlowRate {kg/s} | MassFlowRateMin {kg/s} | MassFlowRateMax {kg/s}
// //Autodesk:Note SensedNodeFlagValue is default initializer | MassFlowRateMinAvail {kg/s} |
// MassFlowRateMaxAvail {kg/s} | MassFlowRateSetPoint {kg/s} | Quality {0.0-1.0 vapor fraction/percent} | Press
// {Pa} REAL(r64) :: | Enthalpy {J/kg} | EnthalpyLastTimeStep {J/kg} | HumRat {} | HumRatMin {} |
// HumRatMax {} | HumRatSetPoint {} | TempSetPointHi {C} | TempSetPointLo {C} | Height {m} | OutAirDryBulb {C}
// | EMSOverrideOutAirDryBulb | EMSValueForOutAirDryBulb {C} | OutAirWetBulb {C} | EMSOverrideOutAirWetBulb |
// EMSValueForOutAirWetBulb {C} | CO2 {ppm} | CO2 setpoint {ppm} | Generic contaminant {ppm} | Generic
// contaminant setpoint {ppm} | Set to true when node has SPM which follows wetbulb
DataLoopNode::NodeData DefaultNodeValues{DataLoopNode::NodeData()};
Array1D<DataLoopNode::MoreNodeData> MoreNodeInfo;
Array1D<DataLoopNode::MarkedNodeData> MarkedNode;
Array1D<DataLoopNode::NodeSetpointCheckData> NodeSetpointCheck;
Expand Down
Loading

1 comment on commit 7b75d61

@nrel-bot
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

10317PoolNotTurningOnWithLowCapacityHeatSource (RKStrand) - Win64-Windows-10-VisualStudio-16: OK (2797 of 2797 tests passed, 0 test warnings)

Build Badge Test Badge

Please sign in to comment.