honeybee_energy.hvac.idealair module¶
Simple ideal air system object used to condition zones.
- class honeybee_energy.hvac.idealair.IdealAirSystem(identifier, economizer_type='DifferentialDryBulb', demand_controlled_ventilation=False, sensible_heat_recovery=0, latent_heat_recovery=0, heating_air_temperature=50, cooling_air_temperature=13, heating_limit=Autosize, cooling_limit=Autosize, heating_availability=None, cooling_availability=None)[source]¶
Bases:
_HVACSystem
Simple ideal air system object used to condition zones.
- Parameters:
identifier – Text string for ideal air system identifier. 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.
economizer_type –
Text to indicate the type of air-side economizer used on the ideal air system. Economizers will mix in a greater amount of outdoor air to cool the zone (rather than running the cooling system) when the zone needs cooling and the outdoor air is cooler than the zone. Choose from the options below. (Default: DifferentialDryBulb).
NoEconomizer
DifferentialDryBulb
DifferentialEnthalpy
demand_controlled_ventilation – Boolean to note whether demand controlled ventilation should be used on the system, which will vary the amount of ventilation air according to the occupancy schedule of the Room. (Default: False).
sensible_heat_recovery – A number between 0 and 1 for the effectiveness of sensible heat recovery within the system. (Default: 0).
latent_heat_recovery – A number between 0 and 1 for the effectiveness of latent heat recovery within the system. (Default: 0).
heating_air_temperature – A number for the maximum heating supply air temperature [C]. (Default: 50, which is typical for many air-based HVAC systems).
cooling_air_temperature – A number for the minimum cooling supply air temperature [C]. (Default: 13, which is typical for many air-based HVAC systems).
heating_limit – A number for the maximum heating capacity in Watts. This can also be an Autosize object to indicate that the capacity should be determined during the EnergyPlus sizing calculation. This can also be a NoLimit object to indicate no upper limit to the heating capacity. (Default: autosize).
cooling_limit – A number for the maximum cooling capacity in Watts. This can also be an Autosize object to indicate that the capacity should be determined during the EnergyPlus sizing calculation. This can also be a NoLimit object to indicate no upper limit to the cooling capacity. (Default: autosize).
heating_availability – An optional on/off schedule to set the availability of heating over the course of the simulation. (Default: None).
cooling_availability – An optional on/off schedule to set the availability of cooling over the course of the simulation. (Default: None).
- Properties:
identifier
display_name
economizer_type
demand_controlled_ventilation
sensible_heat_recovery
latent_heat_recovery
heating_air_temperature
cooling_air_temperature
heating_limit
cooling_limit
heating_availability
cooling_availability
schedules
properties
- ToString()¶
Overwrite .NET ToString.
- duplicate()¶
Get a copy of this object.
- classmethod from_dict(data)[source]¶
Create a IdealAirSystem object from a dictionary.
- Parameters:
data – A IdealAirSystem dictionary in following the format below.
{ "type": "IdealAirSystem", "identifier": "Classroom1 Ideal Loads Air System", # identifier for the HVAC "display_name": "Standard IdealAir", # name for the HVAC "economizer_type": 'DifferentialDryBulb', # Economizer type "demand_controlled_ventilation": True, # Demand controlled ventilation "sensible_heat_recovery": 0.75, # Sensible heat recovery effectiveness "latent_heat_recovery": 0.7, # Latent heat recovery effectiveness "heating_air_temperature": 50, # Heating supply air temperature "cooling_air_temperature": 13, # Cooling supply air temperature "heating_limit": {'type': 'Autosize'}, # Max size of the heating system "cooling_limit": {'type': 'Autosize'}, # Max size of the cooling system "heating_availability": {}, # Schedule for availability of heat or None "cooling_availability": {} # Schedule for availability of cooling or None }
- classmethod from_dict_abridged(data, schedule_dict)[source]¶
Create a IdealAirSystem object from an abridged dictionary.
- Parameters:
data – A IdealAirSystemAbridged 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 Setpoint object.
{ "type": 'IdealAirSystemAbridged', "identifier": 'Warehouse1 Ideal Loads Air System', # identifier for the HVAC "economizer_type": 'DifferentialDryBulb', # Economizer type "demand_controlled_ventilation": True, # Demand controlled ventilation "sensible_heat_recovery": 0.75, # Sensible heat recovery effectiveness "latent_heat_recovery": 0.7, # Latent heat recovery effectiveness "heating_air_temperature": 40, # Heating supply air temperature "cooling_air_temperature": 15, # Cooling supply air temperature "heating_limit": 'autosize', # Max size of the heating system in Watts "cooling_limit": 'autosize', # Max size of the cooling system in Watts "heating_availability": "Warehouse Heating Control", # schedule identifier "cooling_availability": "Warehouse Cooling Control", # schedule identifier }
- classmethod from_idf(idf_string, schedule_dict)[source]¶
Create an IdealAirSystem object from an EnergyPlus IDF text string.
- Parameters:
idf_string – A text string fully describing an EnergyPlus HVACTemplate:Zone:IdealLoadsAirSystem 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 IdealAirSystem object.
- Returns:
A tuple with two elements
ideal_air_system: An IdealAirSystem object loaded from the idf_string.
zone_identifier: The identifier of the zone to which the IdealAirSystem object should be assigned.
- lock()¶
- to_dict(abridged=False)[source]¶
IdealAirSystem 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.
- to_idf(room)[source]¶
IDF string representation of IdealAirSystem object.
Note that this method does not return full definitions of heating/cooling availability schedules and so this objects’s schedules must also be translated into the final IDF file.
- Parameters:
room – A Honeybee Room for which the specific IDF string will be generated. This Room must have a Setpoint object for this method to work correctly since all setpoints (and any ventilation requirements) are pulled from this Room.
HVACTemplate:Zone:IdealLoadsAirSystem, Zone 1, !- Zone Name All Zones, !- Thermostat Name FanAvailSched, !- System Availability Schedule Name 50, !- Maximum Heating Supply Air Temperature {C} 13, !- Minimum Cooling Supply Air Temperature {C} 0.0156, !- Maximum Heating Supply Air Humidity Ratio {kgWater/kgDryAir} 0.0077, !- Minimum Cooling Supply Air Humidity Ratio {kgWater/kgDryAir} NoLimit, !- Heating Limit , !- Maximum Heating Air Flow Rate {m3/s} , !- Maximum Sensible Heating Capacity {W} NoLimit, !- Cooling Limit , !- Maximum Cooling Air Flow Rate {m3/s} , !- Maximum Total Cooling Capacity {W} , !- Heating Availability Schedule Name , !- Cooling Availability Schedule Name ConstantSensibleHeatRatio, !- Dehumidification Control Type 0.7, !- Cooling Sensible Heat Ratio 60, !- Dehumidification Setpoint {percent} None, !- Humidification Control Type 30, !- Humidification Setpoint {percent} flow/person, !- Outdoor Air Method 0.00944, !- Outdoor Air Flow Rate per Person {m3/s} 0.0, !- Outdoor Air Flow Rate per Zone Floor Area {m3/s-m2} 0.0, !- Outdoor Air Flow Rate per Zone {m3/s} , !- Design Specification Outdoor Air Object Name None, !- Demand Controlled Ventilation Type NoEconomizer, !- Outdoor Air Economizer Type None, !- Heat Recovery Type 0.70, !- Sensible Heat Recovery Effectiveness 0.65; !- Latent Heat Recovery Effectiveness
- unlock()¶
- ECONOMIZER_TYPES = ('NoEconomizer', 'DifferentialDryBulb', 'DifferentialEnthalpy')¶
- property cooling_air_temperature¶
Get or set a number for the minimum cooling supply air temperature.
- property cooling_availability¶
Get or set a ScheduleRuleset/ScheduleFixedInterval for cooling availability.
- property cooling_limit¶
Get or set a number for the maximum cooling capacity in Watts.
- property demand_controlled_ventilation¶
Get or set a boolean for whether demand controlled ventilation is present.
- 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 economizer_type¶
Get or set text to indicate the type of air-side economizer.
Choose from the following options:
NoEconomizer
DifferentialDryBulb
DifferentialEnthalpy
- property heating_air_temperature¶
Get or set a number for the maximum heating supply air temperature.
- property heating_availability¶
Get or set a ScheduleRuleset/ScheduleFixedInterval for heating availability.
- property heating_limit¶
Get or set a number for the maximum heating capacity in Watts.
- property identifier¶
Get or set the text string for HVAC system identifier.
- property latent_heat_recovery¶
Get or set a number for the effectiveness of latent heat recovery.
- property properties¶
Get properties for extensions.
- property schedules¶
Get an array of all the schedules associated with the HVAC system.
- property sensible_heat_recovery¶
Get or set a number for the effectiveness of sensible heat recovery.
- 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)