honeybee_energy.load.exhaust module¶
Complete definition of ventilation in a simulation, including schedule and load.
- class honeybee_energy.load.exhaust.ExhaustAir(identifier, flow_per_area=0, flow_per_fixture=0, fixture_count=1, schedule=None, pressure_rise=125, efficiency=0.35, balancing_schedule=None)[source]¶
Bases:
_LoadBaseA complete definition of exhaust air, including schedules and flow rates.
Note the the 2 ventilation types (flow_per_area and flow_per_fixture) are ultimately added together to yield the final exhaust air flow rate used in the simulation.
- Parameters:
identifier – Text string for a unique ExhaustAir ID. Must be < 100 characters and not contain any EnergyPlus special characters. This will be used to identify the object across a model and in the exported IDF.
flow_per_area – A numerical value for the intensity of exhaust air ventilation in m3/s per square meter of floor area. (Default: 0).
flow_per_fixture – A numerical value for the level of exhaust air ventilation in m3/s for each fixture in the room. The term “fixture” is used broadly as a way to reference a wide variety of contaminant sources such as toilets/urinals, shower heads, kitchen hoods, fume hoods, etc. (Default: 0).
fixture_count – An integer for the number of fixtures in the room. This is multiplied by the flow_per_fixture, which is then added to the flow_per_area to yield the final exhaust air flow rate (Default: 1).
schedule – An optional ScheduleRuleset or ScheduleFixedInterval for the exhaust air ventilation over the course of the year. The type of this schedule should be Fractional and the fractional values get multiplied by the total design flow rate to yield a complete exhaust air profile. Values of 0 in the schedule will shut the exhaust fan off completely. If None, the design level of exhaust air will be used throughout all timesteps of the simulation, meaning that this schedule is Always On. (Default: None).
pressure_rise – A number for the the pressure rise across the fan in Pascals (N/m2). This is often a function of the fan speed and the conditions in which the fan is operating. It plays an important role in determining the amount of energy consumed by the fan. Typical kitchen and bathroom exhaust fans have pressure rises around 125 Pa but, in healthcare settings where filters create more resistance, higher pressures around 250 Pa are more common. (Default: 125).
efficiency – A number between 0 and 1 for the overall efficiency of the fan. Specifically, this is the ratio of the power delivered to the fluid to the electrical input power. It is the product of the fan motor efficiency and the fan impeller efficiency. Fans that have a higher blade diameter, no obstructions or filters, and operate at lower speeds with smaller pressure rises for their size tend to have higher efficiencies. Because motor efficiencies are typically between 0.8 and 0.9, the best overall fan efficiencies tend to be around 0.7 with most typical fan efficiencies between 0.5 and 0.7. When filters are added, which is common for most exhaust fans, the total efficiency typically ends up between 0.3 and 0.4. (Default: 0.35).
balancing_schedule – An optional ScheduleRuleset or ScheduleFixedInterval for the fraction of exhaust air that is unbalanced by simple airflows, such as infiltration, natural ventilation, or zone mixing. Unbalanced exhaust is modeled as being provided by the outdoor air system in the central air system such that values of 1 in this schedule indicate all exhaust air balancing done by the mechanical system and values of 0 indicate all air balanced by simple air flows. If None, then all the exhaust air flow is assumed to be unbalanced by simple airflows. The the flow rates at the zone return air node are reduced by the flow rate that is being exhausted and the zone outdoor air controller will ensure that the outdoor air flow rate is sufficient to serve the exhaust. (Default: None).
- Properties:
identifier
display_name
flow_per_area
flow_per_fixture
fixture_count
schedule
pressure_rise
efficiency
balancing_schedule
user_data
- ToString()¶
Overwrite .NET ToString.
- static average(identifier, exhaust_airs, weights=None, timestep_resolution=1)[source]¶
Get a ExhaustAir object that’s an average between other ExhaustAirs.
- Parameters:
identifier – Text string for a unique ID for the new averaged ExhaustAir. Must be < 100 characters and not contain any EnergyPlus special characters. This will be used to identify the object across a model and in the exported IDF.
exhaust_airs – A list of ExhaustAir objects that will be averaged together to make a new ExhaustAir.
weights – An optional list of fractional numbers with the same length as the input exhaust_airs. These will be used to weight each of the ExhaustAir objects in the resulting average. Note that these weights can sum to less than 1 in which case the average flow rates will assume 0 for the unaccounted fraction of the weights.
timestep_resolution – An optional integer for the timestep resolution at which the schedules will be averaged. Any schedule details smaller than this timestep will be lost in the averaging process. (Default: 1).
- static combine_room_exhaust_airs(identifier, rooms, timestep_resolution=1)[source]¶
Get a ExhaustAir object that represents the sum across rooms.
In this process of combining exhaust air requirements, the following rules hold: 1. Flow per floor area gets recomputed using the floor areas of each room. 2. Flow defined by fixtures it totaled across all of the input rooms and then assigned to the result as a single flow value for one fixture.
In the case of exhaust air schedules, the strictest schedule governs and note that the absence of a exhaust air schedule means the schedule is Always On. So, if one room has a exhaust air schedule and the other does not, then the schedule essentially gets removed. If each room has a different exhaust air schedule, then a new schedule will be created using the maximum value across the two schedules at each timestep.
- Parameters:
identifier – Text string for a unique ID for the new ExhaustAir object. Must be < 100 characters and not contain any EnergyPlus special characters. This will be used to identify the object across a model and in the exported IDF.
rooms – A list of Rooms that will have their ExhaustAir objects combined to make a new ExhaustAir.
timestep_resolution – An optional integer for the timestep resolution at which conflicting ventilation schedules will be resolved. (Default: 1).
- duplicate()¶
Get a copy of this object.
- classmethod from_dict(data, schedules=None)[source]¶
Create a ExhaustAir object from a dictionary.
Note that the dictionary must be a non-abridged version for this classmethod to work.
- Parameters:
data – A ExhaustAir dictionary in following the format below.
schedules – Optional dictionary with schedule identifiers as keys and honeybee schedule objects as values (either ScheduleRuleset or ScheduleFixedInterval). When specified, these will be prioritized over the child objects underneath their unabridged specification.
{ "type": 'ExhaustAir', "identifier": 'Bathroom_ExhaustAir_000050_001_1', "display_name": 'Bathroom ExhaustAir', "flow_per_area": 0.0005, # flow per square meter of floor area "flow_per_fixture": 0.01, # flow per fixture "fixture_count": 1, # number of fixtures in the room "schedule": {}, # ScheduleRuleset/ScheduleFixedInterval dictionary "pressure_rise": 125, # fan pressure rise in Pa "efficiency": 0.35 # fan efficiency "balancing_schedule": {}, # ScheduleRuleset/ScheduleFixedInterval dictionary }
- classmethod from_dict_abridged(data, schedule_dict)[source]¶
Create a ExhaustAir object from an abridged dictionary.
- Parameters:
data – A ExhaustAirAbridged dictionary in following the format below.
schedule_dict – A dictionary with schedule identifiers as keys and honeybee schedule objects as values (either ScheduleRuleset or ScheduleFixedInterval). These will be used to assign the schedules to the ExhaustAir object.
{ "type": 'ExhaustAirAbridged', "identifier": 'Bathroom_ExhaustAir_000050_001_1', "display_name": 'Bathroom ExhaustAir', "flow_per_area": 0.0005, # flow per square meter of floor area "flow_per_fixture": 0.01, # flow per fixture "fixture_count": 1, # number of fixtures in the room "schedule": "Bathroom ExhaustAir Schedule", # Schedule identifier "pressure_rise": 125, # fan pressure rise in Pa "efficiency": 0.35, # fan efficiency "balancing_schedule": "BR Makeup ExhaustAir Schedule", # Schedule identifier }
- lock()¶
- room_absolute_flow(room)[source]¶
Get the total flow rate of exhaust ventilation air for a Room in m3/s.
The result of this method accounts for both ways of specifying exhaust air.
- Parameters:
room – The honeybee Room to which the ventilation object is assigned.
- to_dict(abridged=False)[source]¶
ExhaustAir dictionary representation.
- Parameters:
abridged – Boolean to note whether the full dictionary describing the object should be returned (False) or just an abridged version (True), which only specifies the identifiers of schedules. (Default: False).
- unlock()¶
- property balancing_schedule¶
Get or set a ScheduleRuleset or ScheduleFixedInterval for the unbalanced air fraction.
- property display_name¶
Get or set a string for the object name without any character restrictions.
If not set, this will be equal to the identifier.
- property efficiency¶
Get or set a number between 0 and 1 for the fan efficiency.
- property fixture_count¶
Get or set an integer for the number of fixtures in the room.
- property flow_per_area¶
Get or set the exhaust ventilation in m3/s per square meter of floor area.
- property flow_per_area_ip¶
Get the flow_per_area in the standard IP unit of cfm/ft2.
- property flow_per_area_si¶
Get the flow_per_area in the standard SI unit of L/s/m2.
- property flow_per_fixture¶
Get or set the exhaust ventilation in m3/s per fixture.
- property flow_per_fixture_ip¶
Get the flow_per_fixture in the standard IP unit of cfm.
- property flow_per_fixture_si¶
Get the flow_per_fixture in the standard SI unit of L/s.
- property identifier¶
Get or set the text string for object identifier.
- property pressure_rise¶
Get or set a number for the fan pressure rise in Pa.
- property pressure_rise_ip¶
Get the pressure_rise in the standard IP unit of inches of H2O.
- property pressure_rise_si¶
Get the pressure_rise in the standard SI unit of Pa.
- property properties¶
Get properties for extensions.
- property schedule¶
Get or set a ScheduleRuleset or ScheduleFixedInterval for exhaust air.
- property user_data¶
Get or set an optional dictionary for additional meta data for this object.
This will be None until it has been set. All keys and values of this dictionary should be of a standard Python type to ensure correct serialization of the object to/from JSON (eg. str, float, int, list, dict)