Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 13 additions & 3 deletions src/EnergyPlus/PlantLoopHeatPumpEIR.cc
Original file line number Diff line number Diff line change
Expand Up @@ -298,8 +298,18 @@ void EIRPlantLoopHeatPump::setOperatingFlowRatesASHP(EnergyPlusData &state, bool
// Set flows if the heat pump is running
} else { // the heat pump must run
// apply min/max operating limits based on source side entering fluid temperature
if ((this->minSourceTempLimit > this->sourceSideInletTemp || this->maxSourceTempLimit < this->sourceSideInletTemp) &&
!this->heatRecoveryIsActive) {
// or if parallel configuration and no/very small load, the unit is turned off
bool tempOutOfRange = this->minSourceTempLimit > this->sourceSideInletTemp || this->maxSourceTempLimit < this->sourceSideInletTemp;
auto &comp = DataPlant::CompData::getPlantComponent(state, this->loadSidePlantLoc);
bool loadIndicator = false;
if (this->sysControlType == ControlType::Setpoint) {
Real64 leavingSetpoint = this->getLoadSideOutletSetPointTemp(state);
loadIndicator = std::abs(leavingSetpoint - this->loadSideInletTemp) < HVAC::SmallTempDiff;
} else {
loadIndicator = std::abs(currentLoad) < HVAC::SmallLoad;
}
bool lowLoadCondition = loadIndicator && comp.FlowCtrl != DataBranchAirLoopPlant::ControlType::SeriesActive;
if ((tempOutOfRange || lowLoadCondition) && !this->heatRecoveryAvailable) {
Comment on lines +303 to +312
Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

Revised approach to: 1) ensure equipment in series maintains flow even with no load, and 2) allow flow to pass through the unit when heat recovery is available.

this->loadSideMassFlowRate = 0.0;
this->sourceSideMassFlowRate = 0.0;
this->running = false;
Expand Down Expand Up @@ -2926,7 +2936,7 @@ void EIRFuelFiredHeatPump::doPhysics(EnergyPlusData &state, Real64 currentLoad)
// get setpoint on the load side outlet
// Real64 loadSideOutletSetpointTemp = this->getLoadSideOutletSetPointTemp(state);

// Use a logic similar to that for a boilder: If the specified load is 0.0 or the boiler should not run
// Use a logic similar to that for a boiler: If the specified load is 0.0 or the boiler should not run
// then we leave this subroutine. Before leaving
// if the component control is SERIESACTIVE we set the component flow to inlet flow so that flow resolver
// will not shut down the branch
Expand Down
1 change: 1 addition & 0 deletions testfiles/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -465,6 +465,7 @@ add_simulation_test(IDF_FILE PlantLoopChainDeadband.idf EPW_FILE USA_IL_Chicago-
add_simulation_test(IDF_FILE PlantLoopChainDualDeadband.idf EPW_FILE USA_IL_Chicago-OHare.Intl.AP.725300_TMY3.epw)
add_simulation_test(IDF_FILE PlantLoopChainHeating.idf EPW_FILE USA_IL_Chicago-OHare.Intl.AP.725300_TMY3.epw)
add_simulation_test(IDF_FILE PlantLoopHeatPump_EIR_AirSource.idf EPW_FILE USA_IL_Chicago-OHare.Intl.AP.725300_TMY3.epw)
add_simulation_test(IDF_FILE PlantLoopHeatPump_EIR_AirSource_Parallel.idf EPW_FILE USA_IL_Chicago-OHare.Intl.AP.725300_TMY3.epw)
Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

As requested, this is a new test file, based on PlantLoopHeatPump_EIR_AirSource.idf, that includes AWHPs in parallel (only one AWHP is used in PlantLoopHeatPump_EIR_AirSource.idf).

When running this file with develop we see that AWHP HEATING COIL 2 has flow even when it does not provide any heating:

Image

With this branch, we only see flow when the AWHP is providing heating:

Image

add_simulation_test(IDF_FILE PlantLoopHeatPump_EIR_AirSource_BufferTank.idf EPW_FILE USA_IL_Chicago-OHare.Intl.AP.725300_TMY3.epw)
add_simulation_test(IDF_FILE PlantLoopHeatPump_EIR_WaterSource.idf EPW_FILE USA_IL_Chicago-OHare.Intl.AP.725300_TMY3.epw)
add_simulation_test(IDF_FILE PlantLoopHeatPump_Fuel-Fired.idf EPW_FILE USA_IL_Chicago-OHare.Intl.AP.725300_TMY3.epw)
Expand Down
Loading
Loading