Skip to content

Conversation

@yujiex
Copy link
Collaborator

@yujiex yujiex commented Mar 20, 2025

Pull request overview

Description of the purpose of this PR

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

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

@yujiex yujiex added the Defect Includes code to repair a defect in EnergyPlus label Mar 20, 2025
@yujiex yujiex self-assigned this Mar 20, 2025
@yujiex yujiex requested a review from rraustad March 20, 2025 21:30
@github-actions
Copy link

⚠️ Regressions detected on macos-14 for commit 84c530b

Regression Summary
  • EIO: 1
  • ERR: 4
  • ESO Big Diffs: 4
  • Table Big Diffs: 1
  • MTR Small Diffs: 2
  • Table Small Diffs: 2

} else {
SmallLoadTe = MinOutdoorUnitTe;
}
T_suction + 6); // SmallLoadTe is the updated Te'
Copy link
Collaborator

Choose a reason for hiding this comment

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

  1. Why is this SolveRoot call, lines 13960 and 13961, still here? It doesn't do anything.
  2. If you are going to execute line 13968 anyway, then you may as well make this an if () { } else { } to eliminate the extra equivalence.
  3. I would still like to see a warning for SolFla == -2 and let the code coverage tell us it's never used than to possibly miss a coding mistake. At the very least put an assert there so a developer might stumble across an issue.
  4. What happened to the recurring warning?

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

@rraustad Thanks for the comments.
for 1. I think might have forgot to change it back. Now the upper bound is changed back to T_suction.
2. I changed it to if else logic
3. I added back the warnings for the SolFla = -2 case
4. Also added back recurring warnings in the SolFla = -2

int LowLoadTeError2PosTsuc = 0;
int LowLoadTeError2PosTsucIndex = 0; // warning message index
int LowLoadTeError2PosOUTe = 0;
int LowLoadTeError2PosOUTeIndex = 0; // warning message index
Copy link
Collaborator

Choose a reason for hiding this comment

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

Are you planning to use these?

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

yes, added back the warnings

@github-actions
Copy link

⚠️ Regressions detected on macos-14 for commit cf8fe9f

Regression Summary
  • EIO: 1
  • ERR: 4
  • ESO Big Diffs: 4
  • Table Big Diffs: 1
  • MTR Small Diffs: 2
  • Table Small Diffs: 2

@github-actions
Copy link

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

Regression Summary
  • EIO: 1
  • ERR: 4
  • ESO Big Diffs: 4
  • Table Big Diffs: 1
  • MTR Small Diffs: 2
  • Table Small Diffs: 2

@Myoldmopar Myoldmopar self-assigned this Apr 9, 2025
@nrel-bot-2
Copy link

@Myoldmopar @yujiex @Myoldmopar it has been 29 days since this pull request was last updated.

@nrel-bot-2c
Copy link

@Myoldmopar @yujiex @Myoldmopar it has been 35 days since this pull request was last updated.

@github-actions
Copy link

github-actions bot commented Jul 2, 2025

⚠️ Regressions detected on macos-14 for commit 74ece32

Regression Summary
  • EIO: 1
  • ERR: 4
  • ESO Big Diffs: 4
  • Table Big Diffs: 1
  • MTR Small Diffs: 2
  • Table Small Diffs: 2

@github-actions
Copy link

github-actions bot commented Jul 2, 2025

⚠️ Regressions detected on macos-14 for commit c45c685

Regression Summary
  • EIO: 1
  • ERR: 4
  • ESO Big Diffs: 4
  • Table Big Diffs: 1
  • MTR Small Diffs: 2
  • Table Small Diffs: 2

@github-actions
Copy link

⚠️ Regressions detected on macos-14 for commit 17bf038

Regression Summary
  • EIO: 1
  • ERR: 4
  • ESO Big Diffs: 4
  • Table Big Diffs: 1
  • MTR Small Diffs: 2
  • Table Small Diffs: 2

@yujiex yujiex added this to the EnergyPlus 25.2 milestone Aug 7, 2025
@github-actions
Copy link

⚠️ Regressions detected on macos-14 for commit 423492e

