Skip to content

Fix load dispatch for variable-flow chillers with a low leaving temperature limit - #11770

Draft
dareumnam wants to merge 6 commits into
developfrom
fix_10965
Draft

Fix load dispatch for variable-flow chillers with a low leaving temperature limit#11770
dareumnam wants to merge 6 commits into
developfrom
fix_10965

Conversation

@dareumnam

Copy link
Copy Markdown
Collaborator

Pull request overview

Description of the purpose of this PR

  • Multiple chillers on a SequentialLoad / SequentialUniformPLR scheme all run at an identical PLR instead of staging up, when they use LeavingSetpointModulated flow mode, sit on pumped branches, and have a Leaving Chilled Water Lower Temperature Limit at or near the loop setpoint.
  • AdjustChangeInLoadByHowServed() truncates the dispatched load for a ByNominalCapLowOutLimit component using the flow present at its inlet node:
    QdotTmp = CurMassFlowRate * Cp * (Tinlet - ToutLowLimit)
  • The branch pump runs before the chiller, so that flow is still the pump minimum. But a LeavingSetpointModulated chiller sets its own flow rate, so this understates its capacity. Chiller 1 is capped well below what it can do and the remainder cascades down the equipment list. The chiller model already enforces the low outlet limit internally, so this outer truncation is redundant for variable-flow machines.
  • So I added CompData::ModulatedFlow, set by each chiller in LeavingSetpointModulated mode. When set, capacity is evaluated at MassFlowRateMaxAvail instead of the current flow. Constant-flow behavior is unchanged.
  • Also updated both truncation branches in PlantCondLoopOperation.cc and the chiller modules that register a low outlet limit (ChillerElectricEIR, ChillerReformulatedEIR, ChillerIndirectAbsorption, PlantChillers).
  • Defect idf file: I ran the file from the original issue (HVACTemplate-5ZoneVAVWaterCooled_V2420_rev_exp_CHWLimit7.22.idf), which has four Chiller:Electric:EIR on parallel pumped branches, SequentialUniformPLR, and both the loop setpoint and the low limit at 7.22C. (RunPeriod: May).
image image image image image - On develop the load splits into exact quarters every hour. With the fix, chiller 1 carries the base load and chiller 4 runs only 16 hours on the hottest days. Equal PLR among running chillers is expected under `SequentialUniformPLR`. Chiller 1 peaks at 0.78 rather than 1.0 because the low limit equals the setpoint, capping usable delta T at about half the design value.

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

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

Copy link
Copy Markdown

⚠️ Regressions detected on macos-14 for commit 9a48904

Regression Summary
  • EIO: 85
  • ESO Small Diffs: 92
  • MTR Small Diffs: 105
  • Table Small Diffs: 55
  • ESO Big Diffs: 32
  • Table Big Diffs: 25
  • Table String Diffs: 11
  • JSON Big Diffs: 1
  • MTR Big Diffs: 13
  • ERR: 6

@github-actions

Copy link
Copy Markdown

⚠️ Regressions detected on ubuntu-24.04 for commit 9a48904

Regression Summary
  • EIO: 85
  • ESO Small Diffs: 92
  • MTR Small Diffs: 104
  • Table Small Diffs: 56
  • ESO Big Diffs: 32
  • Table Big Diffs: 25
  • JSON Big Diffs: 1
  • Table String Diffs: 11
  • MTR Big Diffs: 13
  • ERR: 6

@dareumnam
dareumnam marked this pull request as draft August 30, 2026 04:04
@github-actions

github-actions Bot commented Sep 2, 2026

Copy link
Copy Markdown

⚠️ Regressions detected on macos-14 for commit acaf7b0

Regression Summary
  • EIO: 85
  • ESO Small Diffs: 92
  • MTR Small Diffs: 105
  • Table Small Diffs: 55
  • ESO Big Diffs: 32
  • Table Big Diffs: 25
  • Table String Diffs: 11
  • JSON Big Diffs: 1
  • MTR Big Diffs: 13
  • ERR: 6

@github-actions

github-actions Bot commented Sep 2, 2026

Copy link
Copy Markdown

⚠️ Regressions detected on ubuntu-24.04 for commit acaf7b0

Regression Summary
  • EIO: 85
  • ESO Small Diffs: 92
  • MTR Small Diffs: 104
  • Table Small Diffs: 56
  • ESO Big Diffs: 32
  • Table Big Diffs: 25
  • JSON Big Diffs: 1
  • Table String Diffs: 11
  • MTR Big Diffs: 13
  • ERR: 6

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.

Variable CHW Flow Chillers Operate unexpectedly

3 participants