Skip to content

Conversation

@rraustad
Copy link
Contributor

Pull request overview

NOTE: ENHANCEMENTS MUST FOLLOW A SUBMISSION PROCESS INCLUDING A FEATURE PROPOSAL AND DESIGN DOCUMENT PRIOR TO SUBMITTING CODE

Pull Request Author

Add to this list or remove from it as applicable. This is a simple templated set of guidelines.

  • 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

This will not be exhaustively relevant to every PR.

  • 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

@rraustad rraustad added the Defect Includes code to repair a defect in EnergyPlus label Jun 18, 2024
@rraustad
Copy link
Contributor Author

rraustad commented Jun 18, 2024

This branch shows all coils now turn on and set point is maintained except for when the AvailabilityManger is turning off the system at night for a few hours and on a weekend. I'm not exactly sure yet where the change in air flow from cooling to heating is coming from.

Component Sizing Information, Fan:SystemModel, SUPPLY FAN 1, User-Specified Design Maximum Air Flow Rate [m3/s], 1.00000
Component Sizing Information, AirLoopHVAC:UnitarySystem, WATER-TO-AIR HEAT PUMP UNIT 1, User-Specified Supply Air Flow Rate [m3/s], 1.00000
Component Sizing Information, AirLoopHVAC:UnitarySystem, WATER-TO-AIR HEAT PUMP UNIT 1, User-Specified Heating Supply Air Flow Rate [m3/s], 1.00000
Component Sizing Information, AirLoopHVAC:UnitarySystem, WATER-TO-AIR HEAT PUMP UNIT 1, User-Specified Cooling Supply Air Flow Rate [m3/s], 1.00000
Component Sizing Information, AirLoopHVAC:UnitarySystem, WATER-TO-AIR HEAT PUMP UNIT 1, User-Specified No Load Supply Air Flow Rate [m3/s], 0.00000
Component Sizing Information, COIL:COOLING:WATERTOAIRHEATPUMP:VARIABLESPEEDEQUATIONFIT, SYS 1 HEAT PUMP COOLING MODE, Design Size Rated Air Flow Rate [m3/s], 1.00000
Component Sizing Information, COIL:COOLING:WATERTOAIRHEATPUMP:VARIABLESPEEDEQUATIONFIT, SYS 1 HEAT PUMP COOLING MODE, User-Specified Rated Air Flow Rate [m3/s], 1.00000

image

@rraustad rraustad marked this pull request as draft June 18, 2024 19:00
@nrel-bot-3
Copy link

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

4 similar comments
@nrel-bot-2c
Copy link

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

@nrel-bot
Copy link

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

@nrel-bot-2
Copy link

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

@nrel-bot-2c
Copy link

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

@nrel-bot-2
Copy link

@rraustad it has been 16 days since this pull request was last updated.

@nrel-bot-2c
Copy link

@rraustad it has been 7 days since this pull request was last updated.

2 similar comments
@nrel-bot-2c
Copy link

@rraustad it has been 7 days since this pull request was last updated.

@nrel-bot-2c
Copy link

@rraustad it has been 7 days since this pull request was last updated.

@nrel-bot-2
Copy link

@rraustad it has been 8 days since this pull request was last updated.

@nrel-bot-2
Copy link

@rraustad it has been 7 days since this pull request was last updated.

9 similar comments
@nrel-bot-2
Copy link

@rraustad it has been 7 days since this pull request was last updated.

@nrel-bot-2
Copy link

@rraustad it has been 7 days since this pull request was last updated.

@nrel-bot-2
Copy link

@rraustad it has been 7 days since this pull request was last updated.

@nrel-bot-2
Copy link

@rraustad it has been 7 days since this pull request was last updated.

@nrel-bot-2c
Copy link

@rraustad it has been 7 days since this pull request was last updated.

@nrel-bot-2
Copy link

@rraustad it has been 7 days since this pull request was last updated.

@nrel-bot-2
Copy link

@rraustad it has been 7 days since this pull request was last updated.

@nrel-bot-2c
Copy link

@rraustad it has been 7 days since this pull request was last updated.

@nrel-bot-2c
Copy link

@rraustad it has been 7 days since this pull request was last updated.

@nrel-bot-2c
Copy link

@rraustad it has been 8 days since this pull request was last updated.

@nrel-bot-2c
Copy link

@rraustad it has been 7 days since this pull request was last updated.

4 similar comments
@nrel-bot-2c
Copy link

@rraustad it has been 7 days since this pull request was last updated.

@nrel-bot-2c
Copy link

@rraustad it has been 7 days since this pull request was last updated.

@nrel-bot-2c
Copy link

@rraustad it has been 7 days since this pull request was last updated.

@nrel-bot-2c
Copy link

@rraustad it has been 7 days since this pull request was last updated.

@github-actions
Copy link

⚠️ Regressions detected on ubuntu-24.04 for commit 7315087

Regression Summary
  • ERR: 2
  • ESO Big Diffs: 1
  • Table Big Diffs: 3

@github-actions
Copy link

⚠️ Regressions detected on macos-14 for commit 7315087

Regression Summary
  • ERR: 2
  • ESO Big Diffs: 1
  • Table Big Diffs: 3

