Components
Space Use#
Space use components for the SBEM library..
EquipmentComponent
#
Bases: NamedObject
, MetadataMixin
An equipment object in the SBEM library.
Source code in epinterface\sbem\components\space_use.py
160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 |
|
add_equipment_to_idf_zone(idf, target_zone_or_zone_list_name)
#
Add equipment to an IDF zone.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
idf
|
IDF
|
The IDF object to add the equipment to. |
required |
target_zone_or_zone_list_name
|
str
|
The name of the zone or zone list to add the equipment to. |
required |
Returns:
Name | Type | Description |
---|---|---|
IDF |
IDF
|
The updated IDF object. |
Source code in epinterface\sbem\components\space_use.py
169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 |
|
LightingComponent
#
Bases: NamedObject
, MetadataMixin
A lighting object in the SBEM library.
Source code in epinterface\sbem\components\space_use.py
101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 |
|
add_lights_to_idf_zone(idf, target_zone_or_zone_list_name)
#
Add lights to an IDF zone.
Note that this makes some assumptions about the fraction visible/radiant/replaceable.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
idf
|
IDF
|
The IDF object to add the lights to. |
required |
target_zone_or_zone_list_name
|
str
|
The name of the zone or zone list to add the lights to. |
required |
Returns:
Name | Type | Description |
---|---|---|
IDF |
IDF
|
The updated IDF object. |
Source code in epinterface\sbem\components\space_use.py
117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 |
|
OccupancyComponent
#
Bases: NamedObject
, MetadataMixin
An occupancy object in the SBEM library.
Source code in epinterface\sbem\components\space_use.py
21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 |
|
MetabolicRate_met_to_W
property
#
Get the metabolic rate in Watts.
add_people_to_idf_zone(idf, target_zone_or_zone_list_name)
#
Add people to an IDF zone.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
idf
|
IDF
|
The IDF object to add the people to. |
required |
target_zone_or_zone_list_name
|
str
|
The name of the zone or zone list to add the people to. |
required |
Returns:
Name | Type | Description |
---|---|---|
IDF |
IDF
|
The updated IDF object. |
Source code in epinterface\sbem\components\space_use.py
43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 |
|
ThermostatComponent
#
Bases: NamedObject
, MetadataMixin
A thermostat object in the SBEM library.
Source code in epinterface\sbem\components\space_use.py
203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 |
|
add_thermostat_to_idf_zone(idf, target_zone_or_zone_list_name)
#
Add thermostat settings to an IDF zone.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
idf
|
IDF
|
The IDF object to add the thermostat settings to. |
required |
target_zone_or_zone_list_name
|
str
|
The name of the zone or zone list to add the thermostat settings to. |
required |
Returns:
Name | Type | Description |
---|---|---|
IDF |
IDF
|
The updated IDF object. |
Source code in epinterface\sbem\components\space_use.py
218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 |
|
WaterUseComponent
#
Bases: NamedObject
, MetadataMixin
A water use object in the SBEM library.
Source code in epinterface\sbem\components\space_use.py
238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 |
|
schedule_names: set[str]
property
#
Get the schedule names used in the object.
Returns:
Type | Description |
---|---|
set[str]
|
set[str]: The schedule names. |
ZoneSpaceUseComponent
#
Bases: NamedObject
, MetadataMixin
Space use object.
Source code in epinterface\sbem\components\space_use.py
257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 |
|
add_loads_to_idf_zone(idf, target_zone_name)
#
Add the loads to an IDF zone.
This will add the people, equipment, and lights to the zone.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
idf
|
IDF
|
The IDF object to add the loads to. |
required |
target_zone_name
|
str
|
The name of the zone to add the loads to. |
required |
Returns:
Name | Type | Description |
---|---|---|
IDF |
IDF
|
The updated IDF object. |
Source code in epinterface\sbem\components\space_use.py
267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 |
|
Systems#
Systems components for the SBEM library.
ConditioningSystemsComponent
#
Bases: NamedObject
, MetadataMixin
A conditioning system object in the SBEM library.
Source code in epinterface\sbem\components\systems.py
101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 |
|
validate_conditioning_types()
#
Validate that the conditioning types are correct.
Cannot have a heating system assigned to a cooling system and vice versa.
Source code in epinterface\sbem\components\systems.py
107 108 109 110 111 112 113 114 115 116 117 118 119 120 |
|
DHWComponent
#
Bases: NamedObject
, MetadataMixin
Domestic Hot Water object.
Source code in epinterface\sbem\components\systems.py
176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 |
|
effective_system_cop: float
property
#
Compute the effective system COP based on the system and distribution COPs.
Returns:
Name | Type | Description |
---|---|---|
cop |
float
|
The effective system COP. |
add_water_to_idf_zone(idf, target_zone_name, total_ppl)
#
Add the hot water to an IDF zone.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
idf
|
IDF
|
The IDF object to add the hot water to. |
required |
target_zone_name
|
str
|
The name of the zone to add the hot water to. |
required |
total_ppl
|
float
|
The total number of people in the zone. |
required |
Returns:
Name | Type | Description |
---|---|---|
IDF |
IDF
|
The updated IDF object. |
Source code in epinterface\sbem\components\systems.py
219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 |
|
validate_supply_greater_than_inlet()
#
Validate that the supply temperature is greater than the inlet temperature.
Source code in epinterface\sbem\components\systems.py
211 212 213 214 215 216 217 |
|
ThermalSystemComponent
#
Bases: NamedObject
, MetadataMixin
A thermal system object in the SBEM library.
Source code in epinterface\sbem\components\systems.py
31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 |
|
CoolingSystemType: CoolingSystemType
property
#
Compute the cooling system type based on the system COP.
Returns:
Name | Type | Description |
---|---|---|
cooling_system_type |
CoolingSystemType
|
The cooling system type. |
DistributionType: DistributionType
property
#
Compute the distribution type based on the system COP.
Returns:
Name | Type | Description |
---|---|---|
distribution_type |
DistributionType
|
The distribution type. |
HeatingSystemType: HeatingSystemType
property
#
Compute the heating system type based on the system COP.
Returns:
Name | Type | Description |
---|---|---|
heating_system_type |
HeatingSystemType
|
The heating system type. |
effective_system_cop: float
property
#
Compute the effective system COP based on the system and distribution COPs.
Returns:
Name | Type | Description |
---|---|---|
cop |
float
|
The effective system COP. |
VentilationComponent
#
Bases: NamedObject
, MetadataMixin
A ventilation object in the SBEM library.
Source code in epinterface\sbem\components\systems.py
127 128 129 130 131 132 133 134 135 136 137 138 |
|
ZoneHVACComponent
#
Bases: NamedObject
, MetadataMixin
Conditioning object in the SBEM library.
Source code in epinterface\sbem\components\systems.py
141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 |
|
Ventilation: VentilationComponent
instance-attribute
#
Zone conditioning object.
add_conditioning_to_idf_zone(idf, target_zone_name)
#
Add conditioning to an IDF zone.
This constructs HVAC template objects which get assigned to the zone.
NB: currently, many of the climate studio parameters are ignored - particularly the ones related to humidity control.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
idf
|
IDF
|
The IDF object to add the conditioning to. |
required |
target_zone_name
|
str
|
The name of the zone to add the conditioning to. |
required |
Returns:
Name | Type | Description |
---|---|---|
IDF |
IDF
|
The updated IDF object. |
Source code in epinterface\sbem\components\systems.py
153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 |
|
Operations#
Operations components for the SBEM library.
ZoneOperationsComponent
#
Bases: NamedObject
, MetadataMixin
Zone use consolidation across space use, HVAC, DHW.
Source code in epinterface\sbem\components\operations.py
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
|
add_operations_to_idf_zone(idf, target_zone_name, zone_area)
#
Add an entire operations component and its subchildren to an IDF zone.
NB: the area is required because DHW needs it when computing flow rates.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
idf
|
IDF
|
The IDF object to add the operations to. |
required |
target_zone_name
|
str
|
The name of the zone to add the operations to. |
required |
zone_area
|
float
|
The area of the zone. |
required |
Returns:
Name | Type | Description |
---|---|---|
idf |
IDF
|
The updated IDF object. |
Source code in epinterface\sbem\components\operations.py
21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
|
Envelope#
Envelope components for the SBEM library.
ConstructionAssemblyComponent
#
Bases: NamedObject
, MetadataMixin
Opaque construction object.
Source code in epinterface\sbem\components\envelope.py
182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 |
|
reversed
property
#
Return a reversed version of the construction.
sorted_layers
property
#
Return the layers of the construction sorted by layer order.
add_to_idf(idf)
#
Adds an opaque construction to an IDF object.
Note that this will add the individual materials as well.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
idf
|
IDF
|
The IDF object to add the construction to. |
required |
Returns:
Name | Type | Description |
---|---|---|
idf |
IDF
|
The updated IDF object. |
Source code in epinterface\sbem\components\envelope.py
212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 |
|
validate_layers(v)
#
Validate the layers of the construction.
Source code in epinterface\sbem\components\envelope.py
199 200 201 202 203 204 205 206 207 208 209 210 |
|
ConstructionLayerComponent
#
Bases: BaseModel
Layer of an opaque construction.
Source code in epinterface\sbem\components\envelope.py
154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 |
|
EnvelopeAssemblyComponent
#
Bases: NamedObject
, MetadataMixin
Zone construction object.
Source code in epinterface\sbem\components\envelope.py
248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 |
|
validate_internal_mass_exposed_area_per_area()
#
Validate that either both internal mass assembly and internal mass exposed area are provided, or neither.
Source code in epinterface\sbem\components\envelope.py
290 291 292 293 294 295 296 297 298 299 300 301 302 |
|
GlazingConstructionSimpleComponent
#
Bases: NamedObject
, StandardMaterialMetadataMixin
, MetadataMixin
Glazing construction object.
Source code in epinterface\sbem\components\envelope.py
26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 |
|
add_to_idf(idf)
#
Adds the glazing construction to an IDF object.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
idf
|
IDF
|
The IDF object to add the construction to. |
required |
Returns:
Name | Type | Description |
---|---|---|
IDF |
IDF
|
The updated IDF object. |
Source code in epinterface\sbem\components\envelope.py
43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 |
|
InfiltrationComponent
#
Bases: NamedObject
, MetadataMixin
Zone infiltration object.
Source code in epinterface\sbem\components\envelope.py
68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 |
|
add_infiltration_to_idf_zone(idf, target_zone_or_zone_list_name)
#
Add infiltration to an IDF zone.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
idf
|
IDF
|
The IDF object to add the infiltration to. |
required |
target_zone_or_zone_list_name
|
str
|
The name of the zone or zone list to add the infiltration to. |
required |
Returns:
Name | Type | Description |
---|---|---|
idf |
IDF
|
The updated IDF object. |
Source code in epinterface\sbem\components\envelope.py
113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 |
|
ZoneEnvelopeComponent
#
Bases: NamedObject
, MetadataMixin
Zone envelope object.
Source code in epinterface\sbem\components\envelope.py
305 306 307 308 309 310 |
|
Materials#
Materials for the SBEM library.
CommonMaterialPropertiesMixin
#
Bases: BaseModel
Common material properties for glazing and opaque materials.
Source code in epinterface\sbem\components\materials.py
36 37 38 39 40 41 42 43 44 45 46 47 48 |
|
ConstructionMaterialComponent
#
Bases: ConstructionMaterialProperties
, StandardMaterialMetadataMixin
, NamedObject
, MetadataMixin
Construction material object.
Source code in epinterface\sbem\components\materials.py
124 125 126 127 128 129 130 131 132 133 |
|
ConstructionMaterialProperties
#
Bases: CommonMaterialPropertiesMixin
Properties of an opaque material.
Source code in epinterface\sbem\components\materials.py
82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 |
|
EnvironmentalMixin
#
Bases: BaseModel
Environmental data for a SBEM template table object.
Source code in epinterface\sbem\components\materials.py
11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
|
StandardMaterialMetadataMixin
#
Bases: EnvironmentalMixin
, MetadataMixin
Standard metadata for a SBEM data.
Source code in epinterface\sbem\components\materials.py
29 30 31 32 |
|
Schedules#
This module contains the definitions for the schedules.
DayComponent
#
Bases: NamedObject
A day of the week with a schedule type limit and a list of values.
Source code in epinterface\sbem\components\schedules.py
40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 |
|
Values: list[float]
property
#
Get the values of the day as a list.
add_day_to_idf(idf, name_prefix)
#
Add the day to the IDF.
The name prefix can be used to scope the schedule creation to ensure a unique schedule per object.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
idf
|
IDF
|
The IDF object to add the day to. |
required |
name_prefix
|
str | None
|
The prefix to use for the schedule name. |
required |
Returns:
Name | Type | Description |
---|---|---|
idf |
IDF
|
The IDF object with the day added. |
day_name |
str
|
The name of the day schedule. |
Source code in epinterface\sbem\components\schedules.py
110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 |
|
validate_values()
#
Validate the values of the day are consistent with the schedule type limit.
Source code in epinterface\sbem\components\schedules.py
101 102 103 104 105 106 107 108 |
|
WeekComponent
#
Bases: NamedObject
A week with a list of days.
Source code in epinterface\sbem\components\schedules.py
157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 |
|
Days: list[DayComponent]
property
#
Get the days of the week as a list.
Type: ScheduleTypeLimitType
property
#
Get the type limit of the week.
add_week_to_idf(idf, name_prefix)
#
Add the week to the IDF.
The name prefix can be used to scope the schedule creation to ensure a unique schedule per object.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
idf
|
IDF
|
The IDF object to add the week to. |
required |
name_prefix
|
str | None
|
The prefix to use for the schedule name. |
required |
Returns:
Name | Type | Description |
---|---|---|
idf |
IDF
|
The IDF object with the week added. |
week_name |
str
|
The name of the week schedule. |
Source code in epinterface\sbem\components\schedules.py
191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 |
|
validate_type_limits_are_consistent()
#
Validate that the type limits are consistent.
Source code in epinterface\sbem\components\schedules.py
168 169 170 171 172 173 174 175 176 |
|
YearComponent
#
Bases: NamedObject
A year with a schedule type limit and a list of repeated weeks.
Source code in epinterface\sbem\components\schedules.py
282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 |
|
Weeks: list[WeekComponent]
property
#
Get the weeks of the year as a list.
schedule_type_limits
property
#
Get the schedule type limits for the year.
add_year_to_idf(idf, name_prefix=None)
#
Add the year to the IDF.
The name prefix can be used to scope the schedule creation to ensure a unique schedule per object.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
idf
|
IDF
|
The IDF object to add the year to. |
required |
name_prefix
|
str | None
|
The prefix to use for the schedule name. |
None
|
Returns:
Name | Type | Description |
---|---|---|
idf |
IDF
|
The IDF object with the year added. |
year_name |
str
|
The name of the year schedule. |
Source code in epinterface\sbem\components\schedules.py
335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 |
|
check_weeks_have_consistent_type()
#
Check that the weeks have a consistent type.
Source code in epinterface\sbem\components\schedules.py
319 320 321 322 323 324 325 326 327 328 |
|
Zones#
Zone components.
ZoneComponent
#
Bases: NamedObject
Zone definition.
Source code in epinterface\sbem\components\zones.py
10 11 12 13 14 15 16 17 18 19 |
|
add_to_idf_zone(idf, zone_name)
#
Add the zone to the IDF.
Source code in epinterface\sbem\components\zones.py
16 17 18 19 |
|