-
Notifications
You must be signed in to change notification settings - Fork 5
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'develop' into RS/JDJ/rule11-10
- Loading branch information
Showing
22 changed files
with
142,547 additions
and
436 deletions.
There are no files selected for viewing
Binary file removed
BIN
-687 KB
...ncommitted_changes_before_Checkout_at_12_21_2023_3_33_PM_[Changes]/boiler_tcd_master.xlsx
Binary file not shown.
Binary file removed
BIN
-332 KB
.../shelf/Uncommitted_changes_before_Checkout_at_12_21_2023_3_33_PM_[Changes]/section18.xlsx
Binary file not shown.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,53 @@ | ||
# Service_Water_Heating - Rule 11-14 | ||
**Schema Version:** 0.0.37 | ||
|
||
**Mandatory Rule:** TRUE | ||
|
||
**Rule ID:** 11-14 | ||
|
||
**Rule Description:** "Where recirculation pumps are used to ensure prompt availability of service water-heating at the end use, the energy consumption of such pumps shall be calculated explicitly." | ||
|
||
**Rule Assertion:** UNDETERMINED / NOT_APPLICABLE | ||
|
||
**Appendix G Section Reference:** Table G3.1 #11, baseline column, (f) | ||
|
||
**Evaluation Context:** ServiceWaterHeatingDistributionSystem | ||
**Data Lookup:** | ||
**Function Call:** | ||
- **get_SWH_uses_associated_with_each_building_segment** | ||
- **get_swh_components_associated_with_each_swh_distribution_system** | ||
- **get_component_by_id** | ||
|
||
## Applicability Checks: | ||
- All service water heating distribution systems with water uses are applicable | ||
- get a dictionary all of the components associated with the swh distribution system in the building: `swh_comps_dict = get_swh_components_associated_with_each_swh_distribution_system(B_RMD)` | ||
- look at each service water heating distribution system in the baseline model: `for swh_dist_sys in B_RMD.service_water_heating_distribution_systems:` | ||
- look at the uses associated with this distribution system: `for swh_use_id in swh_comps_dict[swh_dist_sys.id]["USES"]:` | ||
- get the swh_use using get_component_by_ID: `swh_use = get_component_by_ID(P_RMD, swh_use_id)` | ||
- check to see if the use has SWH loads: `if swh_use.use > 0:` | ||
- the rule is applicable: `CONTINUE TO RULE LOGIC` | ||
|
||
|
||
## Rule Logic: | ||
- for a hard pass, we're looking for all of the loops to recirculate, and have pumps with power > 0 | ||
- an undetermined result would be if there is not recirculation (perhaps there should be recirculation), or if only some of the loops meet the criteria for a pass | ||
- a fail would be if the loops recirculate but don't have pumps or pump power | ||
- create a dictionary to keep track of the piping, and pumps attached to the distribution system: `piping_info = {}` | ||
- look at each piping connected to the distribution system: `for piping_id in in swh_comps_dict[swh_dist_sys.id]["PIPING"]:` | ||
- get the piping: `piping = get_component_by_id(B_RMD,ServiceWaterPiping)` | ||
- create a dictionary to store data about this piping: `piping_info[piping_id] = {}` | ||
- add the recirculation loop information to the dictionary: `piping_info[piping_id]["IS_RECIRC"] = piping.is_recirculation_loop` | ||
- if the piping is a recirculation loop, get the attached pump: `if(piping.is_recirculation_loop):` | ||
- need to look at each pump to see if it's connected: `for pump_id in swh_comps_dict[swh_dist_sys.id]["PUMP"]:` | ||
- get the pump: `pump = get_component_by_id(B_RMD,PUMP)` | ||
- if the pump loop_or_piping matches the current piping, add the pump to the piping dictionary: `piping_info[piping_id]["PUMP_POWER"] = pump.design_electric_power` | ||
- | ||
- GO TO RULE LOGIC | ||
|
||
## Rule Logic: | ||
- Case1: all piping are recirculating and pump power is > 0, PASS: `if all(entry.get("IS_RECIRC") and entry.get("PUMP_POWER", 0) > 0 for entry in piping_info.values()): PASS` | ||
- Case2: there is at least one piping that has recirculation, but no pump power, FAIL: `elif any(entry.get("IS_RECIRC") and entry.get("PUMP_POWER", 0) == 0 for entry in hash.values()): FAIL` | ||
- Case3: All others, UNDETERMINED: `UNDETERMINED` | ||
|
||
|
||
**[Back](../_toc.md)** |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.