dragonfly_energy.properties.model module

Model Energy Properties.

class dragonfly_energy.properties.model.ModelEnergyProperties(host)[source]

Bases: object

Energy Properties for Dragonfly Model.

Parameters:

host – A dragonfly_core Model object that hosts these properties.

Properties:
  • host

  • materials

  • constructions

  • face_constructions

  • shade_constructions

  • construction_sets

  • global_construction_set

  • schedule_type_limits

  • schedules

  • construction_schedules

  • shade_schedules

  • program_type_schedules

  • hvac_schedules

  • misc_room_schedules

  • program_types

  • hvacs

  • shws

ToString()[source]
apply_properties_from_dict(data)[source]

Apply the energy properties of a dictionary to the host Model of this object.

Parameters:

data – A dictionary representation of an entire dragonfly-core Model. Note that this dictionary must have ModelEnergyProperties in order for this method to successfully apply the energy properties.

check_all(raise_exception=True, detailed=False)[source]

Check all of the aspects of the Model energy properties.

Parameters:
  • raise_exception – Boolean to note whether a ValueError should be raised if any errors are found. If False, this method will simply return a text string with all errors that were found.

  • detailed – Boolean for whether the returned object is a detailed list of dicts with error info or a string with a message. (Default: False).

Returns:

A text string with all errors that were found or a list if detailed is True. This string (or list) will be empty if no errors were found.

check_all_duplicate_identifiers(raise_exception=True, detailed=False)[source]

Check that there are no duplicate identifiers for any geometry objects.

This includes Rooms, Faces, Apertures, Doors, Shades, and ShadeMeshes.

Parameters:
  • raise_exception – Boolean to note whether a ValueError should be raised if any Model errors are found. If False, this method will simply return a text string with all errors that were found. (Default: True).

  • detailed – Boolean for whether the returned object is a detailed list of dicts with error info or a string with a message. (Default: False).

Returns:

A text string with all errors that were found or a list if detailed is True. This string (or list) will be empty if no errors were found.

check_all_zones_have_one_hvac(raise_exception=True, detailed=False)[source]

Check that all rooms within each zone have only one HVAC assigned to them.

Multiple HVAC systems serving one zone typically causes EnergyPlus simulation failures and is often a mistake that results from changing zoning strategies without changing the HVAC to be coordinated with the new zones.

Note that having some Rooms in the zone referencing the HVAC and others with no HVAC is considered permissible since this just implies that the thermostat or zone equipment may be in one of the rooms but the whole zone is conditioned by this equipment.

Parameters:
  • raise_exception – Boolean to note whether a ValueError should be raised if there are rooms within zones that have different HVAC systems assigned to them. (Default: True).

  • detailed – Boolean for whether the returned object is a detailed list of dicts with error info or a string with a message. (Default: False).

Returns:

A string with the message or a list with a dictionary if detailed is True.

check_duplicate_construction_identifiers(raise_exception=True, detailed=False)[source]

Check that there are no duplicate Construction identifiers in the model.

Parameters:
  • raise_exception – Boolean to note whether a ValueError should be raised if duplicate identifiers are found. (Default: True).

  • detailed – Boolean for whether the returned object is a detailed list of dicts with error info or a string with a message. (Default: False).

Returns:

A string with the message or a list with a dictionary if detailed is True.

check_duplicate_construction_set_identifiers(raise_exception=True, detailed=False)[source]

Check that there are no duplicate ConstructionSet identifiers in the model.

Parameters:
  • raise_exception – Boolean to note whether a ValueError should be raised if duplicate identifiers are found. (Default: True).

  • detailed – Boolean for whether the returned object is a detailed list of dicts with error info or a string with a message. (Default: False).

Returns:

A string with the message or a list with a dictionary if detailed is True.

check_duplicate_hvac_identifiers(raise_exception=True, detailed=False)[source]

Check that there are no duplicate HVAC identifiers in the model.

Parameters:
  • raise_exception – Boolean to note whether a ValueError should be raised if duplicate identifiers are found. (Default: True).

  • detailed – Boolean for whether the returned object is a detailed list of dicts with error info or a string with a message. (Default: False).

Returns:

A string with the message or a list with a dictionary if detailed is True.

check_duplicate_material_identifiers(raise_exception=True, detailed=False)[source]

Check that there are no duplicate Material identifiers in the model.

Parameters:
  • raise_exception – Boolean to note whether a ValueError should be raised if duplicate identifiers are found. (Default: True).

  • detailed – Boolean for whether the returned object is a detailed list of dicts with error info or a string with a message. (Default: False).

Returns:

A string with the message or a list with a dictionary if detailed is True.

check_duplicate_program_type_identifiers(raise_exception=True, detailed=False)[source]

Check that there are no duplicate ProgramType identifiers in the model.

Parameters:
  • raise_exception – Boolean to note whether a ValueError should be raised if duplicate identifiers are found. (Default: True).

  • detailed – Boolean for whether the returned object is a detailed list of dicts with error info or a string with a message. (Default: False).

Returns:

A string with the message or a list with a dictionary if detailed is True.

check_duplicate_schedule_identifiers(raise_exception=True, detailed=False)[source]

Check that there are no duplicate Schedule identifiers in the model.

Parameters:
  • raise_exception – Boolean to note whether a ValueError should be raised if duplicate identifiers are found. (Default: True).

  • detailed – Boolean for whether the returned object is a detailed list of dicts with error info or a string with a message. (Default: False).

Returns:

A string with the message or a list with a dictionary if detailed is True.

