honeybee_energy.ventcool.fan module

Definition of window opening for ventilative cooling.

class honeybee_energy.ventcool.fan.VentilationFan(identifier, flow_rate, ventilation_type='Balanced', pressure_rise=None, efficiency=None, control=None)[source]

Bases: object

Definition of a fan for ventilative cooling.

This fan is not connected to any heating or cooling system and is meant to represent the intentional circulation of unconditioned outdoor air for the purposes of keeping a space cooler, drier or free of indoor pollutants (as in the case of kitchen or bathroom exhaust fans).

  • identifier – Text string for a unique VentilationFan 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_rate – A positive number for the flow rate of the fan in m3/s.

  • ventilation_type

    Text to indicate the type of type of ventilation. Choose from the options below. For either Exhaust or Intake, values for fan pressure and efficiency define the fan electric consumption. For Exhaust ventilation, the conditions of the air entering the space are assumed to be equivalent to outside air conditions. For Intake and Balanced ventilation, an appropriate amount of fan heat is added to the entering air stream. For Balanced ventilation, both an intake fan and an exhaust fan are assumed to co-exist, both having the same flow rate and power consumption (using the entered values for fan pressure rise and fan total efficiency). Thus, the fan electric consumption for Balanced ventilation is twice that for the Exhaust or Intake ventilation types which employ only a single fan. (Default: Balanced).

    • Exhaust

    • Intake

    • Balanced

  • 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 since having the fan blow air through filters or narrow ducts will increase the pressure rise that is needed to deliver the input flow rate. The pressure rise plays an important role in determining the amount of energy consumed by the fan. Smaller fans like a 0.05 m3/s desk fan tend to have lower pressure rises around 60 Pa. Larger fans, such as a 6 m3/s fan used for ventilating a large room tend to have higher pressure rises around 400 Pa. The highest pressure rises are typically for large fans blowing air through ducts and filters, which can have pressure rises as high as 1000 Pa. If this input is None, the pressure rise will be estimated from the flow_rate, with higher flow rates corresponding to larger pressure rises (up to 400 Pa). These estimated pressure rises are generally assumed to have minimal obstructions between the fan and the room and they should be increased if the fan is blowing air through ducts or filters. (Default: None).

  • 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 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. The lowest efficiencies often happen for small fans in situations with high pressure rises for their size, which can result in efficiencies as low as 0.15. If None, this input will be estimated from the fan flow rate and pressure rise with large fans operating at low pressure rises for their size having up to 0.7 efficiency and small fans operating at high pressure rises for their size having as low as 0.15 efficiency. (Default: None).

  • control – A VentilationControl object that dictates the conditions under which the fan is turned on. If None, a default VentilationControl will be generated, which will keep the fan on all of the time. (Default: None).

  • identifier

  • display_name

  • flow_rate

  • ventilation_type

  • pressure_rise

  • efficiency

  • control


Overwrite .NET ToString.


Get a copy of this object.

classmethod from_dict(data)[source]

Create a VentilationFan from a dictionary.


data – A python dictionary in the following format

"type": 'VentilationFan',
"flow_rate": 1.0,
"ventilation_type": "Exhaust",
"pressure_rise": 200,
"efficiency": 0.7,
"control": {}  # dictionary of a VentilationControl
classmethod from_dict_abridged(data, schedule_dict)[source]

Create a VentilationFan from an abridged dictionary.

  • data – A VentilationFanAbridged dictionary with the format below.

  • schedule_dict – A dictionary with schedule identifiers as keys and honeybee schedule objects as values. These will be used to assign the schedule to the VentilationControl object.

"type": 'VentilationFanAbridged',
"flow_rate": 1.0,
"ventilation_type": "Exhaust",
"pressure_rise": 200,
"efficiency": 0.7,
"control": {}  # dictionary of a VentilationControlAbridged
classmethod from_idf(idf_string, schedule_dict)[source]

Create a VentilationFan object from an EnergyPlus IDF text string.

Note that the ZoneVentilation:DesignFlowRate idf_string must use the ‘Flow/Zone’ method in order to be successfully imported.

  • idf_string – A text string fully describing an EnergyPlus ZoneVentilation:DesignFlowRate definition.

  • 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 VentilationControl object that governs the control of the fan.


A tuple with two elements

  • fan: An VentilationFan object loaded from the idf_string.

  • zone_id: The identifier of the zone to which the VentilationFan object should be assigned.


The lock() method will also lock the control.


Ventilation Fan dictionary representation.


IDF string representation of VentilationFan object.

Note that this method does not return full definitions of the VentilationControl schedules and so this objects’s schedules must also be translated into the final IDF file.


zone_identifier – Text for the zone identifier that the VentilationFan object is assigned to.


The unlock() method will also unlock the control.

PRESSURE_RISES = ((0.01, 10), (0.05, 60), (0.25, 120), (0.5, 200), (2, 300), (6, 400))
VENTILATION_TYPES = ('Exhaust', 'Intake', 'Balanced')
property control

Get or set a VentilationControl object to dictate when the fan comes on.

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 flow_rate

Get or set a number for the fan flow rate in m3/s.

property identifier

Get or set the text string for object identifier.

property pressure_rise

Get or set a number for the fan flow rate in m3/s.

property ventilation_type

Get or set text to indicate the type of ventilation.

Choose from the following options:

  • Exhaust

  • Intake

  • Balanced