bim2sim.elements.aggregation package

Package holds aggregations. Those aggregate multiple elements to one element. E.g. multiple thermal zones into one thermal zone

class bim2sim.elements.aggregation.AggregationMixin(elements: Sequence[ProductBased], *args, **kwargs)

Bases: object

aggregatable_classes: Set[ProductBased] = {}
calc_position()

Position based on first and last element

guid_prefix = 'Agg'
multi = ()
source_info() str

Submodules

bim2sim.elements.aggregation.bps_aggregations module

class bim2sim.elements.aggregation.bps_aggregations.AggregatedThermalZone(elements, *args, **kwargs)

Bases: AggregationMixin, ThermalZone

Aggregates thermal zones

AreaPerOccupant

Descriptor of element attribute to get its value from various sources.

value and status of attribute are stored in __dict__ of bound instance. Possible statuses are:

UNKNOWN: default status at the beginning. REQUESTED: Attribute was already requested via a decision??. AVAILABLE: Attribute exists and is available. NOT_AVAILABLE: No way was found to obtain the attributes value.

To find more about Descriptor objects follow the explanations on https://rszalski.github.io/magicmethods/#descriptor

T_threshold_cooling

Descriptor of element attribute to get its value from various sources.

value and status of attribute are stored in __dict__ of bound instance. Possible statuses are:

UNKNOWN: default status at the beginning. REQUESTED: Attribute was already requested via a decision??. AVAILABLE: Attribute exists and is available. NOT_AVAILABLE: No way was found to obtain the attributes value.

To find more about Descriptor objects follow the explanations on https://rszalski.github.io/magicmethods/#descriptor

T_threshold_heating

Descriptor of element attribute to get its value from various sources.

value and status of attribute are stored in __dict__ of bound instance. Possible statuses are:

UNKNOWN: default status at the beginning. REQUESTED: Attribute was already requested via a decision??. AVAILABLE: Attribute exists and is available. NOT_AVAILABLE: No way was found to obtain the attributes value.

To find more about Descriptor objects follow the explanations on https://rszalski.github.io/magicmethods/#descriptor

activity_degree_persons

Descriptor of element attribute to get its value from various sources.

value and status of attribute are stored in __dict__ of bound instance. Possible statuses are:

UNKNOWN: default status at the beginning. REQUESTED: Attribute was already requested via a decision??. AVAILABLE: Attribute exists and is available. NOT_AVAILABLE: No way was found to obtain the attributes value.

To find more about Descriptor objects follow the explanations on https://rszalski.github.io/magicmethods/#descriptor

aggregatable_elements = {<class 'bim2sim.elements.bps_elements.ThermalZone'>}
bind_elements()

elements binder for the resultant thermal zone

bind_tz_to_building()
bind_tz_to_storeys()
cooling_profile

Descriptor of element attribute to get its value from various sources.

value and status of attribute are stored in __dict__ of bound instance. Possible statuses are:

UNKNOWN: default status at the beginning. REQUESTED: Attribute was already requested via a decision??. AVAILABLE: Attribute exists and is available. NOT_AVAILABLE: No way was found to obtain the attributes value.

To find more about Descriptor objects follow the explanations on https://rszalski.github.io/magicmethods/#descriptor

classmethod create_aggregated_tz(name, group, group_elements, elements)
classmethod find_matches(groups, elements)

creates a new thermal zone aggregation instance based on a previous filtering

fixed_heat_flow_rate_persons

Descriptor of element attribute to get its value from various sources.

value and status of attribute are stored in __dict__ of bound instance. Possible statuses are:

UNKNOWN: default status at the beginning. REQUESTED: Attribute was already requested via a decision??. AVAILABLE: Attribute exists and is available. NOT_AVAILABLE: No way was found to obtain the attributes value.

To find more about Descriptor objects follow the explanations on https://rszalski.github.io/magicmethods/#descriptor

gross_area

Descriptor of element attribute to get its value from various sources.

value and status of attribute are stored in __dict__ of bound instance. Possible statuses are:

UNKNOWN: default status at the beginning. REQUESTED: Attribute was already requested via a decision??. AVAILABLE: Attribute exists and is available. NOT_AVAILABLE: No way was found to obtain the attributes value.

To find more about Descriptor objects follow the explanations on https://rszalski.github.io/magicmethods/#descriptor

gross_volume

Descriptor of element attribute to get its value from various sources.

value and status of attribute are stored in __dict__ of bound instance. Possible statuses are:

UNKNOWN: default status at the beginning. REQUESTED: Attribute was already requested via a decision??. AVAILABLE: Attribute exists and is available. NOT_AVAILABLE: No way was found to obtain the attributes value.

To find more about Descriptor objects follow the explanations on https://rszalski.github.io/magicmethods/#descriptor

heating_profile

Descriptor of element attribute to get its value from various sources.

value and status of attribute are stored in __dict__ of bound instance. Possible statuses are:

UNKNOWN: default status at the beginning. REQUESTED: Attribute was already requested via a decision??. AVAILABLE: Attribute exists and is available. NOT_AVAILABLE: No way was found to obtain the attributes value.

To find more about Descriptor objects follow the explanations on https://rszalski.github.io/magicmethods/#descriptor

height

Descriptor of element attribute to get its value from various sources.

value and status of attribute are stored in __dict__ of bound instance. Possible statuses are:

UNKNOWN: default status at the beginning. REQUESTED: Attribute was already requested via a decision??. AVAILABLE: Attribute exists and is available. NOT_AVAILABLE: No way was found to obtain the attributes value.

To find more about Descriptor objects follow the explanations on https://rszalski.github.io/magicmethods/#descriptor

infiltration_rate

Descriptor of element attribute to get its value from various sources.

value and status of attribute are stored in __dict__ of bound instance. Possible statuses are:

UNKNOWN: default status at the beginning. REQUESTED: Attribute was already requested via a decision??. AVAILABLE: Attribute exists and is available. NOT_AVAILABLE: No way was found to obtain the attributes value.

To find more about Descriptor objects follow the explanations on https://rszalski.github.io/magicmethods/#descriptor

internal_gains_moisture_no_people

Descriptor of element attribute to get its value from various sources.

value and status of attribute are stored in __dict__ of bound instance. Possible statuses are:

UNKNOWN: default status at the beginning. REQUESTED: Attribute was already requested via a decision??. AVAILABLE: Attribute exists and is available. NOT_AVAILABLE: No way was found to obtain the attributes value.

To find more about Descriptor objects follow the explanations on https://rszalski.github.io/magicmethods/#descriptor

key: str = 'BPS-AggregatedThermalZone'
lighting_power

Descriptor of element attribute to get its value from various sources.

value and status of attribute are stored in __dict__ of bound instance. Possible statuses are:

UNKNOWN: default status at the beginning. REQUESTED: Attribute was already requested via a decision??. AVAILABLE: Attribute exists and is available. NOT_AVAILABLE: No way was found to obtain the attributes value.

To find more about Descriptor objects follow the explanations on https://rszalski.github.io/magicmethods/#descriptor

lighting_profile

Descriptor of element attribute to get its value from various sources.

value and status of attribute are stored in __dict__ of bound instance. Possible statuses are:

UNKNOWN: default status at the beginning. REQUESTED: Attribute was already requested via a decision??. AVAILABLE: Attribute exists and is available. NOT_AVAILABLE: No way was found to obtain the attributes value.

To find more about Descriptor objects follow the explanations on https://rszalski.github.io/magicmethods/#descriptor

machines

Descriptor of element attribute to get its value from various sources.

value and status of attribute are stored in __dict__ of bound instance. Possible statuses are:

UNKNOWN: default status at the beginning. REQUESTED: Attribute was already requested via a decision??. AVAILABLE: Attribute exists and is available. NOT_AVAILABLE: No way was found to obtain the attributes value.

To find more about Descriptor objects follow the explanations on https://rszalski.github.io/magicmethods/#descriptor

machines_profile

Descriptor of element attribute to get its value from various sources.

value and status of attribute are stored in __dict__ of bound instance. Possible statuses are:

UNKNOWN: default status at the beginning. REQUESTED: Attribute was already requested via a decision??. AVAILABLE: Attribute exists and is available. NOT_AVAILABLE: No way was found to obtain the attributes value.

To find more about Descriptor objects follow the explanations on https://rszalski.github.io/magicmethods/#descriptor

