-
Notifications
You must be signed in to change notification settings - Fork 425
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
Fix #6204 - Coil:Cooling:DX:VariableSpeed air-to-air coil should autosize cooling capacity using CapFT curve results based on OutTemp and not RatedInletWaterTemp #7996
Conversation
Real64 RatedSourceTempCool = DataSizing::DesDayWeath(1).Temp(1); | ||
EXPECT_EQ(RatedSourceTempCool, 35.0); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Once I remove the workaround, this test now fails.
if (VarSpeedCoil(DXCoilNum).CondenserInletNodeNum != 0) { | ||
RatedSourceTempCool = RatedInletWaterTemp; | ||
} else { | ||
RatedSourceTempCool = OutTemp; | ||
} | ||
TotCapTempModFac = | ||
CurveValue(VarSpeedCoil(DXCoilNum).MSCCapFTemp(VarSpeedCoil(DXCoilNum).NormSpedLevel), MixWetBulb, RatedInletWaterTemp); | ||
CurveValue(VarSpeedCoil(DXCoilNum).MSCCapFTemp(VarSpeedCoil(DXCoilNum).NormSpedLevel), MixWetBulb, RatedSourceTempCool); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fix 1 out of 2
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
👍
if (VarSpeedCoil(DXCoilNum).CondenserInletNodeNum != 0) { | ||
RatedSourceTempCool = RatedInletWaterTemp; | ||
} else { | ||
RatedSourceTempCool = OutTemp; | ||
} | ||
TotCapTempModFac = | ||
CurveValue(VarSpeedCoil(DXCoilNum).MSCCapFTemp(VarSpeedCoil(DXCoilNum).NormSpedLevel), MixWetBulb, RatedInletWaterTemp); | ||
CurveValue(VarSpeedCoil(DXCoilNum).MSCCapFTemp(VarSpeedCoil(DXCoilNum).NormSpedLevel), MixWetBulb, RatedSourceTempCool); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fix 2 out of 2
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
👍
// overwrite outdoor weather temp to variable speed coil rated water temp until this gets fixed | ||
DataSizing::DesDayWeath(1).Temp(1) = 29.4; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Old workaround.
Real64 TotCapTempModFac = CurveManager::CurveValue(VariableSpeedCoils::VarSpeedCoil(1).MSCCapFTemp(VariableSpeedCoils::VarSpeedCoil(1).NormSpedLevel), | ||
17.410329442560833, | ||
RatedSourceTempCool); | ||
|
||
EXPECT_NEAR(TotCapTempModFac, 0.930018048445091, 0.001); | ||
Real64 RatedCapCoolTotalDes = CoolCoolCapAtPeak / TotCapTempModFac; | ||
EXPECT_NEAR(RatedCapCoolTotalDes, 34897.0396944, 0.001); | ||
|
||
EXPECT_NEAR(thisSys->m_DesignCoolingCapacity, RatedCapCoolTotalDes, 0.001); | ||
EXPECT_EQ(thisSys->m_DesignCoolingCapacity, VariableSpeedCoils::VarSpeedCoil(1).RatedCapCoolTotal); | ||
EXPECT_NEAR(thisSys->m_DesignHeatingCapacity, 32752.541, 0.001); | ||
EXPECT_NEAR(thisSys->m_DesignHeatingCapacity, RatedCapCoolTotalDes, 0.001); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Updated values due to using the right OutTemp for the curve evaluation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good. This should be able to merge shortly.
if (VarSpeedCoil(DXCoilNum).CondenserInletNodeNum != 0) { | ||
RatedSourceTempCool = RatedInletWaterTemp; | ||
} else { | ||
RatedSourceTempCool = OutTemp; | ||
} | ||
TotCapTempModFac = | ||
CurveValue(VarSpeedCoil(DXCoilNum).MSCCapFTemp(VarSpeedCoil(DXCoilNum).NormSpedLevel), MixWetBulb, RatedInletWaterTemp); | ||
CurveValue(VarSpeedCoil(DXCoilNum).MSCCapFTemp(VarSpeedCoil(DXCoilNum).NormSpedLevel), MixWetBulb, RatedSourceTempCool); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
👍
EXPECT_NEAR(VariableSpeedCoils::VarSpeedCoil(2).RatedAirVolFlowRate, 1.70, 0.01); // VS DX heating coil was not autosized | ||
|
||
// checks on autosized cooling air flow rates | ||
EXPECT_NEAR(thisSys->m_CoolVolumeFlowRate[1], 0.182964, 0.000001); | ||
EXPECT_NEAR(thisSys->m_CoolVolumeFlowRate[1], fullFlow * 0.1, 0.000001); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is nicer.
if (VarSpeedCoil(DXCoilNum).CondenserInletNodeNum != 0) { | ||
RatedSourceTempCool = RatedInletWaterTemp; | ||
} else { | ||
RatedSourceTempCool = OutTemp; | ||
} | ||
TotCapTempModFac = | ||
CurveValue(VarSpeedCoil(DXCoilNum).MSCCapFTemp(VarSpeedCoil(DXCoilNum).NormSpedLevel), MixWetBulb, RatedInletWaterTemp); | ||
CurveValue(VarSpeedCoil(DXCoilNum).MSCCapFTemp(VarSpeedCoil(DXCoilNum).NormSpedLevel), MixWetBulb, RatedSourceTempCool); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
👍
CI is generally happy aside from the results diffs, and they all appear to be justified due to the change to the sizing condition. Merging. |
Pull request overview
OutTemp
and notRatedInletWaterTemp
I modified an existing unit test
ZoneUnitarySysTest.UnitarySystemModel_MultispeedPerformance
that had a workaround in place which was to make theDataSizing::DesDayWeath(1).Temp(1) = 29.4;
the same as theRatedInletWaterTemp
(which @rraustad did when he found the issue and reported it)Pull Request Author
Add to this list or remove from it as applicable. This is a simple templated set of guidelines.
Reviewer
This will not be exhaustively relevant to every PR.