Skip to content

Constant speed pump at low flow but consuming full power - #11722

Merged
mitchute merged 19 commits into
developfrom
pump-constant-spd
Sep 1, 2026
Merged

Constant speed pump at low flow but consuming full power#11722
mitchute merged 19 commits into
developfrom
pump-constant-spd

Conversation

@joseph-robertson

@joseph-robertson joseph-robertson commented Aug 3, 2026

Copy link
Copy Markdown
Collaborator

Pull request overview

  • Fixes Pump:ConstantSpeed operating at less than full flow but consuming full power #10821
  • Fixes intermittent constant-speed inlet pumps so that, when the loop is operating and has a valid bypass path, they run at their scheduled fixed flow. Excess flow is routed through the bypass rather than allowing low-flow, full-power operation. Adds a warning when a constant-speed pump still operates at low flow while consuming full power.

Description of the purpose of this PR

  • In HalfLoopData::DetermineLoopSideFlowRate, detect an intermittent Pump:ConstantSpeed on the inlet branch when there is a nonzero flow request, bypass capacity on both relevant paths (or a common pipe), no EMS flow override, and no pressure-based flow correction. Set the loop flow and inlet-node min/max availability to the pump’s scheduled maximum mass flow. Retain the low-flow/full-power recurring warning for configurations outside this topology, while suppressing it during warmup, sizing, kickoff simulation, pressure-based flow calculation, and EMS pressure overrides.

Pull Request Author

  • Title of PR should be user-synopsis style (clearly understandable in a standalone changelog context)
  • Label the PR with at least one of: Defect, Refactoring, NewFeature, Performance, and/or DoNoPublish
  • Pull requests that impact EnergyPlus code must also include unit tests to cover enhancement or defect repair
  • Author should provide a "walkthrough" of relevant code changes using a GitHub code review comment process
  • If any diffs are expected, author must demonstrate they are justified using plots and descriptions
  • If changes fix a defect, the fix should be demonstrated in plots and descriptions
  • If any defect files are updated to a more recent version, upload new versions here or on DevSupport
  • If IDD requires transition, transition source, rules, ExpandObjects, and IDFs must be updated, and add IDDChange label
  • If structural output changes, add to output rules file and add OutputChange label
  • If adding/removing any LaTeX docs or figures, update that document's CMakeLists file dependencies
  • If adding/removing any output files (e.g., eplustbl.*)
    • Update ..\scripts\Epl-run.bat
    • Update ..\scripts\RunEPlus.bat
    • Update ..\src\EPLaunch\ MainModule.bas, epl-ui.frm, and epl.vbp (VersionComments)
    • Update ...github\workflows\energyplus.py

Reviewer

  • Perform a Code Review on GitHub
  • If branch is behind develop, merge develop and build locally to check for side effects of the merge
  • If defect, verify by running develop branch and reproducing defect, then running PR and reproducing fix
  • If feature, test running new feature, try creative ways to break it
  • CI status: all green or justified
  • Check that performance is not impacted (CI Linux results include performance check)
  • Run Unit Test(s) locally
  • Check any new function arguments for performance impacts
  • Verify IDF naming conventions and styles, memos and notes and defaults
  • If new idf included, locally check the err file and other outputs

@joseph-robertson joseph-robertson self-assigned this Aug 3, 2026
@joseph-robertson joseph-robertson added the Defect Includes code to repair a defect in EnergyPlus label Aug 3, 2026
@github-actions

github-actions Bot commented Aug 3, 2026

Copy link
Copy Markdown

⚠️ Regressions detected on macos-14 for commit b1c2cc9

Regression Summary
  • ERR: 41

@github-actions

github-actions Bot commented Aug 3, 2026

Copy link
Copy Markdown

⚠️ Regressions detected on ubuntu-24.04 for commit b1c2cc9

Regression Summary
  • ERR: 41

@github-actions

github-actions Bot commented Aug 3, 2026

Copy link
Copy Markdown

⚠️ Regressions detected on ubuntu-24.04 for commit 4d9dedb

Regression Summary
  • ERR: 6

@github-actions

github-actions Bot commented Aug 3, 2026

Copy link
Copy Markdown

⚠️ Regressions detected on macos-14 for commit 4d9dedb

Regression Summary
  • ERR: 6

@github-actions

github-actions Bot commented Aug 4, 2026

Copy link
Copy Markdown

⚠️ Regressions detected on macos-14 for commit 4fdde87

Regression Summary
  • ERR: 5
  • Audit: 1
  • BND: 1
  • MTD: 1
  • ESO Big Diffs: 1

