Skip to content

Conversation

rraustad
Copy link
Contributor

@rraustad rraustad commented Oct 2, 2025

Pull request overview

Description of the purpose of this PR

HVAC Template for VRF system did not write out defrost performance curve when Reverse Cycle defrost was selected

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

@rraustad rraustad added this to the EnergyPlus 25.2 milestone Oct 2, 2025
@rraustad rraustad added the Defect Includes code to repair a defect in EnergyPlus label Oct 2, 2025
isReverseCycleDefrost = .FALSE.
IF (SameString(FldVal(base + vrfsHPDefrTypeOff),'ReverseCycle')) THEN
isReverseCycleDefrost = .TRUE.
END IF
Copy link
Contributor Author

Choose a reason for hiding this comment

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

Check for defrost type and write out performance curve if needed.

@rraustad
Copy link
Contributor Author

rraustad commented Oct 2, 2025

Using V25.1 public release and package build release for V25.2 with HVACTemplate-5ZoneVRF.idf example file. Defrost strategy changed in HVACTemplate file to ReverseCycle. ExpandObjects creates the idfs below:

develop:

AirConditioner:VariableRefrigerantFlow,
  VRF Sys 2 Air Source VRF Heat Pump,                      !- Heat Pump Name
  ReverseCycle,                                            !- Defrost Strategy
  Timed,                                                   !- Defrost Control
  ,                                                        !- Defrost Energy Input Ratio Modifier Function of Temperature Curve Name

** Severe  ** AirConditioner:VariableRefrigerantFlow, "VRF SYS 2 AIR SOURCE VRF HEAT PUMP" Defrost Energy Input Ratio Modifier Function of Temperature Curve Name not found: 
**  Fatal  ** GetVRFInput: Errors found in getting AirConditioner:VariableRefrigerantFlow system input. Preceding condition(s) causes termination.
************* EnergyPlus Terminated--Fatal Error Detected. 7 Warning; 1 Severe Errors; Elapsed Time=00hr 00min  0.23sec

this branch:

AirConditioner:VariableRefrigerantFlow,
  VRF Sys 1 Water Source VRF Heat Pump,                    !- Heat Pump Name
  ReverseCycle,                                            !- Defrost Strategy
  Timed,                                                   !- Defrost Control
  VRF Sys 1 Water Source Reverse Cycle Defrost Curve,      !- Defrost Energy Input Ratio Modifier Function of Temperature Curve Name

! VRF defrost curve example, modify as required

Curve:Biquadratic,
  VRF Sys 1 Water Source Reverse Cycle Defrost Curve,      !- Name
  0.95,                                                    !- Coefficient1 Constant
  0.0,                                                     !- Coefficient2 x
  0.0,                                                     !- Coefficient3 x**2
  0.0,                                                     !- Coefficient4 y
  0.0,                                                     !- Coefficient5 y**2
  0.0,                                                     !- Coefficient6 x*y
  15.55,                                                   !- Minimum Value of x
  24,                                                      !- Maximum Value of x
  -5,                                                      !- Minimum Value of y
  24,                                                      !- Maximum Value of y
  ,                                                        !- Minimum Curve Output
  ,                                                        !- Maximum Curve Output
  Temperature,                                             !- Input Unit Type for X
  Temperature,                                             !- Input Unit Type for Y
  Dimensionless;                                           !- Output Unit Type

AirConditioner:VariableRefrigerantFlow,
  VRF Sys 2 Air Source VRF Heat Pump,                      !- Heat Pump Name
  ReverseCycle,                                            !- Defrost Strategy
  OnDemand,                                                !- Defrost Control
  VRF Sys 2 Air Source Reverse Cycle Defrost Curve,        !- Defrost Energy Input Ratio Modifier Function of Temperature Curve Name

! VRF defrost curve example, modify as required

Curve:Biquadratic,
  VRF Sys 2 Air Source Reverse Cycle Defrost Curve,        !- Name
  0.95,                                                    !- Coefficient1 Constant
  0.0,                                                     !- Coefficient2 x
  0.0,                                                     !- Coefficient3 x**2
  0.0,                                                     !- Coefficient4 y
  0.0,                                                     !- Coefficient5 y**2
  0.0,                                                     !- Coefficient6 x*y
  15.55,                                                   !- Minimum Value of x
  24,                                                      !- Maximum Value of x
  -5,                                                      !- Minimum Value of y
  24,                                                      !- Maximum Value of y
  ,                                                        !- Minimum Curve Output
  ,                                                        !- Maximum Curve Output
  Temperature,                                             !- Input Unit Type for X
  Temperature,                                             !- Input Unit Type for Y
  Dimensionless;                                           !- Output Unit Type

************* EnergyPlus Completed Successfully-- 7 Warning; 0 Severe Errors; Elapsed Time=00hr 00min  0.65sec

@mitchute mitchute requested a review from mjwitte October 8, 2025 18:27
@mitchute
Copy link
Collaborator

I confirmed the defect and fix. Merging after CI returns.

@mitchute mitchute merged commit e26af01 into develop Oct 13, 2025
11 checks passed
@mitchute mitchute deleted the 5596-ExpandObjects-VRF-RevCycleDefCurve branch October 13, 2025 16: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.

VRF System ReverseCycle Defrost Strategy - Missing EIR=f(T) curve

4 participants