diff --git a/docs/section11/Rule11-5.md b/docs/section11/Rule11-5.md new file mode 100644 index 0000000000..cfb72dfb25 --- /dev/null +++ b/docs/section11/Rule11-5.md @@ -0,0 +1,37 @@ +# Service Water Heating - Rule 11-5 + +**Schema Version:** 0.0.37 +**Mandatory Rule:** True +**Rule ID:** 11-5 +**Rule Description:** Piping losses shall not be modeled. +**Rule Assertion:** Options are PASS/FAIL/NOT_APPLICABLE/UNDETERMINED +**Appendix G Section Reference:** Table G3.1 #11, proposed column, f + +**Evaluation Context:** Each SWH Distribution System +**Data Lookup:** +**Function Call:** + +**Applicability Checks:** +- Every Proposed distribution system is applicable + + +## Rule Logic: +- Get to the `service_water_heating_distribution_systems` level + - Define a list that stores the pipe data: `piping_losses_modeled = []` + - Loop over the `service_water_piping` object: `for service_water_piping in swh_dist_sys_p["service_water_piping"]:` + - Store the current piping obj: `queue = deque([service_water_piping])` + - Check the `are_thermal_losses_modeled` value including all the child pipes: + - `while queue:` + - `current_piping = queue.popleft()` + - `children_piping = current_piping.get("child", [])` + - `queue.extend(children_piping)` + - `piping_losses_modeled_p.append(current_piping.get("are_thermal_losses_modeled"))` + + **Rule Assertion:** + - Case 1: piping losses are not modeled, PASS: `if not any(piping_losses_modeled_p): PASS` + - Case 2: piping losses are modeled, FAIL: `else: FAIL` + + +**Notes:** + +**[Back](../_toc.md)** diff --git a/docs/section11/Rule11-6.md b/docs/section11/Rule11-6.md index 0e449e3e67..79db3240bf 100644 --- a/docs/section11/Rule11-6.md +++ b/docs/section11/Rule11-6.md @@ -27,10 +27,9 @@ - `queue.extend(children_piping)` - `piping_losses_modeled_b.append(current_piping.get("are_thermal_losses_modeled"))` - -- **Rule Assertion - Zone:** -- Case1: piping losses are not modeled, PASS: `if not any(piping_losses_modeled_b): PASS` -- Case2: piping losses are modeled, FAIL: `else: FAIL` + **Rule Assertion:** + - Case 1: piping losses are not modeled, PASS: `if not any(piping_losses_modeled_b): PASS` + - Case 2: piping losses are modeled, FAIL: `else: FAIL` **Notes:**