max_ahu

Descriptor of element attribute to get its value from various sources.

value and status of attribute are stored in __dict__ of bound instance. Possible statuses are:

UNKNOWN: default status at the beginning. REQUESTED: Attribute was already requested via a decision??. AVAILABLE: Attribute exists and is available. NOT_AVAILABLE: No way was found to obtain the attributes value.

To find more about Descriptor objects follow the explanations on https://rszalski.github.io/magicmethods/#descriptor

max_overheating_infiltration

Descriptor of element attribute to get its value from various sources.

value and status of attribute are stored in __dict__ of bound instance. Possible statuses are:

UNKNOWN: default status at the beginning. REQUESTED: Attribute was already requested via a decision??. AVAILABLE: Attribute exists and is available. NOT_AVAILABLE: No way was found to obtain the attributes value.

To find more about Descriptor objects follow the explanations on https://rszalski.github.io/magicmethods/#descriptor

max_summer_infiltration

Descriptor of element attribute to get its value from various sources.

value and status of attribute are stored in __dict__ of bound instance. Possible statuses are:

UNKNOWN: default status at the beginning. REQUESTED: Attribute was already requested via a decision??. AVAILABLE: Attribute exists and is available. NOT_AVAILABLE: No way was found to obtain the attributes value.

To find more about Descriptor objects follow the explanations on https://rszalski.github.io/magicmethods/#descriptor

max_user_infiltration

Descriptor of element attribute to get its value from various sources.

value and status of attribute are stored in __dict__ of bound instance. Possible statuses are:

UNKNOWN: default status at the beginning. REQUESTED: Attribute was already requested via a decision??. AVAILABLE: Attribute exists and is available. NOT_AVAILABLE: No way was found to obtain the attributes value.

To find more about Descriptor objects follow the explanations on https://rszalski.github.io/magicmethods/#descriptor

min_ahu

Descriptor of element attribute to get its value from various sources.

value and status of attribute are stored in __dict__ of bound instance. Possible statuses are:

UNKNOWN: default status at the beginning. REQUESTED: Attribute was already requested via a decision??. AVAILABLE: Attribute exists and is available. NOT_AVAILABLE: No way was found to obtain the attributes value.

To find more about Descriptor objects follow the explanations on https://rszalski.github.io/magicmethods/#descriptor

net_area

Descriptor of element attribute to get its value from various sources.

value and status of attribute are stored in __dict__ of bound instance. Possible statuses are:

UNKNOWN: default status at the beginning. REQUESTED: Attribute was already requested via a decision??. AVAILABLE: Attribute exists and is available. NOT_AVAILABLE: No way was found to obtain the attributes value.

To find more about Descriptor objects follow the explanations on https://rszalski.github.io/magicmethods/#descriptor

net_volume

Descriptor of element attribute to get its value from various sources.

value and status of attribute are stored in __dict__ of bound instance. Possible statuses are:

UNKNOWN: default status at the beginning. REQUESTED: Attribute was already requested via a decision??. AVAILABLE: Attribute exists and is available. NOT_AVAILABLE: No way was found to obtain the attributes value.

To find more about Descriptor objects follow the explanations on https://rszalski.github.io/magicmethods/#descriptor

persons

Descriptor of element attribute to get its value from various sources.

value and status of attribute are stored in __dict__ of bound instance. Possible statuses are:

UNKNOWN: default status at the beginning. REQUESTED: Attribute was already requested via a decision??. AVAILABLE: Attribute exists and is available. NOT_AVAILABLE: No way was found to obtain the attributes value.

To find more about Descriptor objects follow the explanations on https://rszalski.github.io/magicmethods/#descriptor

persons_profile

Descriptor of element attribute to get its value from various sources.

value and status of attribute are stored in __dict__ of bound instance. Possible statuses are:

UNKNOWN: default status at the beginning. REQUESTED: Attribute was already requested via a decision??. AVAILABLE: Attribute exists and is available. NOT_AVAILABLE: No way was found to obtain the attributes value.

To find more about Descriptor objects follow the explanations on https://rszalski.github.io/magicmethods/#descriptor

ratio_conv_rad_lighting

Descriptor of element attribute to get its value from various sources.

value and status of attribute are stored in __dict__ of bound instance. Possible statuses are:

UNKNOWN: default status at the beginning. REQUESTED: Attribute was already requested via a decision??. AVAILABLE: Attribute exists and is available. NOT_AVAILABLE: No way was found to obtain the attributes value.

To find more about Descriptor objects follow the explanations on https://rszalski.github.io/magicmethods/#descriptor

ratio_conv_rad_machines

Descriptor of element attribute to get its value from various sources.

value and status of attribute are stored in __dict__ of bound instance. Possible statuses are:

UNKNOWN: default status at the beginning. REQUESTED: Attribute was already requested via a decision??. AVAILABLE: Attribute exists and is available. NOT_AVAILABLE: No way was found to obtain the attributes value.

To find more about Descriptor objects follow the explanations on https://rszalski.github.io/magicmethods/#descriptor

ratio_conv_rad_persons

Descriptor of element attribute to get its value from various sources.

value and status of attribute are stored in __dict__ of bound instance. Possible statuses are:

UNKNOWN: default status at the beginning. REQUESTED: Attribute was already requested via a decision??. AVAILABLE: Attribute exists and is available. NOT_AVAILABLE: No way was found to obtain the attributes value.

To find more about Descriptor objects follow the explanations on https://rszalski.github.io/magicmethods/#descriptor

t_ground

Descriptor of element attribute to get its value from various sources.

value and status of attribute are stored in __dict__ of bound instance. Possible statuses are:

UNKNOWN: default status at the beginning. REQUESTED: Attribute was already requested via a decision??. AVAILABLE: Attribute exists and is available. NOT_AVAILABLE: No way was found to obtain the attributes value.

To find more about Descriptor objects follow the explanations on https://rszalski.github.io/magicmethods/#descriptor

t_set_cool

Descriptor of element attribute to get its value from various sources.

value and status of attribute are stored in __dict__ of bound instance. Possible statuses are:

UNKNOWN: default status at the beginning. REQUESTED: Attribute was already requested via a decision??. AVAILABLE: Attribute exists and is available. NOT_AVAILABLE: No way was found to obtain the attributes value.

To find more about Descriptor objects follow the explanations on https://rszalski.github.io/magicmethods/#descriptor

t_set_heat

Descriptor of element attribute to get its value from various sources.

value and status of attribute are stored in __dict__ of bound instance. Possible statuses are:

UNKNOWN: default status at the beginning. REQUESTED: Attribute was already requested via a decision??. AVAILABLE: Attribute exists and is available. NOT_AVAILABLE: No way was found to obtain the attributes value.

To find more about Descriptor objects follow the explanations on https://rszalski.github.io/magicmethods/#descriptor

typical_length

Descriptor of element attribute to get its value from various sources.

value and status of attribute are stored in __dict__ of bound instance. Possible statuses are:

UNKNOWN: default status at the beginning. REQUESTED: Attribute was already requested via a decision??. AVAILABLE: Attribute exists and is available. NOT_AVAILABLE: No way was found to obtain the attributes value.

To find more about Descriptor objects follow the explanations on https://rszalski.github.io/magicmethods/#descriptor

typical_width

Descriptor of element attribute to get its value from various sources.

value and status of attribute are stored in __dict__ of bound instance. Possible statuses are:

UNKNOWN: default status at the beginning. REQUESTED: Attribute was already requested via a decision??. AVAILABLE: Attribute exists and is available. NOT_AVAILABLE: No way was found to obtain the attributes value.

To find more about Descriptor objects follow the explanations on https://rszalski.github.io/magicmethods/#descriptor

usage

Descriptor of element attribute to get its value from various sources.

value and status of attribute are stored in __dict__ of bound instance. Possible statuses are:

UNKNOWN: default status at the beginning. REQUESTED: Attribute was already requested via a decision??. AVAILABLE: Attribute exists and is available. NOT_AVAILABLE: No way was found to obtain the attributes value.

To find more about Descriptor objects follow the explanations on https://rszalski.github.io/magicmethods/#descriptor

use_constant_infiltration

Descriptor of element attribute to get its value from various sources.

value and status of attribute are stored in __dict__ of bound instance. Possible statuses are:

