Skip to content

Fix VRF Thermostat Control Type Issues#11611

Merged
mitchute merged 3 commits into
developfrom
fix-vrf-thermostat-ctrl-type-issues
Jun 4, 2026
Merged

Fix VRF Thermostat Control Type Issues#11611
mitchute merged 3 commits into
developfrom
fix-vrf-thermostat-ctrl-type-issues

Conversation

@mitchute
Copy link
Copy Markdown
Collaborator

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
  • 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

Comment thread src/EnergyPlus/HVACVariableRefrigerantFlow.cc
@mitchute mitchute added the Defect Includes code to repair a defect in EnergyPlus label Jun 1, 2026
Copy link
Copy Markdown
Collaborator Author

@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.

Walk through

Comment thread src/EnergyPlus/HVACVariableRefrigerantFlow.cc
\paragraph{Field: Thermostat Priority Schedule Name}\label{field-thermostat-priority-schedule-name-000}

This alpha field identifies the schedule used when the previous field is set to Scheduled. Schedule values of 0 denote heating mode while values of 1 denote cooling mode. Any other values will force the system off.
This alpha field identifies the schedule used when the previous field is set to Scheduled. Schedule values of 0 denote cooling mode while values of 1 denote heating mode. Any other values will force the system off.
Copy link
Copy Markdown
Collaborator Author

@mitchute mitchute Jun 1, 2026

Choose a reason for hiding this comment

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

IDD vs. the code & docs had these reversed. I deferred to the IDD, but we can change that if the reverse would be better.

}

if (thisVrfSys.ThermostatPriority == ThermostatCtrlType::ScheduledPriority) {
if (thisVrfSys.ThermostatPriority == ThermostatCtrlType::Scheduled) {
Copy link
Copy Markdown
Collaborator Author

@mitchute mitchute Jun 1, 2026

Choose a reason for hiding this comment

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

Renamed to be consistent with the IDD key choice.

Comment on lines -10284 to -10286
case ThermostatCtrlType::FirstOnPriority: {
// na
} break;
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.

Unused, so I got rid of it.

Comment on lines +95 to +99
"LOADPRIORITY",
"MASTERTHERMOSTATPRIORITY",
"SCHEDULED",
"THERMOSTATOFFSETPRIORITY",
"ZONEPRIORITY",
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.

Removed the unused place holder, and sorted the list.

};

static constexpr std::array<std::string_view, static_cast<int>(ThermostatCtrlType::Num)> ThermostatCtrlTypeUC = {
"LOADPRIORITY", "ZONEPRIORITY", "THERMOSTATOFFSETPRIORITY", "SCHEDULEDPRIORITY", "MASTERTHERMOSTATPRIORITY",
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.

This is the real fix - changing SCHEDULEDPRIORITY to SCHEDULED since that is the key in the IDD that this is looking for.

prioritySched->currentVal = 2.0;
InitializeOperatingMode(*state, true, VRFCond, TUListNum, onOffAirFlowRatio);
EXPECT_FALSE(state->dataHVACVarRefFlow->CoolingLoad(VRFCond));
EXPECT_FALSE(state->dataHVACVarRefFlow->HeatingLoad(VRFCond));
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.

This all looks consistent now.

@mitchute
Copy link
Copy Markdown
Collaborator Author

mitchute commented Jun 4, 2026

Ready to go here. Merging.

@mitchute mitchute merged commit b2c2f54 into develop Jun 4, 2026
11 of 12 checks passed
@mitchute mitchute deleted the fix-vrf-thermostat-ctrl-type-issues branch June 4, 2026 22:20
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.

AirConditioner:VariableRefrigerantFlow not working with Scheduled master thermostat

3 participants