Regression Summary
  • EIO: 1
  • ERR: 4
  • ESO Big Diffs: 4
  • Table Big Diffs: 1
  • MTR Small Diffs: 2
  • Table Small Diffs: 2

@nrel-bot-2
Copy link

@Myoldmopar @yujiex @Myoldmopar it has been 28 days since this pull request was last updated.

@dareumnam dareumnam self-assigned this Sep 24, 2025

General::SolveRoot(state, 1.0e-3, MaxIter, SolFla, SmallLoadTe, f, MinOutdoorUnitTe,
T_suction); // SmallLoadTe is the updated Te'
if (SolFla == -1) {
Copy link
Collaborator

@rraustad rraustad Oct 10, 2025

Choose a reason for hiding this comment

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

Line 14219 was moved to new line 14232, right? If so, the call to SolveRoot at 14219 can be deleted.

SmallLoadTe);
} else {
// demand > capacity at both endpoints of the Te range, take the end point x where f(x) is closer to zero
if (f_xmin > f_xmax) { // f(T_suction > 0, not equal as SolFla will not be -2
Copy link
Collaborator

Choose a reason for hiding this comment

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

Is this comment SolFla will not be -2 correct? because this code is in the } else if (SolFla == -2) { block.

@rraustad
Copy link
Collaborator

@yujiex this is about ready. Just take a look at these last comments.

@nrel-bot-2c
Copy link

@yujiex @Myoldmopar it has been 28 days since this pull request was last updated.

2 similar comments
@nrel-bot-2
Copy link

@yujiex @Myoldmopar it has been 28 days since this pull request was last updated.

@nrel-bot-2c
Copy link

@yujiex @Myoldmopar it has been 28 days since this pull request was last updated.

@rraustad
Copy link
Collaborator

Testing a comment. I can see the repo but cannot push this branch.

Copy link
Collaborator

@rraustad rraustad left a comment

Choose a reason for hiding this comment

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

This looks good now.

@rraustad
Copy link
Collaborator

rraustad commented Jan 23, 2026

I did look at the defect file for issues (I tracked back through PRs for a defect file). I am not sure what COP should result from this "VRF configuration" but I don't see any oddities, i.e., step functions in performance because of these changes (except for a cooling COP > 8, that does seem rather high but out of scope). High cooling COP could be a follow up, if necessary, and does not relate to these changes.

imaged

11000-US+SF+CZ5B+hp+slab+IECC_2021_VRFPhysics_v2_hrdsize_V2420.idf.txt

}
ShowRecurringWarningErrorAtEnd(
state,
"Low load calculation Te solution not found as load is smaller than min-speed capacity for the whole range",
Copy link
Collaborator

Choose a reason for hiding this comment

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

Maybe it's just me, but I don't understand what the warning is trying to convey. Is "Te" something you'd expect the user to understand?

Copy link
Collaborator

Choose a reason for hiding this comment

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

This warning seems more like a diagnostic message for developers, rather than a user-friendly explanation. We might consider making it more user-oriented.

@dareumnam
Copy link
Collaborator

This looks good to me as-is, and the extra handling for SolFla == -2 definitely makes the low-load behavior easier to understand.
As a small suggestion for potential cleanup later on, I think it might be helpful to explicitly clarify the sign convention of the residual f(Te), whether it’s defined as (demand - capacity) or (capacity - demand).
Related to that, in the SolFla == -2 fallback cases where both endpoints have the same sign, I think it could be worth considering picking the endpoint with the smallest absolute residual (closest to zero). The current endpoint-based choice seems fine, but this is just a thought that might make the logic a bit more explicit.
That said, I’m happy with the current implementation. Thanks so much for the follow-up PR, @yujiex, and for the final touch-up and results, @rraustad. I think it is ready to be merged. @mitchute

@mitchute
Copy link
Collaborator

Thanks all. We'll merge this. If in hindsight there's more clarity that can be added to those messages, please considers submitting a follow-up.

@mitchute mitchute merged commit 54a3f66 into develop Jan 23, 2026
11 checks passed
@mitchute mitchute deleted the followupVRFwarning branch January 23, 2026 22:09
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.

9 participants