@github-actions

github-actions Bot commented Aug 4, 2026

Copy link
Copy Markdown

⚠️ Regressions detected on ubuntu-24.04 for commit 4fdde87

Regression Summary
  • ERR: 5
  • Audit: 1
  • BND: 1
  • MTD: 1
  • ESO Big Diffs: 1

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

🟡 Not ready to approve

The new warning can be a false positive under pressure-based/EMS pressure-override power calculations, and the PR as-is appears to add diagnostics rather than resolving the underlying defect described in #10821.

Once you've addressed the issues Copilot identified, you can request another Copilot review.

This review doesn't count toward merge requirements. Sign up for the private preview to control whether Copilot approvals count.

Pull request overview

Adds a diagnostic warning and regression coverage around constant-speed pump behavior when operating at very low flow while still reporting nominal (full) power, as discussed in #10821, and updates an exercise IDF to include a supply-side bypass branch.

Changes:

  • Add a recurring warning in Pumps::CalcPumps for Pump:ConstantSpeed operating below 25% nominal flow while still reporting nonzero power.
  • Add a unit test asserting the warning is generated under low-flow conditions.
  • Update ConstSpeedBranchPumpExercise.idf plant supply topology to include a bypass branch.
File summaries
File Description
tst/EnergyPlus/unit/Pumps.unit.cc Adds a regression test for the new constant-speed low-flow/full-power warning.
testfiles/ConstSpeedBranchPumpExercise.idf Adds a supply-side bypass branch and pipe to the exercise plant loop.
src/EnergyPlus/Pumps.hh Adds a new recurring-warning index member (PLRErrIndex) to PumpSpecs.
src/EnergyPlus/Pumps.cc Emits a recurring warning for constant-speed pumps at very low flow.
Review details
  • Files reviewed: 4/4 changed files
  • Comments generated: 3
  • Review effort level: Lite

We're testing this review assessment. Please use 👍 or 👎 to tell us if it's correct.

