Coverage for teaser/data/input/usecond_input.py: 100%
37 statements
« prev ^ index » next coverage.py v7.4.4, created at 2025-04-29 16:01 +0000
« prev ^ index » next coverage.py v7.4.4, created at 2025-04-29 16:01 +0000
1"""This module contains function to load UseConditions classes."""
4def load_use_conditions(use_cond, zone_usage, data_class):
5 """Load use conditions from JSON, according to DIN 18599,
6 SIA2024 in addition some AixLib specific use conditions for central AHU
7 are defined.
9 Parameters
10 ----------
11 use_cond : UseConditions()
12 Instance of TEASERs
13 BuildingObjects.UseConditions
15 zone_usage : str
16 code list for zone_usage according to 18599
18 data_class : DataClass()
19 DataClass containing the bindings for TypeBuildingElement and
20 Material (typically this is the data class stored in prj.data,
21 but the user can individually change that.
23 """
24 conditions_bind = data_class.conditions_bind
26 use_cond.usage = zone_usage
28 use_cond.typical_length = conditions_bind[zone_usage]["typical_length"]
29 use_cond.typical_width = conditions_bind[zone_usage]["typical_width"]
30 use_cond.with_heating = conditions_bind[zone_usage]["with_heating"]
31 use_cond.T_threshold_heating = conditions_bind[zone_usage]["T_threshold_heating"]
32 use_cond.T_threshold_cooling = conditions_bind[zone_usage]["T_threshold_cooling"]
33 use_cond.with_cooling = conditions_bind[zone_usage]["with_cooling"]
34 use_cond.fixed_heat_flow_rate_persons = conditions_bind[zone_usage][
35 "fixed_heat_flow_rate_persons"
36 ]
37 use_cond.activity_degree_persons = conditions_bind[zone_usage][
38 "activity_degree_persons"
39 ]
40 use_cond.persons = conditions_bind[zone_usage]["persons"]
41 use_cond.internal_gains_moisture_no_people = conditions_bind[zone_usage][
42 "internal_gains_moisture_no_people"
43 ]
44 use_cond.ratio_conv_rad_persons = conditions_bind[zone_usage][
45 "ratio_conv_rad_persons"
46 ]
47 use_cond.machines = conditions_bind[zone_usage]["machines"]
48 use_cond.ratio_conv_rad_machines = conditions_bind[zone_usage][
49 "ratio_conv_rad_machines"
50 ]
52 use_cond.lighting_power = conditions_bind[zone_usage]["fixed_lighting_power"]
53 use_cond.fixed_lighting_power = conditions_bind[zone_usage]["fixed_lighting_power"]
54 use_cond.ratio_conv_rad_lighting = conditions_bind[zone_usage]["ratio_conv_rad_lighting"]
55 use_cond.maintained_illuminance = conditions_bind[zone_usage]["maintained_illuminance"]
56 use_cond.lighting_efficiency_lumen = conditions_bind[zone_usage]["lighting_efficiency_lumen"]
57 use_cond.use_maintained_illuminance = conditions_bind[zone_usage]["use_maintained_illuminance"]
59 use_cond.use_constant_infiltration = conditions_bind[zone_usage][
60 "use_constant_infiltration"
61 ]
62 use_cond.base_infiltration = conditions_bind[zone_usage][
63 "base_infiltration"
64 ]
65 use_cond.max_user_infiltration = conditions_bind[zone_usage][
66 "max_user_infiltration"
67 ]
68 use_cond.max_overheating_infiltration = conditions_bind[zone_usage][
69 "max_overheating_infiltration"
70 ]
71 use_cond.max_summer_infiltration = conditions_bind[zone_usage][
72 "max_summer_infiltration"
73 ]
74 use_cond.winter_reduction_infiltration = conditions_bind[zone_usage][
75 "winter_reduction_infiltration"
76 ]
77 use_cond.min_ahu = conditions_bind[zone_usage]["min_ahu"]
78 use_cond.max_ahu = conditions_bind[zone_usage]["max_ahu"]
79 use_cond.with_ahu = conditions_bind[zone_usage]["with_ahu"]
80 use_cond.heating_profile = conditions_bind[zone_usage]["heating_profile"]
81 use_cond.cooling_profile = conditions_bind[zone_usage]["cooling_profile"]
82 use_cond.persons_profile = conditions_bind[zone_usage]["persons_profile"]
83 use_cond.machines_profile = conditions_bind[zone_usage]["machines_profile"]
84 use_cond.lighting_profile = conditions_bind[zone_usage]["lighting_profile"]
85 use_cond.with_ideal_thresholds = conditions_bind[zone_usage][
86 "with_ideal_thresholds"
87 ]