dragonfly_energy.properties.room2d module¶
Room2D Energy Properties.
- class dragonfly_energy.properties.room2d.Room2DEnergyProperties(host, program_type=None, construction_set=None, hvac=None, shw=None)[source]¶
Bases:
objectEnergy Properties for Dragonfly Room2D.
- Parameters:
host – A dragonfly_core Room2D object that hosts these properties.
program_type – A honeybee ProgramType object to specify all default schedules and loads for the Room2D. If None, the Room2D will have a Plenum program (with no loads or setpoints). Default: None.
construction_set – A honeybee ConstructionSet object to specify all default constructions for the Faces of the Room2D. If None, the Room2D will use the honeybee default construction set, which is not representative of a particular building code or climate zone. Default: None.
hvac – A honeybee HVAC object (such as an IdealAirSystem) that specifies how the Room2D is conditioned. If None, it will be assumed that the Room2D is not conditioned. Default: None.
- Properties:
host
program_type
construction_set
hvac
shw
people
lighting
electric_equipment
gas_equipment
service_hot_water
infiltration
ventilation
setpoint
daylighting_control
window_vent_control
window_vent_opening
fans
process_loads
total_process_load
is_conditioned
has_window_opening
- add_daylight_control_to_center(distance_from_floor, illuminance_setpoint=300, control_fraction=1, min_power_input=0.3, min_light_output=0.2, off_at_minimum=False, tolerance=0.01)[source]¶
Assign a DaylightingControl object to the center of the Room.
If the Room is concave, the pole of inaccessibility of the floor geometry will be used.
- Parameters:
distance_from_floor – A number for the distance that the daylight sensor is from the floor. Typical values are around 0.8 meters.
illuminance_setpoint – A number for the illuminance setpoint in lux beyond which electric lights are dimmed if there is sufficient daylight. (Default: 300 lux).
control_fraction – A number between 0 and 1 that represents the fraction of the Room lights that are dimmed when the illuminance at the sensor position is at the specified illuminance. 1 indicates that all lights are dim-able while 0 indicates that no lights are dim-able. Deeper rooms should have lower control fractions to account for the face that the lights in the back of the space do not dim in response to suitable daylight at the front of the room. (Default: 1).
min_power_input – A number between 0 and 1 for the the lowest power the lighting system can dim down to, expressed as a fraction of maximum input power. (Default: 0.3).
min_light_output – A number between 0 and 1 the lowest lighting output the lighting system can dim down to, expressed as a fraction of maximum light output. (Default: 0.2).
off_at_minimum – Boolean to note whether lights should switch off completely when they get to the minimum power input. (Default: False).
tolerance – The maximum difference between x, y, and z values at which vertices are considered equivalent. (Default: 0.01, suitable for objects in meters).
- Returns:
A DaylightingControl object if the sensor was successfully assigned to the Room. Will be None if the Room was too short or so concave that a sensor could not be assigned.
- add_default_ideal_air()[source]¶
Add a default IdealAirSystem to this Room2D.
The identifier of this system will be derived from the room identifier and will align with the naming convention that EnergyPlus uses for templates Ideal Air systems.
- add_fan(fan)[source]¶
Add a VentilationFan to this Room.
- Parameters:
fan – A VentilationFan to add to this Room.
- add_process_load(process_load)[source]¶
Add a Process load to this Room2D.
- Parameters:
process_load – A Process load to add to this Room.
- apply_properties_from_dict(abridged_data, construction_sets, program_types, hvacs, shws, schedules)[source]¶
Apply properties from a Room2DEnergyPropertiesAbridged dictionary.
- Parameters:
abridged_data – A Room2DEnergyPropertiesAbridged dictionary (typically coming from a Model).
construction_sets – A dictionary of ConstructionSets with identifiers of the sets as keys, which will be used to re-assign construction_sets.
program_types – A dictionary of ProgramTypes with identifiers of the types ask keys, which will be used to re-assign program_types.
hvacs – A dictionary of HVACSystems with the identifiers of the systems as keys, which will be used to re-assign hvac to the Room.
shws – A dictionary of SHWSystems with the identifiers of the systems as keys, which will be used to re-assign shw to the Room.
schedules – A dictionary of Schedules with identifiers of the schedules as keys, which will be used to re-assign schedules.
- duplicate(new_host=None)[source]¶
Get a copy of this object.
- Parameters:
new_host – A new Room2D object that hosts these properties. If None, the properties will be duplicated with the same host.
- classmethod from_dict(data, host)[source]¶
Create Room2DEnergyProperties from a dictionary.
Note that the dictionary must be a non-abridged version for this classmethod to work.
- Parameters:
data – A dictionary representation of Room2DEnergyProperties in the format below.
host – A Room2D object that hosts these properties.
{ "type": 'Room2DEnergyProperties', "construction_set": {}, # A ConstructionSet dictionary "program_type": {}, # A ProgramType dictionary "hvac": {}, # A HVACSystem dictionary "shw": {}, # A SHWSystem dictionary "daylighting_control": {}, # A DaylightingControl dictionary "window_vent_control": {} # A VentilationControl dictionary "window_vent_opening": {} # A VentilationOpening dictionary "fans": [], # An array of VentilationFan dictionaries "process_loads": [] # An array of Process dictionaries }
- from_honeybee(hb_properties)[source]¶
Transfer energy attributes from a Honeybee Room to Dragonfly Room2D.
- Parameters:
hb_properties – The RoomEnergyProperties of the honeybee Room that is being translated to a Dragonfly Room2D.
- move(moving_vec)[source]¶
Move this object along a vector.
- Parameters:
moving_vec – A ladybug_geometry Vector3D with the direction and distance to move the object.
- reflect(plane)[source]¶
Reflect this object across a plane.
- Parameters:
plane – A ladybug_geometry Plane across which the object will be reflected.
- reset_to_default()[source]¶
Reset all of the energy properties assigned to this Room2D to the default.
This includes resetting the program the constructions set, and all other energy properties.
- rotate(angle, axis, origin)[source]¶
Rotate this object by a certain angle around an axis and origin.
- Parameters:
angle – An angle for rotation in degrees.
axis – Rotation axis as a Vector3D.
origin – A ladybug_geometry Point3D for the origin around which the object will be rotated.
- rotate_xy(angle, origin)[source]¶
Rotate this object counterclockwise in the world XY plane by a certain angle.
- Parameters:
angle – An angle in degrees.
origin – A ladybug_geometry Point3D for the origin around which the object will be rotated.
- scale(factor, origin=None)[source]¶
Scale this object by a factor from an origin point.
- Parameters:
factor – A number representing how much the object should be scaled.
origin – A ladybug_geometry Point3D representing the origin from which to scale. If None, it will be scaled from the World origin (0, 0, 0).
- to_dict(abridged=False)[source]¶
Return Room2D energy properties as a dictionary.
- Parameters:
abridged – Boolean for whether the full dictionary of the Room2D should be written (False) or just the identifier of the the individual properties (True). Default: False.
- to_honeybee(new_host)[source]¶
Get a honeybee version of this object.
- Parameters:
new_host – A honeybee-core Room object that will host these properties.
- property construction_set¶
Get or set the Room2D ConstructionSet object.
If not set, it will be set by the parent Story or will be the Honeybee default generic ConstructionSet.
- property daylighting_control¶
Get or set a DaylightingControl object to dictate the dimming of lights.
If None, the lighting will respond only to the schedule and not the daylight conditions within the room.
- property electric_equipment¶
Get the ElectricEquipment object to describe the equipment usage.
- property fans¶
Get or set an array of VentilationFan objects for fans within the room.
Note that these fans are not connected to the heating or cooling system and are 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).
For the specification of mechanical ventilation of conditioned outdoor air, the Room.ventilation property should be used and the Room should be given a HVAC that can meet this specification.
- property gas_equipment¶
Get the GasEquipment object to describe the equipment usage.
- property has_window_opening¶
Boolean to note whether the Room has operable windows with controls.
- property host¶
Get the Room2D object hosting these properties.
- property hvac¶
Get or set the HVAC object for the Room2D.
If None, it will be assumed that the Room2D is not conditioned.
- property infiltration¶
Get the Infiltration object to to describe the outdoor air leakage.
- property is_conditioned¶
Boolean to note whether the Room is conditioned.
- property lighting¶
Get the Lighting object to describe the lighting usage of the Room.
- property people¶
Get the People object to describe the occupancy of the Room.
- property process_loads¶
Get or set an array of Process objects for process loads within the Room2D.
- property program_type¶
Get or set the ProgramType object for the Room2D.
If not set, it will default to a plenum ProgramType (with no loads assigned).
- property service_hot_water¶
Get the ServiceHotWater object to describe the hot water usage.
- property setpoint¶
Get the Setpoint object for the temperature setpoints of the Room.
- property shw¶
Get or set the SHWSystem object for the Room2D.
If None, all hot water loads will be met with a system that doesn’t compute fuel or electricity usage.
- property total_fan_flow¶
Get a number for the total fan flow in m3/s within the room.
- property total_process_load¶
Get a number for the total process load in W within the room.
- property ventilation¶
Get the Ventilation object for the minimum outdoor air requirement.
- property window_vent_control¶
Get or set a VentilationControl object to dictate the opening of windows.
If None or no window_vent_opening object is assigned to this Room2D, the windows will never open.
- property window_vent_opening¶
Get or set a VentilationOpening object for the operability of all windows.
If None or no window_vent_control object is assigned to this Room2D, the windows will never open.