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

1"""This module contains function to load UseConditions classes.""" 

2 

3 

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. 

8 

9 Parameters 

10 ---------- 

11 use_cond : UseConditions() 

12 Instance of TEASERs 

13 BuildingObjects.UseConditions 

14 

15 zone_usage : str 

16 code list for zone_usage according to 18599 

17 

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. 

22 

23 """ 

24 conditions_bind = data_class.conditions_bind 

25 

26 use_cond.usage = zone_usage 

27 

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 ] 

51 

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"] 

58 

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 ]