Skip to content

Commit c96ab29

Browse files
committed
Update to address diffs
1 parent 567d1d5 commit c96ab29

File tree

2 files changed

+38
-14
lines changed

2 files changed

+38
-14
lines changed

src/EnergyPlus/HVACVariableRefrigerantFlow.cc

Lines changed: 25 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7738,6 +7738,14 @@ void SizeVRF(EnergyPlusData &state, int const VRFTUNum)
77387738
}
77397739
state.dataHVACVarRefFlow->VRFTU(VRFTUNum).CoolMassFlowRate[i] =
77407740
state.dataHVACVarRefFlow->VRFTU(VRFTUNum).CoolVolumeFlowRate[i] * state.dataEnvrn->StdRhoAir;
7741+
} else {
7742+
auto *fanSystem = dynamic_cast<Fans::FanSystem *>(state.dataFans->fans(state.dataHVACVarRefFlow->VRFTU(VRFTUNum).FanIndex));
7743+
assert(fanSystem != nullptr);
7744+
if (state.dataHVACVarRefFlow->VRFTU(VRFTUNum).CoolMassFlowRate[i] == 0.0 && !fanSystem->massFlowAtSpeed.empty()) {
7745+
state.dataHVACVarRefFlow->VRFTU(VRFTUNum).CoolMassFlowRate[i] = fanSystem->massFlowAtSpeed[i - 1];
7746+
state.dataHVACVarRefFlow->VRFTU(VRFTUNum).CoolVolumeFlowRate[i] =
7747+
state.dataHVACVarRefFlow->VRFTU(VRFTUNum).CoolMassFlowRate[i] / state.dataEnvrn->StdRhoAir;
7748+
}
77417749
}
77427750
}
77437751
}
@@ -7816,6 +7824,14 @@ void SizeVRF(EnergyPlusData &state, int const VRFTUNum)
78167824
}
78177825
state.dataHVACVarRefFlow->VRFTU(VRFTUNum).HeatMassFlowRate[i] =
78187826
state.dataHVACVarRefFlow->VRFTU(VRFTUNum).HeatVolumeFlowRate[i] * state.dataEnvrn->StdRhoAir;
7827+
} else {
7828+
auto *fanSystem = dynamic_cast<Fans::FanSystem *>(state.dataFans->fans(state.dataHVACVarRefFlow->VRFTU(VRFTUNum).FanIndex));
7829+
assert(fanSystem != nullptr);
7830+
if (state.dataHVACVarRefFlow->VRFTU(VRFTUNum).HeatMassFlowRate[i] == 0.0 && !fanSystem->massFlowAtSpeed.empty()) {
7831+
state.dataHVACVarRefFlow->VRFTU(VRFTUNum).HeatMassFlowRate[i] = fanSystem->massFlowAtSpeed[i - 1];
7832+
state.dataHVACVarRefFlow->VRFTU(VRFTUNum).HeatVolumeFlowRate[i] =
7833+
state.dataHVACVarRefFlow->VRFTU(VRFTUNum).HeatMassFlowRate[i] / state.dataEnvrn->StdRhoAir;
7834+
}
78197835
}
78207836
}
78217837
}
@@ -7972,6 +7988,14 @@ void SizeVRF(EnergyPlusData &state, int const VRFTUNum)
79727988
}
79737989
state.dataHVACVarRefFlow->VRFTU(VRFTUNum).CoolMassFlowRate[i] =
79747990
state.dataHVACVarRefFlow->VRFTU(VRFTUNum).CoolVolumeFlowRate[i] * state.dataEnvrn->StdRhoAir;
7991+
} else {
7992+
auto *fanSystem = dynamic_cast<Fans::FanSystem *>(state.dataFans->fans(state.dataHVACVarRefFlow->VRFTU(VRFTUNum).FanIndex));
7993+
assert(fanSystem != nullptr);
7994+
if (state.dataHVACVarRefFlow->VRFTU(VRFTUNum).CoolMassFlowRate[i] == 0.0 && !fanSystem->massFlowAtSpeed.empty()) {
7995+
state.dataHVACVarRefFlow->VRFTU(VRFTUNum).CoolMassFlowRate[i] = fanSystem->massFlowAtSpeed[i - 1];
7996+
state.dataHVACVarRefFlow->VRFTU(VRFTUNum).CoolVolumeFlowRate[i] =
7997+
state.dataHVACVarRefFlow->VRFTU(VRFTUNum).CoolMassFlowRate[i] / state.dataEnvrn->StdRhoAir;
7998+
}
79757999
}
79768000
}
79778001
}
@@ -8006,7 +8030,7 @@ void SizeVRF(EnergyPlusData &state, int const VRFTUNum)
80068030
} else {
80078031
auto *fanSystem = dynamic_cast<Fans::FanSystem *>(state.dataFans->fans(state.dataHVACVarRefFlow->VRFTU(VRFTUNum).FanIndex));
80088032
assert(fanSystem != nullptr);
8009-
if (state.dataHVACVarRefFlow->VRFTU(VRFTUNum).HeatMassFlowRate[i] == 0.0) {
8033+
if (state.dataHVACVarRefFlow->VRFTU(VRFTUNum).HeatMassFlowRate[i] == 0.0 && !fanSystem->massFlowAtSpeed.empty()) {
80108034
state.dataHVACVarRefFlow->VRFTU(VRFTUNum).HeatMassFlowRate[i] = fanSystem->massFlowAtSpeed[i - 1];
80118035
state.dataHVACVarRefFlow->VRFTU(VRFTUNum).HeatVolumeFlowRate[i] =
80128036
state.dataHVACVarRefFlow->VRFTU(VRFTUNum).HeatMassFlowRate[i] / state.dataEnvrn->StdRhoAir;

tst/EnergyPlus/unit/HVACVariableRefrigerantFlow.unit.cc

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -24377,11 +24377,10 @@ TEST_F(EnergyPlusFixture, VRF_MultispeedFan_Test)
2437724377
InitVRF(*state, VRFTUNum, ZoneNum, FirstHVACIteration, OnOffAirFlowRatio, QZnReq);
2437824378
EXPECT_EQ(QZnReq, -3000.0);
2437924379
SimVRF(*state, VRFTUNum, FirstHVACIteration, OnOffAirFlowRatio, SysOutputProvided, LatOutputProvided, QZnReq);
24380-
EXPECT_NEAR(
24381-
state->dataLoopNodes->Node(state->dataHVACVarRefFlow->VRFTU[0].VRFTUOutletNodeNum).MassFlowRate, 0.300008959, 0.0001); // was 0.29937661
24380+
EXPECT_NEAR(state->dataLoopNodes->Node(state->dataHVACVarRefFlow->VRFTU[0].VRFTUOutletNodeNum).MassFlowRate, 0.29937661, 0.0001);
2438224381
EXPECT_LT(abs(QZnReq - SysOutputProvided), 1.0);
2438324382
EXPECT_EQ(state->dataHVACVarRefFlow->VRFTU[0].SpeedNum, 2);
24384-
EXPECT_NEAR(state->dataHVACVarRefFlow->VRFTU[0].SpeedRatio, 0.7288976, 0.00001); // was 0.7252535
24383+
EXPECT_NEAR(state->dataHVACVarRefFlow->VRFTU[0].SpeedRatio, 0.7252535, 0.00001);
2438524384
EXPECT_NEAR(state->dataHVACVarRefFlow->VRFTU[0].CycRatio, 1.0, 0.00001);
2438624385

2438724386
// test low speed fan operation with cooling
@@ -24392,11 +24391,11 @@ TEST_F(EnergyPlusFixture, VRF_MultispeedFan_Test)
2439224391
InitVRF(*state, VRFTUNum, ZoneNum, FirstHVACIteration, OnOffAirFlowRatio, QZnReq);
2439324392
EXPECT_EQ(QZnReq, -1500.0);
2439424393
SimVRF(*state, VRFTUNum, FirstHVACIteration, OnOffAirFlowRatio, SysOutputProvided, LatOutputProvided, QZnReq);
24395-
EXPECT_NEAR(state->dataLoopNodes->Node(state->dataHVACVarRefFlow->VRFTU[0].VRFTUOutletNodeNum).MassFlowRate, 0.1376580, 0.0001); // was 0.1735261
24394+
EXPECT_NEAR(state->dataLoopNodes->Node(state->dataHVACVarRefFlow->VRFTU[0].VRFTUOutletNodeNum).MassFlowRate, 0.1735261, 0.0001);
2439624395
EXPECT_LT(abs(QZnReq - SysOutputProvided), 1.0);
2439724396
EXPECT_EQ(state->dataHVACVarRefFlow->VRFTU[0].SpeedNum, 1);
2439824397
EXPECT_NEAR(state->dataHVACVarRefFlow->VRFTU[0].SpeedRatio, 0.0, 0.00001);
24399-
EXPECT_NEAR(state->dataHVACVarRefFlow->VRFTU[0].CycRatio, 0.793298411, 0.00001); // was 0.626862007
24398+
EXPECT_NEAR(state->dataHVACVarRefFlow->VRFTU[0].CycRatio, 0.626862007, 0.00001);
2440024399

2440124400
// set to heating mode
2440224401
state->dataHVACVarRefFlow->CoolingLoad(VRFCond) = false;
@@ -24417,7 +24416,7 @@ TEST_F(EnergyPlusFixture, VRF_MultispeedFan_Test)
2441724416
EXPECT_NEAR(state->dataLoopNodes->Node(state->dataHVACVarRefFlow->VRFTU[0].VRFTUOutletNodeNum).MassFlowRate, 0.346284919, 0.0001);
2441824417
EXPECT_LT(abs(QZnReq - SysOutputProvided), 1.0);
2441924418
EXPECT_EQ(state->dataHVACVarRefFlow->VRFTU[0].SpeedNum, 2);
24420-
EXPECT_NEAR(state->dataHVACVarRefFlow->VRFTU[0].SpeedRatio, 0.995546681, 0.00001); // was 0.995577651
24419+
EXPECT_NEAR(state->dataHVACVarRefFlow->VRFTU[0].SpeedRatio, 0.995577651, 0.00001);
2442124420
EXPECT_NEAR(state->dataHVACVarRefFlow->VRFTU[0].CycRatio, 1.0, 0.00001);
2442224421

2442324422
// test low speed fan operation with heating
@@ -24432,7 +24431,7 @@ TEST_F(EnergyPlusFixture, VRF_MultispeedFan_Test)
2443224431
EXPECT_LT(abs(QZnReq - SysOutputProvided), 1.0);
2443324432
EXPECT_EQ(state->dataHVACVarRefFlow->VRFTU[0].SpeedNum, 1);
2443424433
EXPECT_NEAR(state->dataHVACVarRefFlow->VRFTU[0].SpeedRatio, 0.0, 0.00001);
24435-
EXPECT_NEAR(state->dataHVACVarRefFlow->VRFTU[0].CycRatio, 0.713204045, 0.00001); // was 0.713222413
24434+
EXPECT_NEAR(state->dataHVACVarRefFlow->VRFTU[0].CycRatio, 0.713222413, 0.00001);
2443624435
}
2443724436

2443824437
TEST_F(EnergyPlusFixture, VRF_MultispeedFan_Test_HardSized)
@@ -25692,10 +25691,11 @@ TEST_F(EnergyPlusFixture, VRF_MultispeedFan_Test_HardSized)
2569225691
InitVRF(*state, VRFTUNum, ZoneNum, FirstHVACIteration, OnOffAirFlowRatio, QZnReq);
2569325692
EXPECT_EQ(QZnReq, -3000.0);
2569425693
SimVRF(*state, VRFTUNum, FirstHVACIteration, OnOffAirFlowRatio, SysOutputProvided, LatOutputProvided, QZnReq);
25695-
EXPECT_NEAR(state->dataLoopNodes->Node(state->dataHVACVarRefFlow->VRFTU[0].VRFTUOutletNodeNum).MassFlowRate, 0.299903, 0.0001); // was 0.29937661
25694+
EXPECT_NEAR(
25695+
state->dataLoopNodes->Node(state->dataHVACVarRefFlow->VRFTU[0].VRFTUOutletNodeNum).MassFlowRate, 0.29929035, 0.0001); // was 0.29937661
2569625696
EXPECT_LT(abs(QZnReq - SysOutputProvided), 1.0);
2569725697
EXPECT_EQ(state->dataHVACVarRefFlow->VRFTU[0].SpeedNum, 2);
25698-
EXPECT_NEAR(state->dataHVACVarRefFlow->VRFTU[0].SpeedRatio, 0.728287, 0.00001); // was 0.7252535
25698+
EXPECT_NEAR(state->dataHVACVarRefFlow->VRFTU[0].SpeedRatio, 0.72475641, 0.00001); // was 0.7252535
2569925699
EXPECT_NEAR(state->dataHVACVarRefFlow->VRFTU[0].CycRatio, 1.0, 0.00001);
2570025700

2570125701
// test low speed fan operation with cooling
@@ -25706,11 +25706,11 @@ TEST_F(EnergyPlusFixture, VRF_MultispeedFan_Test_HardSized)
2570625706
InitVRF(*state, VRFTUNum, ZoneNum, FirstHVACIteration, OnOffAirFlowRatio, QZnReq);
2570725707
EXPECT_EQ(QZnReq, -1500.0);
2570825708
SimVRF(*state, VRFTUNum, FirstHVACIteration, OnOffAirFlowRatio, SysOutputProvided, LatOutputProvided, QZnReq);
25709-
EXPECT_NEAR(state->dataLoopNodes->Node(state->dataHVACVarRefFlow->VRFTU[0].VRFTUOutletNodeNum).MassFlowRate, 0.1375835, 0.0001); // was 0.1735261
25709+
EXPECT_NEAR(state->dataLoopNodes->Node(state->dataHVACVarRefFlow->VRFTU[0].VRFTUOutletNodeNum).MassFlowRate, 0.1735261, 0.0001);
2571025710
EXPECT_LT(abs(QZnReq - SysOutputProvided), 1.0);
2571125711
EXPECT_EQ(state->dataHVACVarRefFlow->VRFTU[0].SpeedNum, 1);
2571225712
EXPECT_NEAR(state->dataHVACVarRefFlow->VRFTU[0].SpeedRatio, 0.0, 0.00001);
25713-
EXPECT_NEAR(state->dataHVACVarRefFlow->VRFTU[0].CycRatio, 0.7928689, 0.00001); // was 0.626862007
25713+
EXPECT_NEAR(state->dataHVACVarRefFlow->VRFTU[0].CycRatio, 0.626128377, 0.00001); // was 0.626862007
2571425714

2571525715
// set to heating mode
2571625716
state->dataHVACVarRefFlow->CoolingLoad(VRFCond) = false;
@@ -25732,7 +25732,7 @@ TEST_F(EnergyPlusFixture, VRF_MultispeedFan_Test_HardSized)
2573225732
state->dataLoopNodes->Node(state->dataHVACVarRefFlow->VRFTU[0].VRFTUOutletNodeNum).MassFlowRate, 0.3465238, 0.0001); // was 0.346284919
2573325733
EXPECT_LT(abs(QZnReq - SysOutputProvided), 1.0);
2573425734
EXPECT_EQ(state->dataHVACVarRefFlow->VRFTU[0].SpeedNum, 2);
25735-
EXPECT_NEAR(state->dataHVACVarRefFlow->VRFTU[0].SpeedRatio, 0.9969546, 0.00001); // was 0.995577651
25735+
EXPECT_NEAR(state->dataHVACVarRefFlow->VRFTU[0].SpeedRatio, 0.996999648, 0.00001); // was 0.995577651
2573625736
EXPECT_NEAR(state->dataHVACVarRefFlow->VRFTU[0].CycRatio, 1.0, 0.00001);
2573725737

2573825738
// test low speed fan operation with heating
@@ -25747,7 +25747,7 @@ TEST_F(EnergyPlusFixture, VRF_MultispeedFan_Test_HardSized)
2574725747
EXPECT_LT(abs(QZnReq - SysOutputProvided), 1.0);
2574825748
EXPECT_EQ(state->dataHVACVarRefFlow->VRFTU[0].SpeedNum, 1);
2574925749
EXPECT_NEAR(state->dataHVACVarRefFlow->VRFTU[0].SpeedRatio, 0.0, 0.00001);
25750-
EXPECT_NEAR(state->dataHVACVarRefFlow->VRFTU[0].CycRatio, 0.7139121, 0.00001); // was 0.713222413
25750+
EXPECT_NEAR(state->dataHVACVarRefFlow->VRFTU[0].CycRatio, 0.713941198, 0.00001); // was 0.713222413
2575125751
}
2575225752

2575325753
TEST_F(EnergyPlusFixture, VRFTest_TU_HeatRecoveryCheck)

0 commit comments

Comments
 (0)