Coverage for bim2sim/plugins/PluginTEASER/bim2sim_teaser/sim_settings.py: 0%

6 statements  

« prev     ^ index     » next       coverage.py v7.6.12, created at 2025-03-12 17:09 +0000

1from bim2sim.sim_settings import BuildingSimSettings, ChoiceSetting, \ 

2 PathSetting 

3from bim2sim.utilities.types import LOD, ZoningCriteria 

4 

5 

6class TEASERSimSettings(BuildingSimSettings): 

7 """Defines simulation settings for TEASER Plugin. 

8 

9 This class defines the simulation settings for the TEASER Plugin. It 

10 inherits all choices from the BuildingSimulation settings. TEASER 

11 specific settings are added here. 

12 """ 

13 sim_results = ChoiceSetting( 

14 default=[ 

15 "heat_demand_total", "cool_demand_total", 

16 "heat_demand_rooms", "cool_demand_rooms", 

17 "heat_energy_total", "cool_energy_total", 

18 "heat_energy_rooms", "cool_energy_rooms", 

19 "air_temp_out", "operative_temp_rooms", "air_temp_rooms", 

20 "internal_gains_machines_rooms", "internal_gains_persons_rooms", 

21 "internal_gains_lights_rooms", "n_persons_rooms", 

22 "infiltration_rooms", "mech_ventilation_rooms", 

23 "heat_set_rooms", "cool_set_rooms", "cpu_time" 

24 

25 ], 

26 choices={ 

27 "heat_demand_total": 

28 "Total heating demand (power) as time series data", 

29 "cool_demand_total": 

30 "Total cooling demand (power) as time series data", 

31 "heat_demand_rooms": 

32 "Zone based heating demand (power) as time series data", 

33 "cool_demand_rooms": 

34 "Zone based cooling demand (power) as time series data", 

35 "heat_energy_total": 

36 "Total heating energy as time series data", 

37 "cool_energy_total": 

38 "Total cooling energy as time series data", 

39 "heat_energy_rooms": 

40 "Zone based heating energy as time series data", 

41 "cool_energy_rooms": 

42 "Zone cooling heating energy as time series data", 

43 "air_temp_out": 

44 "Outdoor air temperature as time series data", 

45 "operative_temp_rooms": 

46 "Zone based operative temperature as time series data", 

47 "air_temp_rooms": 

48 "Zone based indoor air temperature as time series data", 

49 "internal_gains_machines_rooms": 

50 "Internal gains through machines in W as time series data", 

51 "internal_gains_persons_rooms": 

52 "Internal gains through persons in W as time series data", 

53 "internal_gains_lights_rooms": 

54 "Internal gains through lights in W as time series data", 

55 "n_persons_rooms": 

56 "Total amount of occupying persons as time series data", 

57 "infiltration_rooms": 

58 "Infiltration into room in 1/h as time series data", 

59 "mech_ventilation_rooms": 

60 "Mechanical ventilation flow in m³/h as time series data", 

61 "heat_set_rooms": 

62 "Heating set point in °C time series data", 

63 "cool_set_rooms": 

64 "Cooling set point in °C time series data", 

65 "cpu_time": "Computational time taken for simulation." 

66 }, 

67 multiple_choice=True, 

68 ) 

69 

70 zoning_criteria = ChoiceSetting( 

71 default=ZoningCriteria.individual_spaces, 

72 choices={ 

73 ZoningCriteria.external: 

74 'Group all thermal zones that have contact to the exterior' 

75 ' together and all thermal zones that do not have contact to' 

76 ' exterior.', 

77 ZoningCriteria.external_orientation: 

78 'Like external, but takes orientation ' 

79 '(North, East, South, West)' 

80 ' into account as well', 

81 ZoningCriteria.usage: 

82 'Group all thermal zones that have the same usage.', 

83 ZoningCriteria.external_orientation_usage: 

84 'Combines grouping based on exterior contact, ' 

85 'orientation, and usage.', 

86 ZoningCriteria.all_criteria: 

87 'Uses all criteria including exterior contact, orientation, ' 

88 'usage, glass percentage, and only groups physically adjacent ' 

89 'rooms.', 

90 ZoningCriteria.individual_spaces: 

91 'Creates individual thermal zones for each space.', 

92 ZoningCriteria.combined_single_zone: 

93 'Combines all spaces into a single thermal zone.' 

94 }, 

95 for_frontend=True 

96 ) 

97 

98 path_aixlib = PathSetting( 

99 default=None, 

100 description='Path to the local AixLib`s repository. This needs to ' 

101 'point to the root level package.mo file. If not' 

102 ' provided, the version for regression testing will be ' 

103 'used if it was already downloaded using the ' 

104 'prepare_regression_tests.py script.', 

105 for_frontend=False, 

106 mandatory=False 

107 )