@github-actions
Copy link

⚠️ Regressions detected on macos-14 for commit 9346444

Regression Summary
  • ERR: 2
  • ESO Big Diffs: 1
  • Table Big Diffs: 3

@github-actions
Copy link

⚠️ Regressions detected on ubuntu-24.04 for commit 9346444

Regression Summary
  • ERR: 2
  • ESO Big Diffs: 1
  • Table Big Diffs: 3

@rraustad rraustad marked this pull request as draft October 24, 2025 02:07
@rraustad rraustad marked this pull request as ready for review October 24, 2025 03:27
@rraustad
Copy link
Contributor Author

rraustad commented Oct 24, 2025

@mitchute I backed out all changes and started over. These are the minimum changes that get the system to at least turn on. I think I would rather have the system at least operate, albeit with some control issues, than not turn on at all. I will post a new issue to address the remaining issue which is out of scope and a user input control problem to either use the previous on air flow or off air flow (i.e. the m_AirFlowControl flag). This defect file is set point controlled which should honor this control choice.

//  set air flow control mode:
//  m_AirFlowControl = UseCompFlow::On means operate at last cooling or heating air flow requested when compressor is off
//  m_AirFlowControl = UseCompFlow::Off means operate at no load air flow value specified by user
//  AirFlowControl only valid if fan opmode = ContFanCycComp
if (this->m_MaxNoCoolHeatAirVolFlow == 0.0) {
    this->m_AirFlowControl = UseCompFlow::On;
} else {
    this->m_AirFlowControl = UseCompFlow::Off;
}

@rraustad
Copy link
Contributor Author

rraustad commented Oct 24, 2025

Results after these changes. Top right figure shows set point control is working.

{C2C9210C-9C0E-4FFD-81D9-F22759D29F14}

develop branch:

{74AC992F-49D8-45AE-A644-EAACEA0D85C3}

// set variables used in fan call inside function calcPassiveSystem
state.dataUnitarySystems->m_massFlow1 = state.dataLoopNodes->Node(this->AirInNode).MassFlowRate;
state.dataUnitarySystems->m_runTimeFraction1 = (state.dataUnitarySystems->m_massFlow1 > 0.0) ? 1.0 : 0.0; // constant fan mode is required

Copy link
Contributor Author

@rraustad rraustad Oct 24, 2025

Choose a reason for hiding this comment

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

If either of these changes are removed, the system air flow goes to 0 and there is no control to set point temperature. I'm not quite sure the initialization of LastMode should be done in getInput but I am warming up to it since the mode needs to start somewhere. If the mode is not set from 0 to cooling or heating mode the fan does not turn on. So this change seems OK. And if the fan operating parameters are not set, for set point controlled systems, then the fan won't turn on. So this also seems OK.

Copy link
Collaborator

Choose a reason for hiding this comment

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

@rraustad do you think this is captured in our tests already? Given your description, it seems like we should have some sort of test to ensure this continues to function.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

This was hard to track down. The defect file has Fan:SystemModel in a modified example file (UnitarySystem_VSHeatPumpWaterToAirEquationFit). Unit tests have legacy fans. One unit test has Fan:System models but doesn't test controls. The Fan:SystemModel needs to set these 2 variables for the fan call in calcPassiveSystem. This may have started with the fan refactor or a change to UnitarySystem that did not notice this corner case. I'm trying to figure out a good place for a unit test.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

First 2 unit tests passed fine without any changes. Then figured out that it was the coil type and the fan type that caused this issue and a specific unit test was added. That unit test fails without these changes. This coil type was calling calcPassiveSystem when it did not need to. Those lines were deleted. Since that function is no longer called the new lines to set the fan parameters were also not needed.

@github-actions
Copy link

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

Regression Summary
  • IDF: 5

@NREL NREL deleted a comment from github-actions bot Oct 24, 2025
@github-actions
Copy link

⚠️ Regressions detected on ubuntu-24.04 for commit 5aae7c6

Regression Summary
  • ERR: 1

@github-actions
Copy link

⚠️ Regressions detected on macos-14 for commit 5aae7c6

Regression Summary
  • ERR: 1

@github-actions
Copy link

⚠️ Regressions detected on ubuntu-24.04 for commit cdff51b

Regression Summary
  • ERR: 1

@github-actions
Copy link

⚠️ Regressions detected on macos-14 for commit cdff51b

Regression Summary
  • ERR: 1

@github-actions
Copy link

⚠️ Regressions detected on ubuntu-24.04 for commit ae81c27

Regression Summary
  • ERR: 1

@github-actions
Copy link

⚠️ Regressions detected on macos-14 for commit ae81c27

Regression Summary
  • ERR: 1

Copy link
Collaborator

@mitchute mitchute left a comment

Choose a reason for hiding this comment

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

Looking good here. Merging.

@mitchute mitchute merged commit 61f54b2 into develop Oct 31, 2025
11 checks passed
@mitchute mitchute deleted the 10570-UnitarySystem-VS-coil-SP-not-working branch October 31, 2025 23:10
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.

AirloopHVAC:UnitarySystem set point control does not turn on cooling coil

9 participants