UNKNOWN: default status at the beginning. REQUESTED: Attribute was already requested via a decision??. AVAILABLE: Attribute exists and is available. NOT_AVAILABLE: No way was found to obtain the attributes value.

To find more about Descriptor objects follow the explanations on https://rszalski.github.io/magicmethods/#descriptor

winter_reduction_infiltration

Descriptor of element attribute to get its value from various sources.

value and status of attribute are stored in __dict__ of bound instance. Possible statuses are:

UNKNOWN: default status at the beginning. REQUESTED: Attribute was already requested via a decision??. AVAILABLE: Attribute exists and is available. NOT_AVAILABLE: No way was found to obtain the attributes value.

To find more about Descriptor objects follow the explanations on https://rszalski.github.io/magicmethods/#descriptor

with_ahu

Descriptor of element attribute to get its value from various sources.

value and status of attribute are stored in __dict__ of bound instance. Possible statuses are:

UNKNOWN: default status at the beginning. REQUESTED: Attribute was already requested via a decision??. AVAILABLE: Attribute exists and is available. NOT_AVAILABLE: No way was found to obtain the attributes value.

To find more about Descriptor objects follow the explanations on https://rszalski.github.io/magicmethods/#descriptor

with_cooling

Descriptor of element attribute to get its value from various sources.

value and status of attribute are stored in __dict__ of bound instance. Possible statuses are:

UNKNOWN: default status at the beginning. REQUESTED: Attribute was already requested via a decision??. AVAILABLE: Attribute exists and is available. NOT_AVAILABLE: No way was found to obtain the attributes value.

To find more about Descriptor objects follow the explanations on https://rszalski.github.io/magicmethods/#descriptor

with_heating

Descriptor of element attribute to get its value from various sources.

value and status of attribute are stored in __dict__ of bound instance. Possible statuses are:

UNKNOWN: default status at the beginning. REQUESTED: Attribute was already requested via a decision??. AVAILABLE: Attribute exists and is available. NOT_AVAILABLE: No way was found to obtain the attributes value.

To find more about Descriptor objects follow the explanations on https://rszalski.github.io/magicmethods/#descriptor

with_ideal_thresholds

Descriptor of element attribute to get its value from various sources.

value and status of attribute are stored in __dict__ of bound instance. Possible statuses are:

UNKNOWN: default status at the beginning. REQUESTED: Attribute was already requested via a decision??. AVAILABLE: Attribute exists and is available. NOT_AVAILABLE: No way was found to obtain the attributes value.

To find more about Descriptor objects follow the explanations on https://rszalski.github.io/magicmethods/#descriptor

class bim2sim.elements.aggregation.bps_aggregations.GroundFloorDisaggregated(disagg_parent: BPSProduct, sbs: list[SpaceBoundary], *args, **kwargs)

Bases: SBDisaggregationMixin, GroundFloor

disaggregatable_classes: Set['BPSProduct'] = {<class 'bim2sim.elements.bps_elements.GroundFloor'>, <class 'bim2sim.elements.bps_elements.InnerFloor'>, <class 'bim2sim.elements.bps_elements.Roof'>, <class 'bim2sim.elements.bps_elements.Slab'>}
key: str = 'BPS-GroundFloorDisaggregated'
class bim2sim.elements.aggregation.bps_aggregations.InnerDoorDisaggregated(disagg_parent: BPSProduct, sbs: list[SpaceBoundary], *args, **kwargs)

Bases: SBDisaggregationMixin, InnerDoor

disaggregatable_classes: Set['BPSProduct'] = {<class 'bim2sim.elements.bps_elements.Door'>, <class 'bim2sim.elements.bps_elements.InnerDoor'>, <class 'bim2sim.elements.bps_elements.OuterDoor'>}
key: str = 'BPS-InnerDoorDisaggregated'
class bim2sim.elements.aggregation.bps_aggregations.InnerFloorDisaggregated(disagg_parent: BPSProduct, sbs: list[SpaceBoundary], *args, **kwargs)

Bases: SBDisaggregationMixin, InnerFloor

disaggregatable_classes: Set['BPSProduct'] = {<class 'bim2sim.elements.bps_elements.GroundFloor'>, <class 'bim2sim.elements.bps_elements.InnerFloor'>, <class 'bim2sim.elements.bps_elements.Roof'>, <class 'bim2sim.elements.bps_elements.Slab'>}
key: str = 'BPS-InnerFloorDisaggregated'
class bim2sim.elements.aggregation.bps_aggregations.InnerWallDisaggregated(disagg_parent: BPSProduct, sbs: list[SpaceBoundary], *args, **kwargs)

Bases: SBDisaggregationMixin, InnerWall

disaggregatable_classes: Set['BPSProduct'] = {<class 'bim2sim.elements.bps_elements.InnerWall'>, <class 'bim2sim.elements.bps_elements.OuterWall'>, <class 'bim2sim.elements.bps_elements.Wall'>}
key: str = 'BPS-InnerWallDisaggregated'
class bim2sim.elements.aggregation.bps_aggregations.OuterDoorDisaggregated(disagg_parent: BPSProduct, sbs: list[SpaceBoundary], *args, **kwargs)

Bases: SBDisaggregationMixin, OuterDoor

disaggregatable_classes: Set['BPSProduct'] = {<class 'bim2sim.elements.bps_elements.Door'>, <class 'bim2sim.elements.bps_elements.InnerDoor'>, <class 'bim2sim.elements.bps_elements.OuterDoor'>}
key: str = 'BPS-OuterDoorDisaggregated'
class bim2sim.elements.aggregation.bps_aggregations.OuterWallDisaggregated(disagg_parent: BPSProduct, sbs: list[SpaceBoundary], *args, **kwargs)

Bases: SBDisaggregationMixin, OuterWall

disaggregatable_classes: Set['BPSProduct'] = {<class 'bim2sim.elements.bps_elements.InnerFloor'>, <class 'bim2sim.elements.bps_elements.InnerWall'>, <class 'bim2sim.elements.bps_elements.OuterWall'>, <class 'bim2sim.elements.bps_elements.Wall'>}
key: str = 'BPS-OuterWallDisaggregated'
class bim2sim.elements.aggregation.bps_aggregations.RoofDisaggregated(disagg_parent: BPSProduct, sbs: list[SpaceBoundary], *args, **kwargs)

Bases: SBDisaggregationMixin, Roof

disaggregatable_classes: Set['BPSProduct'] = {<class 'bim2sim.elements.bps_elements.GroundFloor'>, <class 'bim2sim.elements.bps_elements.InnerFloor'>, <class 'bim2sim.elements.bps_elements.Roof'>, <class 'bim2sim.elements.bps_elements.Slab'>}
key: str = 'BPS-RoofDisaggregated'
class bim2sim.elements.aggregation.bps_aggregations.SBDisaggregationMixin(disagg_parent: BPSProduct, sbs: list[SpaceBoundary], *args, **kwargs)

Bases: object

disaggregatable_classes: Set[BPSProduct] = {}
static get_id(prefix='')
guid_prefix = 'DisAgg_'
thermal_zones = []
class bim2sim.elements.aggregation.bps_aggregations.WindowDisaggregated(disagg_parent: BPSProduct, sbs: list[SpaceBoundary], *args, **kwargs)

Bases: SBDisaggregationMixin, Window

disaggregatable_classes: Set['BPSProduct'] = {<class 'bim2sim.elements.bps_elements.Window'>}
key: str = 'BPS-WindowDisaggregated'

bim2sim.elements.aggregation.hvac_aggregations module

class bim2sim.elements.aggregation.hvac_aggregations.Consumer(base_graph: Graph, match_graph: Graph, *args, **kwargs)

Bases: HVACAggregationMixin, HVACProduct

A class that aggregates a Consumer.

This class represents a Consumer system in an HVAC graph, which can contain various elements such as space heaters, pipes, pumps, and valves. It aggregates these elements into a single entity, called Consumer.

Attributes:
multi: A tuple of attribute names that can have multiple

values for a Consumer.

aggregatable_classes: A dict of element classes that can be

aggregated into a Consumer.

whitelist_classes: A dict of element classes that should be included

when searching for a Consumer in an HVAC graph.

blacklist_classes: A dict of element classes that should be excluded

when searching for a Consumer in an HVAC graph.

boarder_classes: A dictionary of element classes that define the

border of a Consumer system.

