Skip to content

Commit e531776

Browse files
committed
Merge remote-tracking branch 'origin/develop' into ghe_bugs
2 parents b8fb67e + e2a57d4 commit e531776

File tree

4 files changed

+122
-2
lines changed

4 files changed

+122
-2
lines changed

doc/input-output-reference/src/overview/group-airflow-network.tex

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2156,8 +2156,12 @@ \subsubsection{Inputs}\label{inputs-2016-06-16}
21562156
\hyperref[coilcoolingdxtwostagewithhumiditycontrolmode]{Coil:Cooling:DX:TwoStageWithHumidityControlMode}
21572157
\item
21582158
\hyperref[coilcoolingdxmultispeed]{Coil:Cooling:DX:MultiSpeed}
2159+
\item
2160+
\hyperref[coilcoolingdxvariablespeed]{Coil:Cooling:DX:VariableSpeed}
21592161
\item
21602162
\hyperref[coilheatingdxmultispeed]{Coil:Heating:DX:MultiSpeed}
2163+
\item
2164+
\hyperref[coilheatingdxvariablespeed]{Coil:Heating:DX:VariableSpeed}
21612165
\item
21622166
\hyperref[coilheatingdesuperheater]{Coil:Heating:Desuperheater}
21632167
\end{itemize}

idd/Energy+.idd.in

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26706,6 +26706,8 @@ AirflowNetwork:Distribution:Component:Coil,
2670626706
\key Coil:Cooling:DX:TwoStageWithHumidityControlMode
2670726707
\key Coil:Cooling:DX:MultiSpeed
2670826708
\key Coil:Heating:DX:MultiSpeed
26709+
\key Coil:Cooling:DX:VariableSpeed
26710+
\key Coil:Heating:DX:VariableSpeed
2670926711
\key Coil:Heating:Desuperheater
2671026712
\key Coil:Heating:Electric:MultiStage
2671126713
\key Coil:Heating:Gas:MultiStage

src/EnergyPlus/AirflowNetwork/src/Solver.cpp