Comment thread src/EnergyPlus/Pumps.cc Outdated
Comment on lines +1925 to +1929
if (pumpType == PumpType::ConSpeed && daPumps->Power > 0.0 && VolFlowRate < 0.25 * thisPump.NomVolFlowRate) {
ShowRecurringWarningErrorAtEnd(
state,
std::format("{} Part Load Ratio < 1, {}, Name={}, pump has full power even at less than 25% nominal flow rate, VolFlowRate=",
RoutineName,

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.

Per this comment, user should correct inputs in the defect file to avoid excess pump power.

Comment thread tst/EnergyPlus/unit/Pumps.unit.cc Outdated
Comment thread src/EnergyPlus/Pumps.cc Outdated
@github-actions

github-actions Bot commented Aug 5, 2026

Copy link
Copy Markdown

⚠️ Regressions detected on macos-14 for commit 6df6e21

Regression Summary
  • ERR: 5
  • Audit: 1
  • BND: 1
  • MTD: 1
  • ESO Big Diffs: 1

@github-actions

github-actions Bot commented Aug 5, 2026

Copy link
Copy Markdown

⚠️ Regressions detected on ubuntu-24.04 for commit 6df6e21

Regression Summary
  • ERR: 5
  • Audit: 1
  • BND: 1
  • MTD: 1
  • ESO Big Diffs: 1

@joseph-robertson
joseph-robertson marked this pull request as ready for review August 7, 2026 15:27
@mitchute

Copy link
Copy Markdown
Collaborator

If the intent is to actually fix #10821, the flow enforcement and/or power calculation logic likely needs to be updated (and the warning can remain as a diagnostic).

@joseph-robertson it looks like this just adds the warning at this point. Should we unlink the original issue from this PR and leave it open?

@mitchute

mitchute commented Aug 11, 2026

Copy link
Copy Markdown
Collaborator

Thanks @joseph-robertson. The original defect file wasn't the best example of a real issue, but regardless, the new warnings here are good. If this pops up again, we can take another look.

@github-actions

Copy link
Copy Markdown

⚠️ Regressions detected on macos-14 for commit 8f0515a

Regression Summary
  • ERR: 4
  • Audit: 1
  • BND: 1
  • MTD: 1
  • ESO Big Diffs: 1

Comment thread testfiles/ConstSpeedBranchPumpExercise.idf Outdated
@github-actions

Copy link
Copy Markdown

⚠️ Regressions detected on ubuntu-24.04 for commit 8f0515a

Regression Summary
  • ERR: 4
  • Audit: 1
  • BND: 1
  • MTD: 1
  • ESO Big Diffs: 1

@github-actions

Copy link
Copy Markdown

⚠️ Regressions detected on macos-14 for commit 3b36f51

Regression Summary
  • ESO Big Diffs: 11
  • ERR: 13
  • EIO: 14
  • ESO Small Diffs: 5
  • Table Small Diffs: 4
  • Table String Diffs: 9
  • Table Big Diffs: 7
  • MTR Small Diffs: 5
  • MTR Big Diffs: 7
  • EDD: 1

@github-actions

Copy link
Copy Markdown

⚠️ Regressions detected on ubuntu-24.04 for commit 3b36f51

Regression Summary
  • ERR: 13
  • ESO Big Diffs: 11
  • EIO: 16
  • ESO Small Diffs: 5
  • Table Small Diffs: 5
  • Table Big Diffs: 7
  • Table String Diffs: 8
  • MTR Small Diffs: 5
  • MTR Big Diffs: 7
  • EDD: 1

@github-actions

Copy link
Copy Markdown

⚠️ Regressions detected on ubuntu-24.04 for commit 7ec5fe7

Regression Summary
  • ERR: 13
  • ESO Big Diffs: 11
  • EIO: 16
  • ESO Small Diffs: 5
  • Table Small Diffs: 5
  • Table Big Diffs: 7
  • Table String Diffs: 8
  • MTR Small Diffs: 5
  • MTR Big Diffs: 7
  • EDD: 1

@github-actions

Copy link
Copy Markdown

⚠️ Regressions detected on macos-14 for commit 7ec5fe7

Regression Summary
  • ERR: 13
  • ESO Big Diffs: 11
  • EIO: 14
  • Table Big Diffs: 7
  • Table String Diffs: 9
  • ESO Small Diffs: 5
  • Table Small Diffs: 4
  • MTR Small Diffs: 5
  • MTR Big Diffs: 7
  • EDD: 1

@github-actions

Copy link
Copy Markdown

⚠️ Regressions detected on ubuntu-24.04 for commit fc0f7fb

Regression Summary
  • ERR: 13
  • ESO Big Diffs: 11
  • EIO: 16
  • ESO Small Diffs: 5
  • Table Small Diffs: 5
  • Table Big Diffs: 7
  • Table String Diffs: 8
  • MTR Small Diffs: 5
  • MTR Big Diffs: 7
  • EDD: 1

@github-actions

Copy link
Copy Markdown

⚠️ Regressions detected on macos-14 for commit fc0f7fb

Regression Summary
  • ERR: 13
  • ESO Big Diffs: 11
  • EIO: 14
  • Table Big Diffs: 7
  • Table String Diffs: 9
  • ESO Small Diffs: 5
  • Table Small Diffs: 4
  • MTR Small Diffs: 5
  • MTR Big Diffs: 7
  • EDD: 1

  Restore only the inlet node maximum availability when enforcing scheduled
  fixed flow so bypass capacity is available without latching an intermittent
  pump on.

  Respect loop, loop-side, branch, component, and pump EMS overrides, and cap
  the scheduled flow at the inlet node's physical maximum.

  Expand unit coverage for stale availability limits, pump shutdown, physical
  flow limits, and EMS supervision.
@github-actions

github-actions Bot commented Sep 1, 2026

Copy link
Copy Markdown

⚠️ Regressions detected on macos-14 for commit 299c218

Regression Summary
  • EIO: 5
  • ERR: 5
  • Table Big Diffs: 3
  • Table String Diffs: 3
  • MTR Small Diffs: 1
  • Table Small Diffs: 1
  • EDD: 1
  • MTR Big Diffs: 1
  • ESO Small Diffs: 1

@github-actions

github-actions Bot commented Sep 1, 2026

Copy link
Copy Markdown

⚠️ Regressions detected on ubuntu-24.04 for commit 299c218

Regression Summary
  • EIO: 5
  • ERR: 6
  • Table Big Diffs: 3
  • Table String Diffs: 3
  • MTR Small Diffs: 1
  • Table Small Diffs: 1
  • ESO Small Diffs: 1
  • EDD: 1
  • MTR Big Diffs: 1

@mitchute mitchute left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Thanks @joseph-robertson. I've been over the regressions, and I believe we've landed in a good spot here.

@mitchute
mitchute merged commit d800271 into develop Sep 1, 2026
7 of 8 checks passed
@mitchute
mitchute deleted the pump-constant-spd branch September 1, 2026 20:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Defect Includes code to repair a defect in EnergyPlus

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Pump:ConstantSpeed operating at less than full flow but consuming full power

4 participants