aggregatable_classes: Set['ProductBased'] = {<class 'bim2sim.elements.aggregation.hvac_aggregations.PipeStrand'>, <class 'bim2sim.elements.aggregation.hvac_aggregations.UnderfloorHeating'>, <class 'bim2sim.elements.hvac_elements.Junction'>, <class 'bim2sim.elements.hvac_elements.Pipe'>, <class 'bim2sim.elements.hvac_elements.PipeFitting'>, <class 'bim2sim.elements.hvac_elements.Pump'>, <class 'bim2sim.elements.hvac_elements.SpaceHeater'>, <class 'bim2sim.elements.hvac_elements.ThreeWayValve'>, <class 'bim2sim.elements.hvac_elements.Valve'>}
blacklist_classes = {<class 'bim2sim.elements.hvac_elements.Boiler'>, <class 'bim2sim.elements.hvac_elements.CHP'>, <class 'bim2sim.elements.hvac_elements.Chiller'>, <class 'bim2sim.elements.hvac_elements.CoolingTower'>, <class 'bim2sim.elements.hvac_elements.HeatPump'>, <class 'bim2sim.elements.hvac_elements.Storage'>}
boarder_classes = {<class 'bim2sim.elements.hvac_elements.Distributor'>}
body_mass

Descriptor of element attribute to get its value from various sources.

value and status of attribute are stored in __dict__ of bound instance. Possible statuses are:

UNKNOWN: default status at the beginning. REQUESTED: Attribute was already requested via a decision??. AVAILABLE: Attribute exists and is available. NOT_AVAILABLE: No way was found to obtain the attributes value.

To find more about Descriptor objects follow the explanations on https://rszalski.github.io/magicmethods/#descriptor

dT_water

Descriptor of element attribute to get its value from various sources.

value and status of attribute are stored in __dict__ of bound instance. Possible statuses are:

UNKNOWN: default status at the beginning. REQUESTED: Attribute was already requested via a decision??. AVAILABLE: Attribute exists and is available. NOT_AVAILABLE: No way was found to obtain the attributes value.

To find more about Descriptor objects follow the explanations on https://rszalski.github.io/magicmethods/#descriptor

demand_type

Descriptor of element attribute to get its value from various sources.

value and status of attribute are stored in __dict__ of bound instance. Possible statuses are:

UNKNOWN: default status at the beginning. REQUESTED: Attribute was already requested via a decision??. AVAILABLE: Attribute exists and is available. NOT_AVAILABLE: No way was found to obtain the attributes value.

To find more about Descriptor objects follow the explanations on https://rszalski.github.io/magicmethods/#descriptor

description

Descriptor of element attribute to get its value from various sources.

value and status of attribute are stored in __dict__ of bound instance. Possible statuses are:

UNKNOWN: default status at the beginning. REQUESTED: Attribute was already requested via a decision??. AVAILABLE: Attribute exists and is available. NOT_AVAILABLE: No way was found to obtain the attributes value.

To find more about Descriptor objects follow the explanations on https://rszalski.github.io/magicmethods/#descriptor

classmethod find_matches(base_graph: HvacGraph) Tuple[List[HvacGraph], List[dict]]

Find matches of consumer in the given base HVAC graph.

Args:

base_graph: The HVAC graph to search for consumers in.

Returns:
A tuple with two lists
  • matches_graph: A list of HVAC graphs that contain

    consumers, and the second list contains

  • metas: A list of dict with meta information about each

    consumer

flow_temperature

Descriptor of element attribute to get its value from various sources.

value and status of attribute are stored in __dict__ of bound instance. Possible statuses are:

UNKNOWN: default status at the beginning. REQUESTED: Attribute was already requested via a decision??. AVAILABLE: Attribute exists and is available. NOT_AVAILABLE: No way was found to obtain the attributes value.

To find more about Descriptor objects follow the explanations on https://rszalski.github.io/magicmethods/#descriptor

has_pump

Descriptor of element attribute to get its value from various sources.

value and status of attribute are stored in __dict__ of bound instance. Possible statuses are:

UNKNOWN: default status at the beginning. REQUESTED: Attribute was already requested via a decision??. AVAILABLE: Attribute exists and is available. NOT_AVAILABLE: No way was found to obtain the attributes value.

To find more about Descriptor objects follow the explanations on https://rszalski.github.io/magicmethods/#descriptor

heat_capacity

Descriptor of element attribute to get its value from various sources.

value and status of attribute are stored in __dict__ of bound instance. Possible statuses are:

UNKNOWN: default status at the beginning. REQUESTED: Attribute was already requested via a decision??. AVAILABLE: Attribute exists and is available. NOT_AVAILABLE: No way was found to obtain the attributes value.

To find more about Descriptor objects follow the explanations on https://rszalski.github.io/magicmethods/#descriptor

key: str = 'HVAC-Consumer'
multi = ('has_pump', 'rated_power', 'rated_pump_power', 'rated_height', 'rated_volume_flow', 'temperature_inlet', 'temperature_outlet', 'volume', 'description')
property not_pump_elements: list

List of not-pump-like elements present on the aggregation.

property pump_elements: list

List of pump-like elements present on the aggregation.

rated_height

Descriptor of element attribute to get its value from various sources.

value and status of attribute are stored in __dict__ of bound instance. Possible statuses are:

UNKNOWN: default status at the beginning. REQUESTED: Attribute was already requested via a decision??. AVAILABLE: Attribute exists and is available. NOT_AVAILABLE: No way was found to obtain the attributes value.

To find more about Descriptor objects follow the explanations on https://rszalski.github.io/magicmethods/#descriptor

rated_power

Descriptor of element attribute to get its value from various sources.

value and status of attribute are stored in __dict__ of bound instance. Possible statuses are:

UNKNOWN: default status at the beginning. REQUESTED: Attribute was already requested via a decision??. AVAILABLE: Attribute exists and is available. NOT_AVAILABLE: No way was found to obtain the attributes value.

To find more about Descriptor objects follow the explanations on https://rszalski.github.io/magicmethods/#descriptor

rated_pump_power

Descriptor of element attribute to get its value from various sources.

value and status of attribute are stored in __dict__ of bound instance. Possible statuses are:

UNKNOWN: default status at the beginning. REQUESTED: Attribute was already requested via a decision??. AVAILABLE: Attribute exists and is available. NOT_AVAILABLE: No way was found to obtain the attributes value.

To find more about Descriptor objects follow the explanations on https://rszalski.github.io/magicmethods/#descriptor

rated_volume_flow

Descriptor of element attribute to get its value from various sources.

value and status of attribute are stored in __dict__ of bound instance. Possible statuses are:

UNKNOWN: default status at the beginning. REQUESTED: Attribute was already requested via a decision??. AVAILABLE: Attribute exists and is available. NOT_AVAILABLE: No way was found to obtain the attributes value.

To find more about Descriptor objects follow the explanations on https://rszalski.github.io/magicmethods/#descriptor

return_temperature

Descriptor of element attribute to get its value from various sources.

value and status of attribute are stored in __dict__ of bound instance. Possible statuses are:

UNKNOWN: default status at the beginning. REQUESTED: Attribute was already requested via a decision??. AVAILABLE: Attribute exists and is available. NOT_AVAILABLE: No way was found to obtain the attributes value.

To find more about Descriptor objects follow the explanations on https://rszalski.github.io/magicmethods/#descriptor

t_control

Descriptor of element attribute to get its value from various sources.

value and status of attribute are stored in __dict__ of bound instance. Possible statuses are:

UNKNOWN: default status at the beginning. REQUESTED: Attribute was already requested via a decision??. AVAILABLE: Attribute exists and is available. NOT_AVAILABLE: No way was found to obtain the attributes value.

To find more about Descriptor objects follow the explanations on https://rszalski.github.io/magicmethods/#descriptor

volume

Descriptor of element attribute to get its value from various sources.

value and status of attribute are stored in __dict__ of bound instance. Possible statuses are:

UNKNOWN: default status at the beginning. REQUESTED: Attribute was already requested via a decision??. AVAILABLE: Attribute exists and is available. NOT_AVAILABLE: No way was found to obtain the attributes value.

To find more about Descriptor objects follow the explanations on https://rszalski.github.io/magicmethods/#descriptor

whitelist_classes = {<class 'bim2sim.elements.aggregation.hvac_aggregations.UnderfloorHeating'>, <class 'bim2sim.elements.hvac_elements.SpaceHeater'>}
property whitelist_elements: list

List of whitelist_classes elements present on the aggregation.

class bim2sim.elements.aggregation.hvac_aggregations.ConsumerHeatingDistributorModule(base_graph, match_graph, *args, **kwargs)

Bases: HVACAggregationMixin, HVACProduct

A class that aggregates (several) consumers including the distributor.

Attributes:

multi: A Tuple of attributes to consider in aggregation. aggregatable_classes: A dict of element classes that can be

aggregated into a ConsumerDistributorModule.

whitelist_classes: A dict of element classes that should be included

when searching for a ConsumerDistributorModule in an HVAC graph.

blacklist_classes: A dict of element classes that should be excluded

when searching for a ConsumerDistributorModule in an HVAC graph.

boarder_classes: Dictionary of classes that are used as boarders.

aggregatable_classes: Set['ProductBased'] = {<class 'bim2sim.elements.aggregation.hvac_aggregations.Consumer'>, <class 'bim2sim.elements.aggregation.hvac_aggregations.PipeStrand'>, <class 'bim2sim.elements.hvac_elements.Distributor'>, <class 'bim2sim.elements.hvac_elements.Junction'>, <class 'bim2sim.elements.hvac_elements.Pipe'>, <class 'bim2sim.elements.hvac_elements.PipeFitting'>, <class 'bim2sim.elements.hvac_elements.SpaceHeater'>, <class 'bim2sim.elements.hvac_elements.ThreeWayValve'>}
blacklist_classes = {<class 'bim2sim.elements.hvac_elements.Boiler'>, <class 'bim2sim.elements.hvac_elements.Chiller'>, <class 'bim2sim.elements.hvac_elements.CoolingTower'>}
boarder_classes = {<class 'bim2sim.elements.hvac_elements.Distributor'>}
body_mass

Descriptor of element attribute to get its value from various sources.

value and status of attribute are stored in __dict__ of bound instance. Possible statuses are:

UNKNOWN: default status at the beginning. REQUESTED: Attribute was already requested via a decision??. AVAILABLE: Attribute exists and is available. NOT_AVAILABLE: No way was found to obtain the attributes value.

To find more about Descriptor objects follow the explanations on https://rszalski.github.io/magicmethods/#descriptor

calc_mass_flow(name)

Returns the mass flow, in the form of a list with the mass flow of the whitelist_classes-like elements

dT_water

Descriptor of element attribute to get its value from various sources.

value and status of attribute are stored in __dict__ of bound instance. Possible statuses are:

UNKNOWN: default status at the beginning. REQUESTED: Attribute was already requested via a decision??. AVAILABLE: Attribute exists and is available. NOT_AVAILABLE: No way was found to obtain the attributes value.

To find more about Descriptor objects follow the explanations on https://rszalski.github.io/magicmethods/#descriptor

demand_type

Descriptor of element attribute to get its value from various sources.

value and status of attribute are stored in __dict__ of bound instance. Possible statuses are:

UNKNOWN: default status at the beginning. REQUESTED: Attribute was already requested via a decision??. AVAILABLE: Attribute exists and is available. NOT_AVAILABLE: No way was found to obtain the attributes value.

To find more about Descriptor objects follow the explanations on https://rszalski.github.io/magicmethods/#descriptor

classmethod find_matches(base_graph: HvacGraph) Tuple[List[HvacGraph], List[dict]]
Finds matches of consumer heating distributor modules in the given

graph.

Args:
base_graph: The graph to be checked for consumer heating distributor

modules.

Returns:
A tuple containing two lists:
  • matches_graphs: contains the HVAC graphs that hold the

    consumer heating distributor module.

The second list
  • metas: contains the meta information for each consumer

    heating distributor modules as a dictionary.

flow_temperature

Descriptor of element attribute to get its value from various sources.

value and status of attribute are stored in __dict__ of bound instance. Possible statuses are:

UNKNOWN: default status at the beginning. REQUESTED: Attribute was already requested via a decision??. AVAILABLE: Attribute exists and is available. NOT_AVAILABLE: No way was found to obtain the attributes value.

To find more about Descriptor objects follow the explanations on https://rszalski.github.io/magicmethods/#descriptor

has_pump

Descriptor of element attribute to get its value from various sources.

value and status of attribute are stored in __dict__ of bound instance. Possible statuses are:

UNKNOWN: default status at the beginning. REQUESTED: Attribute was already requested via a decision??. AVAILABLE: Attribute exists and is available. NOT_AVAILABLE: No way was found to obtain the attributes value.

To find more about Descriptor objects follow the explanations on https://rszalski.github.io/magicmethods/#descriptor

heat_capacity

Descriptor of element attribute to get its value from various sources.

value and status of attribute are stored in __dict__ of bound instance. Possible statuses are:

UNKNOWN: default status at the beginning. REQUESTED: Attribute was already requested via a decision??. AVAILABLE: Attribute exists and is available. NOT_AVAILABLE: No way was found to obtain the attributes value.

To find more about Descriptor objects follow the explanations on https://rszalski.github.io/magicmethods/#descriptor

hydraulic_separator_volume

Descriptor of element attribute to get its value from various sources.

value and status of attribute are stored in __dict__ of bound instance. Possible statuses are:

UNKNOWN: default status at the beginning. REQUESTED: Attribute was already requested via a decision??. AVAILABLE: Attribute exists and is available. NOT_AVAILABLE: No way was found to obtain the attributes value.

To find more about Descriptor objects follow the explanations on https://rszalski.github.io/magicmethods/#descriptor

key: str = 'HVAC-ConsumerHeatingDistributorModule'
medium

Descriptor of element attribute to get its value from various sources.

value and status of attribute are stored in __dict__ of bound instance. Possible statuses are:

UNKNOWN: default status at the beginning. REQUESTED: Attribute was already requested via a decision??. AVAILABLE: Attribute exists and is available. NOT_AVAILABLE: No way was found to obtain the attributes value.

To find more about Descriptor objects follow the explanations on https://rszalski.github.io/magicmethods/#descriptor

multi = ('medium', 'use_hydraulic_separator', 'hydraulic_separator_volume', 'temperature_inlet', 'temperature_outlet')
rated_mass_flow

Descriptor of element attribute to get its value from various sources.

value and status of attribute are stored in __dict__ of bound instance. Possible statuses are:

UNKNOWN: default status at the beginning. REQUESTED: Attribute was already requested via a decision??. AVAILABLE: Attribute exists and is available. NOT_AVAILABLE: No way was found to obtain the attributes value.

To find more about Descriptor objects follow the explanations on https://rszalski.github.io/magicmethods/#descriptor

rated_power

Descriptor of element attribute to get its value from various sources.

value and status of attribute are stored in __dict__ of bound instance. Possible statuses are:

UNKNOWN: default status at the beginning. REQUESTED: Attribute was already requested via a decision??. AVAILABLE: Attribute exists and is available. NOT_AVAILABLE: No way was found to obtain the attributes value.

To find more about Descriptor objects follow the explanations on https://rszalski.github.io/magicmethods/#descriptor

return_temperature

Descriptor of element attribute to get its value from various sources.

value and status of attribute are stored in __dict__ of bound instance. Possible statuses are:

UNKNOWN: default status at the beginning. REQUESTED: Attribute was already requested via a decision??. AVAILABLE: Attribute exists and is available. NOT_AVAILABLE: No way was found to obtain the attributes value.

To find more about Descriptor objects follow the explanations on https://rszalski.github.io/magicmethods/#descriptor

t_control

Descriptor of element attribute to get its value from various sources.

value and status of attribute are stored in __dict__ of bound instance. Possible statuses are:

UNKNOWN: default status at the beginning. REQUESTED: Attribute was already requested via a decision??. AVAILABLE: Attribute exists and is available. NOT_AVAILABLE: No way was found to obtain the attributes value.

To find more about Descriptor objects follow the explanations on https://rszalski.github.io/magicmethods/#descriptor

temperature_array

Descriptor of element attribute to get its value from various sources.

value and status of attribute are stored in __dict__ of bound instance. Possible statuses are:

UNKNOWN: default status at the beginning. REQUESTED: Attribute was already requested via a decision??. AVAILABLE: Attribute exists and is available. NOT_AVAILABLE: No way was found to obtain the attributes value.

To find more about Descriptor objects follow the explanations on https://rszalski.github.io/magicmethods/#descriptor

use_hydraulic_separator

Descriptor of element attribute to get its value from various sources.

value and status of attribute are stored in __dict__ of bound instance. Possible statuses are:

UNKNOWN: default status at the beginning. REQUESTED: Attribute was already requested via a decision??. AVAILABLE: Attribute exists and is available. NOT_AVAILABLE: No way was found to obtain the attributes value.

To find more about Descriptor objects follow the explanations on https://rszalski.github.io/magicmethods/#descriptor

whitelist_classes = {<class 'bim2sim.elements.aggregation.hvac_aggregations.Consumer'>, <class 'bim2sim.elements.aggregation.hvac_aggregations.UnderfloorHeating'>, <class 'bim2sim.elements.hvac_elements.SpaceHeater'>}
property whitelist_elements: list

list of whitelist_classes elements present on the aggregation

class bim2sim.elements.aggregation.hvac_aggregations.GeneratorOneFluid(base_graph, match_graph, *args, **kwargs)

Bases: HVACAggregationMixin, HVACProduct

Aggregates generator modules with only one fluid cycle (CHPs, Boilers, …)

Not for Chillers or Heat-pumps!

aggregatable_classes: Set['ProductBased'] = {<class 'bim2sim.elements.aggregation.hvac_aggregations.Consumer'>, <class 'bim2sim.elements.aggregation.hvac_aggregations.ConsumerHeatingDistributorModule'>, <class 'bim2sim.elements.aggregation.hvac_aggregations.ParallelPump'>, <class 'bim2sim.elements.aggregation.hvac_aggregations.PipeStrand'>, <class 'bim2sim.elements.hvac_elements.Boiler'>, <class 'bim2sim.elements.hvac_elements.Distributor'>, <class 'bim2sim.elements.hvac_elements.Junction'>, <class 'bim2sim.elements.hvac_elements.Pipe'>, <class 'bim2sim.elements.hvac_elements.PipeFitting'>, <class 'bim2sim.elements.hvac_elements.Pump'>, <class 'bim2sim.elements.hvac_elements.Storage'>, <class 'bim2sim.elements.hvac_elements.ThreeWayValve'>, <class 'bim2sim.elements.hvac_elements.Valve'>}
boarder_classes = {<class 'bim2sim.elements.aggregation.hvac_aggregations.ConsumerHeatingDistributorModule'>, <class 'bim2sim.elements.hvac_elements.Distributor'>}
dT_water

Descriptor of element attribute to get its value from various sources.

value and status of attribute are stored in __dict__ of bound instance. Possible statuses are:

UNKNOWN: default status at the beginning. REQUESTED: Attribute was already requested via a decision??. AVAILABLE: Attribute exists and is available. NOT_AVAILABLE: No way was found to obtain the attributes value.

To find more about Descriptor objects follow the explanations on https://rszalski.github.io/magicmethods/#descriptor

diameter

Descriptor of element attribute to get its value from various sources.

value and status of attribute are stored in __dict__ of bound instance. Possible statuses are:

UNKNOWN: default status at the beginning. REQUESTED: Attribute was already requested via a decision??. AVAILABLE: Attribute exists and is available. NOT_AVAILABLE: No way was found to obtain the attributes value.

To find more about Descriptor objects follow the explanations on https://rszalski.github.io/magicmethods/#descriptor

diameter_strand

Descriptor of element attribute to get its value from various sources.

value and status of attribute are stored in __dict__ of bound instance. Possible statuses are:

UNKNOWN: default status at the beginning. REQUESTED: Attribute was already requested via a decision??. AVAILABLE: Attribute exists and is available. NOT_AVAILABLE: No way was found to obtain the attributes value.

To find more about Descriptor objects follow the explanations on https://rszalski.github.io/magicmethods/#descriptor

classmethod find_bypasses(graph)

Finds bypasses based on the graphical network.

Currently not used, might be removed in the future.

classmethod find_matches(base_graph: HvacGraph) Tuple[List[HvacGraph], List[dict]]

Finds matches of generators with one fluid.

Non-relevant elements like bypasses are added to metas information to delete later.

Args:
base_graph: HVAC graph that should be checked for one fluid

generators

Returns:
A tuple containing two lists:
  • matches_graphs: List of HVAC graphs that hold a generator

    cycle including the distributor.

  • metas: List of dict with meta information for each generator

    as a dictionary. In this case it holds non_relevant nodes, which have to be deleted later but are not contained in the match_graph .Because we are currently not able to distinguish to which graph these non_relevant nodes belong, we just output the complete list of non-relevant nodes for every element_graph.

flow_temperature

Descriptor of element attribute to get its value from various sources.

value and status of attribute are stored in __dict__ of bound instance. Possible statuses are:

UNKNOWN: default status at the beginning. REQUESTED: Attribute was already requested via a decision??. AVAILABLE: Attribute exists and is available. NOT_AVAILABLE: No way was found to obtain the attributes value.

To find more about Descriptor objects follow the explanations on https://rszalski.github.io/magicmethods/#descriptor

has_pump

Descriptor of element attribute to get its value from various sources.

value and status of attribute are stored in __dict__ of bound instance. Possible statuses are:

UNKNOWN: default status at the beginning. REQUESTED: Attribute was already requested via a decision??. AVAILABLE: Attribute exists and is available. NOT_AVAILABLE: No way was found to obtain the attributes value.

To find more about Descriptor objects follow the explanations on https://rszalski.github.io/magicmethods/#descriptor

key: str = 'HVAC-GeneratorOneFluid'
length

Descriptor of element attribute to get its value from various sources.

value and status of attribute are stored in __dict__ of bound instance. Possible statuses are:

UNKNOWN: default status at the beginning. REQUESTED: Attribute was already requested via a decision??. AVAILABLE: Attribute exists and is available. NOT_AVAILABLE: No way was found to obtain the attributes value.

To find more about Descriptor objects follow the explanations on https://rszalski.github.io/magicmethods/#descriptor

min_PLR

Descriptor of element attribute to get its value from various sources.

value and status of attribute are stored in __dict__ of bound instance. Possible statuses are:

UNKNOWN: default status at the beginning. REQUESTED: Attribute was already requested via a decision??. AVAILABLE: Attribute exists and is available. NOT_AVAILABLE: No way was found to obtain the attributes value.

To find more about Descriptor objects follow the explanations on https://rszalski.github.io/magicmethods/#descriptor

min_power

Descriptor of element attribute to get its value from various sources.

value and status of attribute are stored in __dict__ of bound instance. Possible statuses are:

UNKNOWN: default status at the beginning. REQUESTED: Attribute was already requested via a decision??. AVAILABLE: Attribute exists and is available. NOT_AVAILABLE: No way was found to obtain the attributes value.

To find more about Descriptor objects follow the explanations on https://rszalski.github.io/magicmethods/#descriptor

multi = ('rated_power', 'has_bypass', 'rated_height', 'volume', 'rated_volume_flow', 'rated_pump_power', 'has_pump')
property not_whitelist_elements: list

List of not-whitelist_classes elements present on the aggregation

property pump_elements: list

List of pump-like elements present on the aggregation

rated_height

Descriptor of element attribute to get its value from various sources.

value and status of attribute are stored in __dict__ of bound instance. Possible statuses are:

UNKNOWN: default status at the beginning. REQUESTED: Attribute was already requested via a decision??. AVAILABLE: Attribute exists and is available. NOT_AVAILABLE: No way was found to obtain the attributes value.

To find more about Descriptor objects follow the explanations on https://rszalski.github.io/magicmethods/#descriptor

rated_power

Descriptor of element attribute to get its value from various sources.

value and status of attribute are stored in __dict__ of bound instance. Possible statuses are:

UNKNOWN: default status at the beginning. REQUESTED: Attribute was already requested via a decision??. AVAILABLE: Attribute exists and is available. NOT_AVAILABLE: No way was found to obtain the attributes value.

To find more about Descriptor objects follow the explanations on https://rszalski.github.io/magicmethods/#descriptor

rated_pump_power

Descriptor of element attribute to get its value from various sources.

value and status of attribute are stored in __dict__ of bound instance. Possible statuses are:

UNKNOWN: default status at the beginning. REQUESTED: Attribute was already requested via a decision??. AVAILABLE: Attribute exists and is available. NOT_AVAILABLE: No way was found to obtain the attributes value.

To find more about Descriptor objects follow the explanations on https://rszalski.github.io/magicmethods/#descriptor

rated_volume_flow

Descriptor of element attribute to get its value from various sources.

value and status of attribute are stored in __dict__ of bound instance. Possible statuses are:

UNKNOWN: default status at the beginning. REQUESTED: Attribute was already requested via a decision??. AVAILABLE: Attribute exists and is available. NOT_AVAILABLE: No way was found to obtain the attributes value.

To find more about Descriptor objects follow the explanations on https://rszalski.github.io/magicmethods/#descriptor

return_temperature

Descriptor of element attribute to get its value from various sources.

value and status of attribute are stored in __dict__ of bound instance. Possible statuses are:

UNKNOWN: default status at the beginning. REQUESTED: Attribute was already requested via a decision??. AVAILABLE: Attribute exists and is available. NOT_AVAILABLE: No way was found to obtain the attributes value.

To find more about Descriptor objects follow the explanations on https://rszalski.github.io/magicmethods/#descriptor

volume

Descriptor of element attribute to get its value from various sources.

value and status of attribute are stored in __dict__ of bound instance. Possible statuses are:

UNKNOWN: default status at the beginning. REQUESTED: Attribute was already requested via a decision??. AVAILABLE: Attribute exists and is available. NOT_AVAILABLE: No way was found to obtain the attributes value.

To find more about Descriptor objects follow the explanations on https://rszalski.github.io/magicmethods/#descriptor

whitelist_classes = {<class 'bim2sim.elements.hvac_elements.Boiler'>, <class 'bim2sim.elements.hvac_elements.CHP'>}
property whitelist_elements: list

List of whitelist_classes elements present on the aggregation

class bim2sim.elements.aggregation.hvac_aggregations.HVACAggregationMixin(base_graph: Graph, match_graph: Graph, *args, **kwargs)

Bases: AggregationMixin

Mixin class for all HVACAggregations.

Adds some HVAC specific functionality to the AggregationMixin.

Args:

base_graph: networkx graph that should be searched for aggregations match_graph: networkx graph that only holds matches

classmethod find_matches(base_graph: HvacGraph) Tuple[List[Graph], List[dict]]

Find all matches for aggregation in HVAC graph.

Args:
base_graph: The HVAC graph that is searched for potential

matches.

Returns:

matches_graphs: List of HVAC graphs that matches the aggregation. metas: List of dict with metas information. One element for each

matches_graphs.

Raises:

NotImplementedError: If method is not implemented.

classmethod get_empty_mapping(elements: Iterable[ProductBased])

Get information to remove elements.

Args:

elements:

Returns:
mapping: tuple of mapping dict with original ports as values and

None as keys.

connections: connection list of outer connections.

get_ports(*args, **kwargs)
get_replacement_mapping() Dict[HVACPort, HVACAggregationPort | None]

Get replacement dict for existing ports.

class bim2sim.elements.aggregation.hvac_aggregations.HVACAggregationPort(originals, *args, **kwargs)

Bases: HVACPort

Port for Aggregation

calc_position()

Position of original port

flow_direction_from_original()
guid_prefix = 'AggPort'
class bim2sim.elements.aggregation.hvac_aggregations.ParallelPump(base_graph: Graph, match_graph: Graph, *args, **kwargs)

Bases: HVACAggregationMixin, Pump

Aggregates pumps in parallel.

aggregatable_classes: Set['ProductBased'] = {<class 'bim2sim.elements.aggregation.hvac_aggregations.PipeStrand'>, <class 'bim2sim.elements.hvac_elements.Pipe'>, <class 'bim2sim.elements.hvac_elements.PipeFitting'>, <class 'bim2sim.elements.hvac_elements.Pump'>}
diameter

Descriptor of element attribute to get its value from various sources.

value and status of attribute are stored in __dict__ of bound instance. Possible statuses are:

UNKNOWN: default status at the beginning. REQUESTED: Attribute was already requested via a decision??. AVAILABLE: Attribute exists and is available. NOT_AVAILABLE: No way was found to obtain the attributes value.

To find more about Descriptor objects follow the explanations on https://rszalski.github.io/magicmethods/#descriptor

diameter_strand

Descriptor of element attribute to get its value from various sources.

value and status of attribute are stored in __dict__ of bound instance. Possible statuses are:

UNKNOWN: default status at the beginning. REQUESTED: Attribute was already requested via a decision??. AVAILABLE: Attribute exists and is available. NOT_AVAILABLE: No way was found to obtain the attributes value.

To find more about Descriptor objects follow the explanations on https://rszalski.github.io/magicmethods/#descriptor

classmethod find_matches(base_graph: HvacGraph) Tuple[List[HvacGraph], List[dict]]

Find matches of parallel pumps in the given graph.

Args:

base_graph: HVAC graph that should be checked for parallel pumps.

Returns:
A tuple containing two lists:

matches_graph: List of HVAC graphs that hold the parallel pumps. metas: List of dict with meta information. One element for

each match.

get_replacement_mapping() Dict[HVACPort, HVACAggregationPort | None]

Get replacement dict for existing ports.

key: str = 'HVAC-ParallelPump'
length

Descriptor of element attribute to get its value from various sources.

value and status of attribute are stored in __dict__ of bound instance. Possible statuses are:

UNKNOWN: default status at the beginning. REQUESTED: Attribute was already requested via a decision??. AVAILABLE: Attribute exists and is available. NOT_AVAILABLE: No way was found to obtain the attributes value.

To find more about Descriptor objects follow the explanations on https://rszalski.github.io/magicmethods/#descriptor

multi = ('rated_power', 'rated_height', 'rated_volume_flow', 'diameter', 'diameter_strand', 'length')
property not_pump_elements: list

list of not-pump-like elements present on the aggregation

property pump_elements: list

list of pump-like elements present on the aggregation

rated_height

Descriptor of element attribute to get its value from various sources.

value and status of attribute are stored in __dict__ of bound instance. Possible statuses are:

UNKNOWN: default status at the beginning. REQUESTED: Attribute was already requested via a decision??. AVAILABLE: Attribute exists and is available. NOT_AVAILABLE: No way was found to obtain the attributes value.

To find more about Descriptor objects follow the explanations on https://rszalski.github.io/magicmethods/#descriptor

rated_power

Descriptor of element attribute to get its value from various sources.

value and status of attribute are stored in __dict__ of bound instance. Possible statuses are:

UNKNOWN: default status at the beginning. REQUESTED: Attribute was already requested via a decision??. AVAILABLE: Attribute exists and is available. NOT_AVAILABLE: No way was found to obtain the attributes value.

To find more about Descriptor objects follow the explanations on https://rszalski.github.io/magicmethods/#descriptor

rated_volume_flow

Descriptor of element attribute to get its value from various sources.

value and status of attribute are stored in __dict__ of bound instance. Possible statuses are:

UNKNOWN: default status at the beginning. REQUESTED: Attribute was already requested via a decision??. AVAILABLE: Attribute exists and is available. NOT_AVAILABLE: No way was found to obtain the attributes value.

To find more about Descriptor objects follow the explanations on https://rszalski.github.io/magicmethods/#descriptor

whitelist_classe = {<class 'bim2sim.elements.hvac_elements.Pump'>}
class bim2sim.elements.aggregation.hvac_aggregations.PipeStrand(base_graph: Graph, match_graph: Graph, *args, **kwargs)

Bases: HVACAggregationMixin, Pipe

Aggregates pipe strands, i.e. pipes, pipe fittings and valves.

This aggregation reduces the number of elements by merging straight connected elements with just two ports into one PipeStrand. The length and a medium diameter are calculated based on the aggregated elements to maintain meaningful parameters for pressure loss calculations.

aggregatable_classes: Set['ProductBased'] = {<class 'bim2sim.elements.hvac_elements.Pipe'>, <class 'bim2sim.elements.hvac_elements.PipeFitting'>, <class 'bim2sim.elements.hvac_elements.Valve'>}
diameter

Descriptor of element attribute to get its value from various sources.

value and status of attribute are stored in __dict__ of bound instance. Possible statuses are:

UNKNOWN: default status at the beginning. REQUESTED: Attribute was already requested via a decision??. AVAILABLE: Attribute exists and is available. NOT_AVAILABLE: No way was found to obtain the attributes value.

