-
Notifications
You must be signed in to change notification settings - Fork 392
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
fix Super high COP in VRFFluidTCtrl model #10752
base: develop
Are you sure you want to change the base?
Changes from all commits
e4dcfb7
6c9b079
5556102
d08b956
61760ed
1828d18
3c62414
335cf0f
54be7dc
0d49054
d5f8c45
55c51df
aba83c7
0dfe6b5
0554057
4e05f26
a39086f
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -1192,10 +1192,9 @@ void CalcVRFCondenser(EnergyPlusData &state, int const VRFCond) | |
|
||
vrf.ElecHeatingPower = | ||
(vrf.RatedHeatingPower * TotHeatCapTempModFac) * TotHeatEIRTempModFac * EIRFPLRModFac * HREIRAdjustment * VRFRTF * InputPowerMultiplier; | ||
|
||
// adjust defrost power based on heating RTF | ||
vrf.DefrostPower *= VRFRTF; | ||
} | ||
// adjust defrost power based on RTF | ||
vrf.DefrostPower *= VRFRTF; | ||
vrf.VRFCondRTF = VRFRTF; | ||
|
||
// calculate crankcase heater power | ||
|
@@ -11592,7 +11591,8 @@ void VRFCondenserEquipment::CalcVRFCondenser_FluidTCtrl(EnergyPlusData &state, c | |
Tdischarge = this->refrig->getSatTemperature(state, max(min(Pdischarge, RefPHigh), RefPLow), RoutineName); | ||
|
||
// Evaporative capacity ranges_Min | ||
CapMinPe = min(Pdischarge - this->CompMaxDeltaP, RefMinPe); | ||
// suction pressure lower bound need to be no less than both terms in the following | ||
CapMinPe = max(Pdischarge - this->CompMaxDeltaP, RefMinPe); | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This looks correct. Not sure why this didn't show up during the original model develolpment. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Yeah, I'm surprised as well. |
||
CapMinTe = this->refrig->getSatTemperature(state, max(min(CapMinPe, RefPHigh), RefPLow), RoutineName); | ||
CompEvaporatingCAPSpdMin = this->CoffEvapCap * this->RatedEvapCapacity * CurveValue(state, this->OUCoolingCAPFT(1), Tdischarge, CapMinTe); | ||
CompEvaporatingPWRSpdMin = this->RatedCompPower * CurveValue(state, this->OUCoolingPWRFT(1), Tdischarge, CapMinTe); | ||
|
@@ -11664,8 +11664,7 @@ void VRFCondenserEquipment::CalcVRFCondenser_FluidTCtrl(EnergyPlusData &state, c | |
Tdischarge, | ||
h_IU_cond_out_ave, | ||
this->IUCondensingTemp, | ||
// Te can't be smaller than user input lower bound | ||
max(this->IUEvapTempLow, CapMinTe), | ||
CapMinTe, | ||
Tfs, | ||
Pipe_Q_h, | ||
Q_c_OU, | ||
|
@@ -11697,7 +11696,6 @@ void VRFCondenserEquipment::CalcVRFCondenser_FluidTCtrl(EnergyPlusData &state, c | |
} | ||
|
||
// Key outputs of this subroutine | ||
Ncomp *= CyclingRatio; | ||
Q_c_OU *= CyclingRatio; | ||
this->CompActSpeed = max(CompSpdActual, 0.0); | ||
this->Ncomp = max(Ncomp, 0.0) / this->EffCompInverter; | ||
|
@@ -12237,6 +12235,7 @@ void VRFCondenserEquipment::CalcVRFCondenser_FluidTCtrl(EnergyPlusData &state, c | |
this->ElecHeatingPower = 0; | ||
} | ||
this->VRFCondRTF = VRFRTF; | ||
this->DefrostPower *= VRFRTF; | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This looks correct. A plot of DefrostPower vs RTF or CyclingRatio would show it's working. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This is a plot of heat pump defrost power vs cycling ratio When the defrost power is non-zero, it is proportional to cycling ratio The output file is here: There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Why is defrost electricity so small? at 6 E -9 There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I used this test file. Its "Resistive Defrost Heater Capacity" is 0.0000001 |
||
|
||
// Calculate CrankCaseHeaterPower: VRF Heat Pump Crankcase Heater Electric Power [W] | ||
if (this->MaxOATCCHeater > OutdoorDryBulb) { | ||
|
@@ -14136,7 +14135,7 @@ void VRFCondenserEquipment::VRFOU_CalcCompC(EnergyPlusData &state, | |
T_suction + 8, | ||
T_discharge - 5); | ||
|
||
Cap_Eva0 = (TU_load + Pipe_Q) * C_cap_operation; // New Pipe_Q & C_cap_operation | ||
Cap_Eva0 = TU_load + Pipe_Q; // New Pipe_Q & C_cap_operation | ||
Cap_Eva1 = this->CoffEvapCap * this->RatedEvapCapacity * | ||
CurveValue(state, this->OUCoolingCAPFT(CounterCompSpdTemp), T_discharge, T_suction); // New Tc | ||
CapDiff = std::abs(Cap_Eva1 - Cap_Eva0); | ||
|
@@ -14337,7 +14336,7 @@ void VRFCondenserEquipment::VRFOU_CalcCompH( | |
T_suction + 8, | ||
IUMaxCondTemp - 5); | ||
|
||
Cap_Eva0 = Q_evap_req * C_cap_operation; | ||
Cap_Eva0 = Q_evap_req; | ||
Cap_Eva1 = | ||
this->CoffEvapCap * this->RatedEvapCapacity * CurveValue(state, this->OUCoolingCAPFT(CounterCompSpdTemp), T_discharge, T_suction); | ||
CapDiff = std::abs(Cap_Eva1 - Cap_Eva0); | ||
|
@@ -14353,7 +14352,7 @@ void VRFCondenserEquipment::VRFOU_CalcCompH( | |
CyclingRatio = 1.0; | ||
} | ||
|
||
Ncomp = this->RatedCompPower * CurveValue(state, this->OUCoolingPWRFT(CounterCompSpdTemp), T_discharge, T_suction); | ||
Ncomp = this->RatedCompPower * CurveValue(state, this->OUCoolingPWRFT(CounterCompSpdTemp), T_discharge, T_suction) * CyclingRatio; | ||
// Cap_Eva1 is the updated compressor min speed capacity | ||
OUEvapHeatExtract = Cap_Eva1; | ||
this->EvaporatingTemp = T_suction; | ||
|
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 looks correct.