Lines changed: 20 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10530,8 +10530,6 @@ namespace AirflowNetwork {
1053010530
} else {
1053110531
ShowSevereError(m_state, "SetDXCoilAirLoopNumber: Could not find Coil \"Name=\"" + DisSysCompCoilData(i).name + "\"");
1053210532
}
10533-
// SetDXCoilAirLoopNumber(DisSysCompCoilData(i).name,
10534-
// DisSysCompCoilData(i).AirLoopNum);
1053510533
}
1053610534
} else if (SELECT_CASE_var == "COIL:COOLING:DX:SINGLESPEED") {
1053710535
ValidateComponent(
@@ -10622,6 +10620,26 @@ namespace AirflowNetwork {
1062210620
SetDXCoilAirLoopNumber(m_state, DisSysCompCoilData(i).name, DisSysCompCoilData(i).AirLoopNum);
1062310621
}
1062410622

10623+
} else if (SELECT_CASE_var == "COIL:COOLING:DX:VARIABLESPEED") {
10624+
ValidateComponent(
10625+
m_state, "Coil:Cooling:DX:VariableSpeed", DisSysCompCoilData(i).name, IsNotOK, format(RoutineName) + CurrentModuleObject);
10626+
++MultiSpeedHPIndicator;
10627+
if (IsNotOK) {
10628+
ErrorsFound = true;
10629+
} else {
10630+
SetDXCoilAirLoopNumber(m_state, DisSysCompCoilData(i).name, DisSysCompCoilData(i).AirLoopNum);
10631+
}
10632+
10633+
} else if (SELECT_CASE_var == "COIL:HEATING:DX:VARIABLESPEED") {
10634+
ValidateComponent(
10635+
m_state, "Coil:Heating:DX:VariableSpeed", DisSysCompCoilData(i).name, IsNotOK, format(RoutineName) + CurrentModuleObject);
10636+
++MultiSpeedHPIndicator;
10637+
if (IsNotOK) {
10638+
ErrorsFound = true;
10639+
} else {
10640+
SetDXCoilAirLoopNumber(m_state, DisSysCompCoilData(i).name, DisSysCompCoilData(i).AirLoopNum);
10641+
}
10642+
1062510643
} else if (SELECT_CASE_var == "COIL:HEATING:DESUPERHEATER") {
1062610644
ValidateComponent(
1062710645
m_state, "Coil:Heating:Desuperheater", DisSysCompCoilData(i).name, IsNotOK, format(RoutineName) + CurrentModuleObject);

tst/EnergyPlus/unit/AirflowNetworkHVAC.unit.cc

Lines changed: 96 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6100,6 +6100,102 @@ TEST_F(EnergyPlusFixture, AirflowNetwork_CheckNumOfFansInAirLoopTest)
61006100
EXPECT_TRUE(compare_err_stream(error_string, true));
61016101
}
61026102

6103+
TEST_F(EnergyPlusFixture, AirflowNetwork_ValidateDistCoils)
6104+
{
6105+
std::string const idf_objects = delimited_string({
6106+
6107+
" Coil:Cooling:DX:VariableSpeed,",
6108+
" Super Coil, !- Name",
6109+
" Node_1, !- Indoor Air Inlet Node Name",
6110+
" Node_2, !- Indoor Air Outlet Node Name",
6111+
" 1, !- Number of Speeds {dimensionless}",
6112+
" 1, !- Nominal Speed Level {dimensionless}",
6113+
" autosize, !- Gross Rated Total Cooling Capacity At Selected Nominal Speed Level {W}",
6114+
" autosize, !- Rated Air Flow Rate At Selected Nominal Speed Level {m3/s}",
6115+
" , !- Nominal Time for Condensate to Begin Leaving the Coil {s}",
6116+
" , !- Initial Moisture Evaporation Rate Divided by Steady-State AC Latent Capacity {dimensionless}",
6117+
" , !- Maximum Cycling Rate {cycles/hr}",
6118+
" , !- Latent Capacity Time Constant {s}",
6119+
" , !- Fan Delay Time {s}",
6120+
" HPCOOLPLFFPLR, !- Energy Part Load Fraction Curve Name",
6121+
" , !- Condenser Air Inlet Node Name",
6122+
" AirCooled, !- Condenser Type",
6123+
" , !- Evaporative Condenser Pump Rated Power Consumption {W}",
6124+
" , !- Crankcase Heater Capacity {W}",
6125+
" , !- Crankcase Heater Capacity Function of Temperature Curve Name",
6126+
" 10, !- Maximum Outdoor Dry-Bulb Temperature for Crankcase Heater Operation {C}",
6127+
" -25, !- Minimum Outdoor Dry-Bulb Temperature for Compressor Operation {C}",
6128+
" , !- Supply Water Storage Tank Name",
6129+
" , !- Condensate Collection Water Storage Tank Name",
6130+
" , !- Basin Heater Capacity {W/K}",
6131+
" 2, !- Basin Heater Setpoint Temperature {C}",
6132+
" , !- Basin Heater Operating Schedule Name",
6133+
" 15000, !- Speed 1 Reference Unit Gross Rated Total Cooling Capacity {W}",
6134+
" 0.55, !- Speed 1 Reference Unit Gross Rated Sensible Heat Ratio {dimensionless}",
6135+
" 4.3, !- Speed 1 Reference Unit Gross Rated Cooling COP {W/W}",
6136+
" 0.05, !- Speed 1 Reference Unit Rated Air Flow Rate {m3/s}",
6137+
" , !- 2017 Speed 1 Rated Evaporator Fan Power Per Volume Flow Rate {W/(m3/s)}",
6138+
" , !- 2023 Speed 1 Rated Evaporator Fan Power Per Volume Flow Rate {W/(m3/s)}",
6139+
" , !- Speed 1 Reference Unit Rated Condenser Air Flow Rate {m3/s}",
6140+
" , !- Speed 1 Reference Unit Rated Pad Effectiveness of Evap Precooling {dimensionless}",
6141+
" HPCoolingCAPFTemp, !- Speed 1 Total Cooling Capacity Function of Temperature Curve Name",
6142+
" HPCoolingCAPFFF, !- Speed 1 Total Cooling Capacity Function of Air Flow Fraction Curve Name",
6143+
" HPCoolingEIRFTemp, !- Speed 1 Energy Input Ratio Function of Temperature Curve Name",
6144+
" HPCoolingEIRFFF; !- Speed 1 Energy Input Ratio Function of Air Flow Fraction Curve Name",
6145+
"",
6146+
" Coil:Heating:DX:VariableSpeed,",
6147+
" Super Heating Coil, !- Name",
6148+
" Node_1, !- Indoor Air Inlet Node Name",
6149+
" Node_2, !- Indoor Air Outlet Node Name",
6150+
" 1, !- Number of Speeds {dimensionless}",
6151+
" 1, !- Nominal Speed Level {dimensionless}",
6152+
" autosize, !- Rated Heating Capacity At Selected Nominal Speed Level {W}",
6153+
" autosize, !- Rated Air Flow Rate At Selected Nominal Speed Level {m3/s}",
6154+
" HPHEATPLFFPLR, !- Energy Part Load Fraction Curve Name",
6155+
" , !- Defrost Energy Input Ratio Function of Temperature Curve Name",
6156+
" -8, !- Minimum Outdoor Dry-Bulb Temperature for Compressor Operation {C}",
6157+
" , !- Outdoor Dry-Bulb Temperature to Turn On Compressor {C}",
6158+
" 5, !- Maximum Outdoor Dry-Bulb Temperature for Defrost Operation {C}",
6159+
" , !- Crankcase Heater Capacity {W}",
6160+
" , !- Crankcase Heater Capacity Function of Temperature Curve Name",
6161+
" 10, !- Maximum Outdoor Dry-Bulb Temperature for Crankcase Heater Operation {C}",
6162+
" ReverseCycle, !- Defrost Strategy",
6163+
" Timed, !- Defrost Control",
6164+
" 0.058333, !- Defrost Time Period Fraction",
6165+
" , !- Resistive Defrost Heater Capacity {W}",
6166+
" 17500, !- Speed 1 Reference Unit Gross Rated Heating Capacity {W}",
6167+
" 4.5, !- Speed 1 Reference Unit Gross Rated Heating COP {W/W}",
6168+
" 0.05, !- Speed 1 Reference Unit Rated Air Flow Rate {m3/s}",
6169+
" 773.3, !- 2017 Speed 1 Rated Supply Air Fan Power Per Volume Flow Rate {W/(m3/s)}",
6170+
" 934.4, !- 2023 Speed 1 Rated Supply Air Fan Power Per Volume Flow Rate {W/(m3/s)}",
6171+
" HPHeatingCAPFTemp, !- Speed 1 Heating Capacity Function of Temperature Curve Name",
6172+
" HPHeatingCAPFFF, !- Speed 1 Total Heating Capacity Function of Air Flow Fraction Curve Name",
6173+
" HPHeatingEIRFTemp, !- Speed 1 Energy Input Ratio Function of Temperature Curve Name",
6174+
" HPHeatingEIRFFF; !- Speed 1 Energy Input Ratio Function of Air Flow Fraction Curve Name ",
6175+
});
6176+
6177+
ASSERT_TRUE(process_idf(idf_objects));
6178+
6179+
state->dataAirSystemsData->PrimaryAirSystems.allocate(1);
6180+
state->dataAirSystemsData->PrimaryAirSystems(1).NumBranches = 1;
6181+
state->dataAirSystemsData->PrimaryAirSystems(1).Branch.allocate(1);
6182+
state->dataAirSystemsData->PrimaryAirSystems(1).Branch(1).TotalComponents = 2;
6183+
state->dataAirSystemsData->PrimaryAirSystems(1).Branch(1).Comp.allocate(2);
6184+
state->dataAirSystemsData->PrimaryAirSystems(1).Branch(1).Comp(1).TypeOf = "Coil:Cooling:DX:VariableSpeed";
6185+
state->dataAirSystemsData->PrimaryAirSystems(1).Branch(1).Comp(1).Name = "VariableSpeedCoolingCoil";
6186+
state->dataAirSystemsData->PrimaryAirSystems(1).Branch(1).Comp(2).TypeOf = "Coil:Heating:DX:VariableSpeed";
6187+
state->dataAirSystemsData->PrimaryAirSystems(1).Branch(1).Comp(2).Name = "VariableSpeedHeatingCoil";
6188+
6189+
state->afn->DisSysNumOfCoils = 2;
6190+
state->afn->DisSysCompCoilData.allocate(2);
6191+
state->afn->DisSysCompCoilData(1).EPlusType = "COIL:COOLING:DX:VARIABLESPEED";
6192+
state->afn->DisSysCompCoilData(1).name = "Super Coil";
6193+
state->afn->DisSysCompCoilData(2).EPlusType = "COIL:HEATING:DX:VARIABLESPEED";
6194+
state->afn->DisSysCompCoilData(2).name = "Super Heating Coil";
6195+
6196+
state->afn->validate_distribution();
6197+
}
6198+
61036199
// Missing an AirflowNetwork:Distribution:Node for the Zone Air Node
61046200
TEST_F(EnergyPlusFixture, AirflowNetwork_CheckMultiZoneNodes_NoZoneNode)
61056201
{

0 commit comments

Comments
 (0)