Skip to content

Develop commercial HVAC boiler variants [feature]#37

Open
simularis wants to merge 12 commits intosound-data:mainfrom
simularis:dev-com-boiler-variants-1
Open

Develop commercial HVAC boiler variants [feature]#37
simularis wants to merge 12 commits intosound-data:mainfrom
simularis:dev-com-boiler-variants-1

Conversation

@simularis
Copy link
Copy Markdown
Contributor

Pull Request (PR) Description

This pull request includes template modifications to enable steam boilers and condensing boilers in commercial buildings as a prerequisite for modeling measure SWHC004 Space Heating Boiler.

For these boiler variants, we have made the following setup:

  • Adding a new parameter (fluid_type) to implement steam boiler options (hw.pxt)
  • Implementing new objects and updating logic to trigger steam boiler type configurations (hw.pxt)
  • Adding new parameter (max_loop_temp) to determine maximum loop temperature for the plant loop (hw.pxt), which varies between condensing and non-condensing boilers
  • Adding new parameter (min_loop_temp) to determine minimum loop temperature for the plant loop (hw.pxt)
  • Adding new label “STEAMBOILER” for the parameter (heating_source) to add class list “Boiler:Steam” (hw.pxt)
  • Adding new label “VARIABLESPEEDCONDENSATE” for the parameter (pump_type) to add class list “Pump:VariableSpeed:Condensate” for the steam boiler (hw.pxt)
  • Adding class list “Boiler: Steam” to add steam boiler (hw.pxt)
  • Adding class list “Pipe: Adiabatic: Steam” and its corresponding branches (hw.pxt)
  • Adding “Heating Coil Controller” for steam heat coil type (ahu.pxt)
  • Adding branches for (reheat_coil_type == “STEAM”) (atu.pxt)
  • Adding label "STEAM" for parameter (reheat_coil_type) in class list “AirTerminal:SingleDuct:VAV:Reheat” (atu.pxt)

Measure setup will be submitted separately.

Behzad Rizi (@behzadsalimian) was the main contributor for this work, with code review by Nicholas Fette (Solaris Technical).

PR Author

  • Make sure the PR branch is up to date with main branch at the time of the PR submission
  • Craft a succinct title that effectively encapsulates the essence of the pull request, providing a general overview of the proposed changes.
  • Label the PR with at least one of the following: New Measure, Bug, or Feature.
  • Provide a concise description of the measure, bug, or feature. Submit one PR per measure.
  • N/A - For a new measure, attach a workbook named DEER_EnergyPlus_Modelkit_Measure_list_working.xlsx, containing only rows used for post-processing the measure.
  • Add comments in the code when necessary to facilitate the review process.
  • Add a comment before the added code, including the author's full name, company, and specifying if it's a bug fix, new measure, or feature.
  • For a new feature or bug, demonstrate the impact on energy consumption for selected cases with justification using plots and descriptions.
  • N/A - For a new measure, add a summary table showing total energy consumption per simulated case.

PR Reviewer

  • Conduct a thorough code review.
  • If the branch is behind the main, merge the branch locally to check for potential conflicts.
  • If a bug, locally reproduce it and compare energy consumptions before and after.
  • Explore creative ways to stress-test the code.
  • Locally check the error file and other outputs.

* Condensing boiler requires new parameters for plant loop temperature limits
* Steam boiler requires new parameters for fluid type and steam coils
* Implement heat_coil_type = steam
* Pass new parameters through to ECC, ESe, EUn, HSp, Htl, MBT, Nrs, OfL, Rt3

Original Author: Behzad Salimian Rizi 2024-01-08 through 2024-02-14
* Revert new parameter boiler_duplicate_1 and replace with combination of other parameters
* Clarify new option for pump_type
* Add author comments
@amine-lazrak amine-lazrak self-assigned this Apr 4, 2024
Copy link
Copy Markdown
Collaborator

@amine-lazrak amine-lazrak left a comment

Choose a reason for hiding this comment

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

Thank you for including the steam boiler option. I noticed a few issues in specific cases. I'll proceed with merging once these issues have been addressed.

parameter "fluid_type", :default=>"WATER" # (WATER | STEAM )
parameter "max_loop_temp", :default=>100 # (100 | 120 )
parameter "min_loop_temp", :default=>10 # (10 | 10 )
parameter "min_loop_temp", :default=>10 # (10 | 10 )
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 line parameter "min_loop_temp", :default=>10 # (10 | 10 ) seems to be repeated twice in each modified prototype.

<% elsif (atu_reheat_coil_type == "STEAM") %>
<% # Added for steam boiler variant. Behzad Rizi 2024-01-24 %>
Coil:Heating:Steam, !- Reheat Coil Object Type
<%= atu_name %> ATU Heating Coil, !- Reheat Coil Name
Copy link
Copy Markdown
Collaborator

@amine-lazrak amine-lazrak May 2, 2024

Choose a reason for hiding this comment

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

I ran several simulations, but the ones for MBT failed. I believe this happened because <%= atu_name %> ATU Heating Coil, !- Reheat Coil Name needs to be placed outside the if statement. Otherwise, the coil name won't be printed correctly.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

We added the Reheat Coil Name line in each branch of the IF statement.

@@ -492,4 +501,35 @@ Branch,
<%= atu_name %> ATU Heating Coil, !- Component 1 Name
<%= atu_name %> Heating Coil Demand Inlet Node, !- Component 1 Inlet Node Name
<%= atu_name %> Heating Coil Demand Outlet Node; !- Component 1 Outlet Node Name
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.

Nrs, OfL and Hsp fail when ran in CZ16 for the Boiler_Steam case. Some branches seem to use steam and water fluid types on the same plantloop. EnergyPlus outputs the following error ** Severe ** BranchList=HW DEMAND BRANCHES has mixed fluid types in its nodes.

@@ -0,0 +1,4 @@
skip,case_name,:hw_heating_source,:hw_fluid_type,:hw_boiler_duplicate_1,:main_atu_reheat_coil_type,:hw_pump_type,:hw_boiler_eff,:hw_boiler_type,:hw_setpoint_type,:main_heat_coil_type,:kitch_heat_coil_type,:hw_supply_temp_at_lo,:hw_supply_temp_at_hi,:hw_max_loop_temp,:hw_min_loop_temp
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.

I think the parameter hw_boiler_duplicate_1 must be hw_boiler_duplicate. Otherwise, hw_boiler_duplicate will remain equal to default. Modelkit doesn't seem to output an error when an undefined parameter is specified in cases folder.

@amine-lazrak
Copy link
Copy Markdown
Collaborator

@simularis Could you please take a look at the comments on the PR and make the necessary changes? Also, could you merge the main branch to ensure there are no conflicts? Thanks!

@nfette
Copy link
Copy Markdown
Contributor

nfette commented Apr 4, 2026

This PR is a subset of the measure setup #91, where we addressed some of these comments during review of the SWHC004 commercial measure setup. Let me merge in recent template changes from that branch and see if that addresses the comments.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants