Skip to content

Commit

Permalink
Fix #10387 - HeatPump:AirToWater:FuelFired:Heating was not using Outs…
Browse files Browse the repository at this point in the history
…ide air temperatures to evaluate curves
  • Loading branch information
jmarrec committed Aug 21, 2024
1 parent 8c89051 commit 3fe7397
Showing 1 changed file with 5 additions and 7 deletions.
12 changes: 5 additions & 7 deletions src/EnergyPlus/PlantLoopHeatPumpEIR.cc
Original file line number Diff line number Diff line change
Expand Up @@ -2549,6 +2549,7 @@ void EIRFuelFiredHeatPump::doPhysics(EnergyPlusData &state, Real64 currentLoad)
// will not shut down the branch
auto &thisInletNode = state.dataLoopNodes->Node(this->loadSideNodes.inlet);
auto &thisOutletNode = state.dataLoopNodes->Node(this->loadSideNodes.outlet);
auto &thisSourceSideInletNode = state.dataLoopNodes->Node(this->sourceSideNodes.inlet); // OA Intake node
auto &sim_component = DataPlant::CompData::getPlantComponent(state, this->loadSidePlantLoc);
if ((this->EIRHPType == DataPlant::PlantEquipmentType::HeatPumpFuelFiredHeating && currentLoad <= 0.0)) {
if (sim_component.FlowCtrl == DataBranchAirLoopPlant::ControlType::SeriesActive) this->loadSideMassFlowRate = thisInletNode.MassFlowRate;
Expand Down Expand Up @@ -2720,10 +2721,10 @@ void EIRFuelFiredHeatPump::doPhysics(EnergyPlusData &state, Real64 currentLoad)
// Determine which air variable to use for GAHP:
// Source (air) side variable to use
// auto &thisloadsideinletnode = state.dataLoopNodes->Node(this->loadSideNodes.inlet);
Real64 oaTempforCurve = thisInletNode.Temp; // state.dataLoopNodes->Node(this->loadSideNodes.inlet).Temp;
Real64 oaTempforCurve = this->sourceSideInletTemp; // state.dataLoopNodes->Node(this->loadSideNodes.inlet).Temp;
if (this->oaTempCurveInputVar == OATempCurveVar::WetBulb) {
oaTempforCurve =
Psychrometrics::PsyTwbFnTdbWPb(state, thisInletNode.Temp, thisInletNode.HumRat, thisInletNode.Press, "PLFFHPEIR::doPhysics()");
oaTempforCurve = Psychrometrics::PsyTwbFnTdbWPb(
state, thisSourceSideInletNode.Temp, thisSourceSideInletNode.HumRat, thisSourceSideInletNode.Press, "PLFFHPEIR::doPhysics()");
}

// Load (water) side temperature variable
Expand All @@ -2733,10 +2734,7 @@ void EIRFuelFiredHeatPump::doPhysics(EnergyPlusData &state, Real64 currentLoad)
}

// evaluate capacity modifier curve and determine load side heat transfer
Real64 capacityModifierFuncTemp =
// CurveManager::CurveValue(state, this->capFuncTempCurveIndex, loadSideOutletSetpointTemp, this->sourceSideInletTemp);
// CurveManager::CurveValue(state, this->capFuncTempCurveIndex, loadSideOutletSetpointTemp, oaTempforCurve);
Curve::CurveValue(state, this->capFuncTempCurveIndex, waterTempforCurve, oaTempforCurve);
Real64 capacityModifierFuncTemp = Curve::CurveValue(state, this->capFuncTempCurveIndex, waterTempforCurve, oaTempforCurve);

if (capacityModifierFuncTemp < 0.0) {
if (this->capModFTErrorIndex == 0) {
Expand Down

1 comment on commit 3fe7397

@nrel-bot
Copy link

Choose a reason for hiding this comment

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

10387_EIRPLHP_PowerUsage (jmarrec) - Win64-Windows-10-VisualStudio-16: Tests Failed (0 of 0 tests passed, 0 test warnings)

Build Badge Test Badge

Please sign in to comment.