To find more about Descriptor objects follow the explanations on https://rszalski.github.io/magicmethods/#descriptor

classmethod find_matches(base_graph: HvacGraph) Tuple[List[HvacGraph], List[dict]]

Find all matches for PipeStrand in HvacGraph.

Args:

base_graph: The Hvac graph to search for matches in.

Returns:
A tuple containing two lists:
  • matches_graphs: List of HvacGraphs that hold PipeStrands

  • metas: List of dict with meta information. One element for

    each match.

key: str = 'HVAC-PipeStrand'
length

Descriptor of element attribute to get its value from various sources.

value and status of attribute are stored in __dict__ of bound instance. Possible statuses are:

UNKNOWN: default status at the beginning. REQUESTED: Attribute was already requested via a decision??. AVAILABLE: Attribute exists and is available. NOT_AVAILABLE: No way was found to obtain the attributes value.

To find more about Descriptor objects follow the explanations on https://rszalski.github.io/magicmethods/#descriptor

multi = ('length', 'diameter')
class bim2sim.elements.aggregation.hvac_aggregations.UnderfloorHeating(base_graph: Graph, match_graph: Graph, *args, **kwargs)

Bases: PipeStrand

Class for aggregating underfloor heating systems.

The normal pitch (spacing) between pipes is typically between 0.1m and 0.2m.

classmethod check_conditions(chain: NodeView) dict | None
Checks ps_elements and returns instance of UnderfloorHeating if all
following criteria are fulfilled:
  1. minimum of 20 elements

  2. the pipe strand is located horizontally

  3. the pipe strand elements located in an specific z-coordinate

  4. the spacing tolerance

  5. underfloor heating area tolerance

  6. kpi criteria

Args:

chain: possible chain of elements to be an Underfloor heating

Returns:

None: if check fails meta: dict with calculated values if check succeeds

static check_heating_area(heating_area: ~pint.Quantity, tolerance: ~pint.Quantity = <Quantity(1000000.0, 'millimeter ** 2')>) bool
Check if the total area of the underfloor heating is greater than

the tolerance value - just as safety factor.

Args:

heating_area: Underfloor heating area, tolerance: Quantity tolerance to check heating area

Returns:

None: if check fails True: if check succeeds

static check_kpi(total_length: Quantity, avg_diameter: Quantity, heating_area: Quantity, tolerance: tuple = (0.09, 0.01)) bool | None
Check if the quotient between the cross-sectional area of the pipe

strand (x-y plane) and the total heating area is between the tolerance values - area density for underfloor heating.

Args:

total_length: Underfloor heating total pipe length, avg_diameter: Average Underfloor heating diameter, heating_area: Underfloor heating area, tolerance: tuple tolerance to check underfloor heating kpi

Returns:

None: if check fails True: if check succeeds

static check_number_of_elements(chain: NodeView, tolerance: int = 20) bool

Check if the targeted chain has more than 20 elements.

This method checks if a given chain has more than the specified number of elements.

Args:
chain: Possible chain of consecutive elements to be an underfloor

heating.

tolerance: Integer tolerance value to check the number of elements.

Default is 20.

Returns:

True if the chain has more than the specified number of elements, False otherwise.

static check_pipe_strand_horizontality(ports_coors: ndarray, tolerance: float = 0.8) bool

Checks the horizontality of a pipe strand.

This method checks if the pipe strand is located horizontally, meaning it is parallel to the floor and most elements are in the same z plane.

Args:

ports_coors: An array with pipe strand port coordinates. tolerance: Tolerance to check pipe strand horizontality.

Default is 0.8.

Returns:

True, if check succeeds and False if check fails.

static check_spacing(x_spacing: ~pint.Quantity, y_spacing: ~pint.Quantity, tolerance: tuple = (<Quantity(90, 'millimeter')>, <Quantity(210, 'millimeter')>)) bool | None
Check if the spacing between adjacent elements with the same

orientation is between the tolerance values.

Args:

x_spacing: Underfloor heating pitch in x y_spacing: Underfloor heating pitch in y tolerance: tuple tolerance to check underfloor heating spacing

Returns:

None: if check fails True: if check succeeds

classmethod find_matches(base_graph: HvacGraph) Tuple[List[HvacGraph], List[dict]]

Finds matches of underfloor heating systems in a given graph.

Args:
base_graph: An HvacGraph that should be checked for underfloor

heating systems.

Returns:
A tuple containing two lists:
  • matches_graphs: A list of HvacGraphs that contain underfloor

    heating systems.

  • metas: A list of dict with meta information for each

    underfloor heating system. One element for each match.

static get_pipe_strand_attributes(ports_coors: ndarray, chain: NodeView) [<class 'pint.Quantity'>, <class 'pint.Quantity'>, <class 'pint.Quantity'>, <class 'pint.Quantity'>, <class 'pint.Quantity'>]

Gets the attributes of a pipe strand.

This method retrieves the attributes of a pipe strand in order to perform further checks and calculations.

Args:

ports_coors: An array with pipe strand port coordinates. chain: A possible chain of elements to be an Underfloor heating.

Returns:

heating_area: Underfloor heating area. total_length: Underfloor heating total pipe length. avg_diameter: Average underfloor heating diameter. dist_x: Underfloor heating dimension in x. dist_y: Underfloor heating dimension in y.

classmethod get_pipe_strand_spacing(chain: NodeView, dist_x: Quantity, dist_y: Quantity, tolerance: int = 10) [<class 'pint.Quantity'>, <class 'pint.Quantity'>]
Sorts the pipe elements according to their angle in the horizontal

plane. Necessary to calculate subsequently the underfloor heating spacing.

Args:

chain: possible chain of elements to be an Underfloor heating dist_x: Underfloor heating dimension in x dist_y: Underfloor heating dimension in y tolerance: integer tolerance to get pipe strand spacing

Returns:

x_spacing: Underfloor heating pitch in x, y_spacing: Underfloor heating pitch in y

static get_ufh_type()
heating_area

Descriptor of element attribute to get its value from various sources.

value and status of attribute are stored in __dict__ of bound instance. Possible statuses are:

UNKNOWN: default status at the beginning. REQUESTED: Attribute was already requested via a decision??. AVAILABLE: Attribute exists and is available. NOT_AVAILABLE: No way was found to obtain the attributes value.

To find more about Descriptor objects follow the explanations on https://rszalski.github.io/magicmethods/#descriptor

is_consumer()
key: str = 'HVAC-UnderfloorHeating'
rated_mass_flow

Descriptor of element attribute to get its value from various sources.

value and status of attribute are stored in __dict__ of bound instance. Possible statuses are:

UNKNOWN: default status at the beginning. REQUESTED: Attribute was already requested via a decision??. AVAILABLE: Attribute exists and is available. NOT_AVAILABLE: No way was found to obtain the attributes value.

To find more about Descriptor objects follow the explanations on https://rszalski.github.io/magicmethods/#descriptor

rated_power

Descriptor of element attribute to get its value from various sources.

value and status of attribute are stored in __dict__ of bound instance. Possible statuses are:

UNKNOWN: default status at the beginning. REQUESTED: Attribute was already requested via a decision??. AVAILABLE: Attribute exists and is available. NOT_AVAILABLE: No way was found to obtain the attributes value.

To find more about Descriptor objects follow the explanations on https://rszalski.github.io/magicmethods/#descriptor

x_spacing

Descriptor of element attribute to get its value from various sources.

value and status of attribute are stored in __dict__ of bound instance. Possible statuses are:

UNKNOWN: default status at the beginning. REQUESTED: Attribute was already requested via a decision??. AVAILABLE: Attribute exists and is available. NOT_AVAILABLE: No way was found to obtain the attributes value.

To find more about Descriptor objects follow the explanations on https://rszalski.github.io/magicmethods/#descriptor

y_spacing

Descriptor of element attribute to get its value from various sources.

value and status of attribute are stored in __dict__ of bound instance. Possible statuses are:

UNKNOWN: default status at the beginning. REQUESTED: Attribute was already requested via a decision??. AVAILABLE: Attribute exists and is available. NOT_AVAILABLE: No way was found to obtain the attributes value.

To find more about Descriptor objects follow the explanations on https://rszalski.github.io/magicmethods/#descriptor

bim2sim.elements.aggregation.hvac_aggregations.verify_edge_ports(func)

Decorator to verify edge ports