Constant speed pump at low flow but consuming full power - #11722
Conversation
|
|
|
|
|
|
There was a problem hiding this comment.
🟡 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::CalcPumpsforPump:ConstantSpeedoperating below 25% nominal flow while still reporting nonzero power. - Add a unit test asserting the warning is generated under low-flow conditions.
- Update
ConstSpeedBranchPumpExercise.idfplant 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.
| 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, |
There was a problem hiding this comment.
Per this comment, user should correct inputs in the defect file to avoid excess pump power.
|
|
@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? |
|
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. |
|
|
… fix for forcing full flow when bypass present; this test file should now show the new low flow warning since it lacks a bypass.
… bypass is present.
|
|
|
|
|
|
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.
…us into pump-constant-spd
|
|
mitchute
left a comment
There was a problem hiding this comment.
Thanks @joseph-robertson. I've been over the regressions, and I believe we've landed in a good spot here.
Pull request overview
Description of the purpose of this PR
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
Reviewer