Skip to content

Commit

Permalink
Cycling ratio need to be applied inside VRFOU_CalcCompH
Browse files Browse the repository at this point in the history
because the demand is roughly Q_evap_req = TU_load + Pipe_Q - Ncomp (multiplied
by an adjustment factor C_cap_operation). Ncomp is an input-ouptut variable of
the function. Previously Cycling ratio is multiplied outside of VRFOU_CalcCompH
after the function has computed Ncomp. However, this will lead to very small
cycling ratio non-compatible with the demand as the demand is underestimated
because of the Ncomp (in reality it should not be this large, it should be
Ncomp * CyclingRatio). This doesn't matter on the cooling side as Ncomp is not
involved in the demand calculation there.
  • Loading branch information
Yujie Xu committed Oct 18, 2024
1 parent aba83c7 commit 0dfe6b5
Showing 1 changed file with 3 additions and 4 deletions.
7 changes: 3 additions & 4 deletions src/EnergyPlus/HVACVariableRefrigerantFlow.cc
Original file line number Diff line number Diff line change
Expand Up @@ -11696,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;
Expand Down Expand Up @@ -12197,8 +12196,8 @@ void VRFCondenserEquipment::CalcVRFCondenser_FluidTCtrl(EnergyPlusData &state, c
}
}

this->TotalCoolingCapacity = TotalCondCoolingCapacity * CoolingPLR * CyclingRatio;
this->TotalHeatingCapacity = TotalCondHeatingCapacity * HeatingPLR * CyclingRatio;
this->TotalCoolingCapacity = TotalCondCoolingCapacity * CoolingPLR;
this->TotalHeatingCapacity = TotalCondHeatingCapacity * HeatingPLR;

if (this->MinPLR > 0.0) {
bool const plrTooLow = this->VRFCondPLR < this->MinPLR;
Expand Down Expand Up @@ -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;
Expand Down

4 comments on commit 0dfe6b5

@nrel-bot-2c
Copy link

Choose a reason for hiding this comment

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

fixVRFhighCOP (Unknown) - x86_64-Linux-Ubuntu-22.04-gcc-11.4: OK (2915 of 2916 tests passed, 0 test warnings)

Failures:\n

EnergyPlusFixture Test Summary

  • Passed: 1603
  • Failed: 1

Build Badge Test Badge

@nrel-bot-2c
Copy link

Choose a reason for hiding this comment

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

fixVRFhighCOP (Unknown) - x86_64-Linux-Ubuntu-22.04-gcc-11.4-UnitTestsCoverage-RelWithDebInfo: Tests Failed (0 of 0 tests passed, 0 test warnings)

Build Badge Test Badge Coverage Badge

@nrel-bot-2c
Copy link

Choose a reason for hiding this comment

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

fixVRFhighCOP (Unknown) - x86_64-Linux-Ubuntu-22.04-gcc-11.4-IntegrationCoverage-RelWithDebInfo: Tests Failed (0 of 0 tests passed, 0 test warnings)

Build Badge Test Badge Coverage Badge

@nrel-bot
Copy link

Choose a reason for hiding this comment

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

fixVRFhighCOP (Unknown) - Win64-Windows-10-VisualStudio-16: OK (2893 of 2894 tests passed, 0 test warnings)

Failures:\n

EnergyPlusFixture Test Summary

  • Passed: 1601
  • Failed: 1

Build Badge Test Badge

Please sign in to comment.