check_duplicate_schedule_type_limit_identifiers(raise_exception=True, detailed=False)[source]

Check that there are no duplicate ScheduleTypeLimit identifiers in the model.

Parameters:
  • raise_exception – Boolean to note whether a ValueError should be raised if duplicate identifiers are found. (Default: True).

  • detailed – Boolean for whether the returned object is a detailed list of dicts with error info or a string with a message. (Default: False).

Returns:

A string with the message or a list with a dictionary if detailed is True.

check_duplicate_shw_identifiers(raise_exception=True, detailed=False)[source]

Check that there are no duplicate SHW identifiers in the model.

Parameters:
  • raise_exception – Boolean to note whether a ValueError should be raised if duplicate identifiers are found. (Default: True).

  • detailed – Boolean for whether the returned object is a detailed list of dicts with error info or a string with a message. (Default: False).

Returns:

A string with the message or a list with a dictionary if detailed is True.

check_for_extension(raise_exception=True, detailed=False)[source]

Check that the Model is valid for EnergyPlus simulation.

This process includes all relevant dragonfly-core checks as well as checks that apply only for EnergyPlus.

Parameters:
  • raise_exception – Boolean to note whether a ValueError should be raised if any errors are found. If False, this method will simply return a text string with all errors that were found. (Default: True).

  • detailed – Boolean for whether the returned object is a detailed list of dicts with error info or a string with a message. (Default: False).

Returns:

A text string with all errors that were found or a list if detailed is True. This string (or list) will be empty if no errors were found.

check_maximum_elevation(max_elevation=1000, raise_exception=True, detailed=False)[source]

Check that no Room2Ds of the model are above a certain elevation.

EnergyPlus computes wind speeds, air pressures, and adjusts outdoor temperatures to account for the height above the ground using the Z values of the geometry coordinates. This is an important consideration when modeling skyscrapers but it can be detrimental when a building has been modeled with its coordinates at the height above sea level and the location is significantly above sea level (eg. Denver, Colorado).

This validation check is intended to catch such cases and make the user aware of the repercussions.

Parameters:
  • max_elevation – A number for the maximum elevation in Meters that the model’s rooms are permitted to be at before a ValidationError is reported. While EnergyPlus technically still simulates with models that are 12 kilometers above the origin, better practice is to set this value at the maximum height above the ground that any human-made structure can reasonably obtain. For this reason, the default is set to 1000 meters.

  • raise_exception – Boolean to note whether a ValueError should be raised if a Room composed entirely of AirBoundaries is found. (Default: True).

  • detailed – Boolean for whether the returned object is a detailed list of dicts with error info or a string with a message. (Default: False).

Returns:

A string with the message or a list with a dictionary if detailed is True.

duplicate(new_host=None)[source]

Get a copy of this Model.

Parameters:

new_host – A new Model object that hosts these properties. If None, the properties will be duplicated with the same host.

to_dict()[source]

Return Model energy properties as a dictionary.

to_honeybee(new_host)[source]

Get a honeybee version of this object.

Parameters:

new_host – A honeybee-core Model object that will host these properties.

property construction_schedules

Get a list of all unique schedules assigned to constructions in the model.

This includes schedules on al AirBoundaryConstructions, WindowConstructionShade, and WindowConstructionDynamic.

property construction_sets

Get a list of all unique ConstructionSets in the Model.

Note that this includes ConstructionSets assigned to individual Stories, Room2Ds and 3D Honeybee Rooms in the Model’s Buildings.

property constructions

Get a list of all unique constructions in the model.

This includes constructions across all Room2Ds, Stories, and Building ConstructionSets but it does NOT include the Honeybee generic default construction set.

property face_constructions

Get a list of all unique constructions assigned to Faces, Apertures and Doors.

These objects only exist under the Building.room_3ds property and in the Building’s ceiling_plenum_construction and floor_plenum_construction.

property global_construction_set

The global energy construction set.

This is what is used whenever there is no construction_set assigned to a Room2D, a parent Story, or a parent Building.

property host

Get the Model object hosting these properties.

property hvac_schedules

Get a list of all unique HVAC-assigned schedules in the model.

property hvacs

Get a list of all unique HVAC systems in the Model.

property materials

Get a list of all unique materials contained within the model.

This includes materials across all Room2Ds, Stories, and Building ConstructionSets but it does NOT include the Honeybee generic default construction set.

property misc_room_schedules

Get a list of all unique schedules assigned directly to Rooms in the model.

This includes schedules for process loads and window ventilation control that are assigned to Room2Ds. It also includes any schedules assigned directly to 3D Honeybee Rooms of the model (not through the room program).

Note that this does not include schedules from ProgramTypes assigned to the rooms. For this, use the program_type_schedules property.

property program_type_schedules

A list of all unique schedules assigned to ProgramTypes in the model.

property program_types

Get a list of all unique ProgramTypes in the Model.

This includes ProgramTypes assigned to both Room2Ds and 3D Honeybee Rooms.

property schedule_type_limits

Get a list of all unique schedule type limits contained within the model.

This includes schedules across all ContextShades and Room2Ds.

property schedules

Get a list of all unique schedules in the model.

This includes schedules across all ProgramTypes and ContextShades.

property shade_constructions

Get a list of all unique constructions assigned to ContextShades in the model.

This will also include any Shade objects assigned to the 3D Honeybee Rooms of any Model Buildings.

property shade_schedules

Get a list of all unique schedules assigned to ContextShades in the model.

property shws

Get a list of all unique Service Hot Water (SHW) systems in the Model.