From 5c7853508be63a73dd239fb366dea0af0a7573d8 Mon Sep 17 00:00:00 2001 From: Brent Griffith Date: Wed, 30 Oct 2024 07:23:23 -0600 Subject: [PATCH 1/2] Expand Series Active Branch Logic in SetComponentFlowRate --- src/EnergyPlus/PlantUtilities.cc | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/EnergyPlus/PlantUtilities.cc b/src/EnergyPlus/PlantUtilities.cc index 252dc923965..ed4a88d8d0d 100644 --- a/src/EnergyPlus/PlantUtilities.cc +++ b/src/EnergyPlus/PlantUtilities.cc @@ -149,7 +149,13 @@ void SetComponentFlowRate(EnergyPlusData &state, Real64 const MdotOldRequest = state.dataLoopNodes->Node(InletNode).MassFlowRateRequest; auto &loop_side = state.dataPlnt->PlantLoop(plantLoc.loopNum).LoopSide(plantLoc.loopSideNum); auto const &comp = loop_side.Branch(plantLoc.branchNum).Comp(plantLoc.compNum); - + if (DataPlant::CompData::getPlantComponent(state, plantLoc).FlowCtrl == DataBranchAirLoopPlant::ControlType::SeriesActive) { + Real64 seriesFlowVal = state.dataLoopNodes->Node(DataPlant::CompData::getPlantComponent(state, plantLoc).NodeNumIn).MassFlowRate; + // we don't want to setup a zero MassFlowRateRequest if there is already flow in a series active branch. + if (CompFlow == 0.0 && seriesFlowVal > DataBranchAirLoopPlant::MassFlowTolerance) { + CompFlow = seriesFlowVal; + } + } if (comp.CurOpSchemeType == DataPlant::OpScheme::Demand) { // store flow request on inlet node state.dataLoopNodes->Node(InletNode).MassFlowRateRequest = CompFlow; From b51c768ca4e823d5908e2c050c92222bc90bf253 Mon Sep 17 00:00:00 2001 From: Brent Griffith Date: Wed, 18 Dec 2024 13:44:17 -0600 Subject: [PATCH 2/2] revise SeriesActive change in SetComponentFlowRate to only be for supply side --- src/EnergyPlus/PlantUtilities.cc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/EnergyPlus/PlantUtilities.cc b/src/EnergyPlus/PlantUtilities.cc index ed4a88d8d0d..19a2ca50573 100644 --- a/src/EnergyPlus/PlantUtilities.cc +++ b/src/EnergyPlus/PlantUtilities.cc @@ -149,7 +149,8 @@ void SetComponentFlowRate(EnergyPlusData &state, Real64 const MdotOldRequest = state.dataLoopNodes->Node(InletNode).MassFlowRateRequest; auto &loop_side = state.dataPlnt->PlantLoop(plantLoc.loopNum).LoopSide(plantLoc.loopSideNum); auto const &comp = loop_side.Branch(plantLoc.branchNum).Comp(plantLoc.compNum); - if (DataPlant::CompData::getPlantComponent(state, plantLoc).FlowCtrl == DataBranchAirLoopPlant::ControlType::SeriesActive) { + if (DataPlant::CompData::getPlantComponent(state, plantLoc).FlowCtrl == DataBranchAirLoopPlant::ControlType::SeriesActive && + plantLoc.loopSideNum == DataPlant::LoopSideLocation::Supply) { Real64 seriesFlowVal = state.dataLoopNodes->Node(DataPlant::CompData::getPlantComponent(state, plantLoc).NodeNumIn).MassFlowRate; // we don't want to setup a zero MassFlowRateRequest if there is already flow in a series active branch. if (CompFlow == 0.0 && seriesFlowVal > DataBranchAirLoopPlant::MassFlowTolerance) {