honeybee_energy.hvac.allair.pvav module

Packaged Variable Air Volume (PVAV) HVAC system.

class honeybee_energy.hvac.allair.pvav.PVAV(identifier, vintage='ASHRAE_2019', equipment_type=None, economizer_type='NoEconomizer', sensible_heat_recovery=0, latent_heat_recovery=0, demand_controlled_ventilation=False)[source]

Bases: _AllAirBase

Packaged Variable Air Volume (PVAV) HVAC system (aka. System 5 or 6).

All rooms/zones are connected to a central air loop that is kept at a constant central temperature of 12.8C (55F). The central temperature is maintained by a cooling coil, which runs whenever the combination of return air and fresh outdoor air is greater than 12.8C, as well as a heating coil, which runs whenever the combination of return air and fresh outdoor air is less than 12.8C.

Each air terminal for the connected rooms/zones contains its own reheat coil, which runs whenever the room is not in need of the cooling supplied by the 12.8C central air.

The central cooling coil is always a two-speed direct expansion (DX) coil. All heating coils are hot water coils except when Gas Coil equipment_type is used (in which case the central coil is gas and all others are electric) or when Parallel Fan-Powered (PFP) boxes equipment_type is used (in which case coils are electric resistance). Hot water temperature is 82C (180F) for boiler/district heating and 49C (120F) when ASHP is used.

PVAV systems are the traditional baseline system for commercial buildings with than 4-5 stories or between 2,300 m2 and 14,000 m2 (25,000 ft2 and 150,000 ft2) of floor area.

Parameters:
  • identifier – Text string for 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.

  • vintage

    Text for the vintage of the template system. This will be used to set efficiencies for various pieces of equipment within the system. Choose from the following.

    • DOE_Ref_Pre_1980

    • DOE_Ref_1980_2004

    • ASHRAE_2004

    • ASHRAE_2007

    • ASHRAE_2010

    • ASHRAE_2013

    • ASHRAE_2016

    • ASHRAE_2019

  • equipment_type

    Text for the specific type of the system and equipment. (Default: the first option below) Choose from.

    • PVAV_Boiler

    • PVAV_ASHP

    • PVAV_DHW

    • PVAV_PFP

    • PVAV_BoilerElectricReheat

  • economizer_type

    Text to indicate the type of air-side economizer used on the system. (Default: NoEconomizer). Choose from the following.

    • NoEconomizer

    • DifferentialDryBulb

    • DifferentialEnthalpy

    • DifferentialDryBulbAndEnthalpy

    • FixedDryBulb

    • FixedEnthalpy

    • ElectronicEnthalpy

  • 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).

  • 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 Rooms. (Default: False).

Properties:
  • identifier

  • display_name

  • vintage

  • equipment_type

  • economizer_type

  • sensible_heat_recovery

  • latent_heat_recovery

  • demand_controlled_ventilation

  • schedules

  • has_district_heating

  • has_district_cooling

  • user_data

  • properties

Note

[1] American Society of Heating, Refrigerating and Air-Conditioning Engineers, Inc. (2007). Ashrae standard 90.1. Atlanta, GA. https://www.ashrae.org/technical-resources/standards-and-guidelines/read-only-versions-of-ashrae-standards

ToString()

Overwrite .NET ToString.

duplicate()

Get a copy of this object.

classmethod from_dict(data)

Create a HVAC object from a dictionary.

Parameters:

data – An all-air dictionary in following the format below.

{
"type": "",  # text for the class name of the HVAC
"identifier": "Classroom1_System",  # identifier for the HVAC
"display_name": "Standard System",  # name for the HVAC
"vintage": "ASHRAE_2019",  # text for the vintage of the template
"equipment_type": "",  # text for the HVAC equipment type
"economizer_type": 'DifferentialDryBulb',  # Economizer type
"sensible_heat_recovery": 0.75,  # Sensible heat recovery effectiveness
"latent_heat_recovery": 0.7,  # Latent heat recovery effectiveness
"demand_controlled_ventilation": False  # Boolean for DCV
"properties": { ... } # AllAirSystemProperties as a dict
}
classmethod from_dict_abridged(data, schedule_dict)

Create a HVAC object from an abridged dictionary.

Parameters:
  • data – An all-air abridged 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": "",  # text for the class name of the HVAC
"identifier": "Classroom1_System",  # identifier for the HVAC
"display_name": "Standard System",  # name for the HVAC
"vintage": "ASHRAE_2013",  # text for the vintage of the template
"equipment_type": "",  # text for the HVAC equipment type
"economizer_type": 'DifferentialDryBulb',  # Economizer type
"sensible_heat_recovery": 0.75,  # Sensible heat recovery effectiveness
"latent_heat_recovery": 0.7,  # Latent heat recovery effectiveness
"demand_controlled_ventilation": False  # Boolean for DCV
"properties": { ... } # dict of the AllAirSystemProperties
}
lock()
to_dict(abridged=False)

All air system dictionary representation.

Parameters:

abridged – Boolean to note whether the full dictionary describing the object should be returned (False) or just an abridged version (True). This input currently has no effect but may eventually have one if schedule-type properties are exposed on this template.

to_ideal_air_equivalent()

Get a version of this HVAC as an IdealAirSystem.

Relevant properties will be transferred to the resulting ideal air such as economizer_type, sensible_heat_recovery, latent_heat_recovery, and demand_controlled_ventilation.

unlock()
COOL_ONLY_TYPES = ('PSZAC', 'PSZAC_DCW', 'PTAC')
ECONOMIZER_TYPES = ('NoEconomizer', 'DifferentialDryBulb', 'DifferentialEnthalpy', 'DifferentialDryBulbAndEnthalpy', 'FixedDryBulb', 'FixedEnthalpy', 'ElectronicEnthalpy')
EQUIPMENT_TYPES = ('PVAV_Boiler', 'PVAV_ASHP', 'PVAV_DHW', 'PVAV_PFP', 'PVAV_BoilerElectricReheat')
HEAT_ONLY_TYPES = ('Furnace',)
VINTAGES = ('DOE_Ref_Pre_1980', 'DOE_Ref_1980_2004', 'ASHRAE_2004', 'ASHRAE_2007', 'ASHRAE_2010', 'ASHRAE_2013', 'ASHRAE_2016', 'ASHRAE_2019')
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

  • DifferentialDryBulbAndEnthalpy

  • FixedDryBulb

  • FixedEnthalpy

  • ElectronicEnthalpy

property equipment_type

Get or set text for the system’s equipment specification.

For example, ‘VAV chiller with gas boiler reheat’.

property has_district_cooling

Get a boolean for whether the HVAC system has district cooling.

property has_district_heating

Get a boolean for whether the HVAC system has district heating.

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.

This property should be overwritten in each of the classes inheriting from the HVACSystem base class since each HVAC system is likely to have it’s own unique places where schedules are assigned. At a minimum, this property should return heating/cooling availability schedules.

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)

property vintage

Get or set text to indicate the vintage of the template system.

Choose from the following options:

  • DOE_Ref_Pre_1980

  • DOE_Ref_1980_2004

  • ASHRAE_2004

  • ASHRAE_2007

  • ASHRAE_2010

  • ASHRAE_2013

  • ASHRAE_2016

  • ASHRAE_2019