honeybee_energy.result.loadbalance module¶
Module for constructing thermal load balances from energy result data collections.
- class honeybee_energy.result.loadbalance.LoadBalance(rooms, cooling_data=None, heating_data=None, lighting_data=None, electric_equip_data=None, gas_equip_data=None, process_data=None, service_hot_water_data=None, people_data=None, solar_data=None, infiltration_data=None, mech_ventilation_data=None, nat_ventilation_data=None, surface_flow_data=None, units='Meters', use_all_solar=False)[source]¶
Bases:
object
Object for constructing thermal load balances from energy results.
- Parameters:
rooms – An array of honeybee Rooms, which will be matched to the input data collections and used to determine which heat flow values are through outdoor surfaces. The length of these Rooms does not have to match the data collections and this object will only construct a load balance for rooms that are found to be matching.
cooling_data – Array of data collections for ‘Zone Ideal Loads Supply Air Total Cooling Energy’ that correspond to the input rooms.
heating_data – Array of data collections for ‘Zone Ideal Loads Supply Air Total Heating Energy’ that correspond to the input rooms.
lighting_data – Array of data collections for ‘Zone Lights Total Heating Energy’ that correspond to the input rooms.
electric_equip_data – Array of data collections for ‘Zone Electric Equipment Total Heating Energy’ that correspond to the input rooms.
gas_equip_data – Array of data collections for ‘Zone Gas Equipment Total Heating Energy’ that correspond to the input rooms.
process_data – Array of data collections for ‘Zone Other Equipment Total Heating Energy’ that correspond to the input rooms.
service_hot_water_data – Array of data collections for ‘Water Use Equipment Zone Heat Gain Energy’ that correspond to the input rooms.
people_data – Array of data collections for ‘Zone People Total Heating Energy’ that correspond to the input rooms.
solar_data – Array of data collections for ‘Zone Windows Total Transmitted Solar Radiation Energy’ that correspond to the input rooms.
infiltration_data – The infiltration heat loss (negative) or heat gain (positive), which can be obtained by subtracting ‘Zone Infiltration Total Heat Loss Energy’ data collections from ‘Zone Infiltration Total Heat Gain Energy’ data collections.
mech_ventilation_data – The ventilation heat loss (negative) or heat gain (positive) as a result of meeting minimum outdoor air requirements with the mechanical system. This can be obtained by first subtracting ‘Zone Ideal Loads Zone Total Energy’ from ‘Zone Ideal Loads Supply Air Total Energy’ for both heating and cooling loads. Then the resulting heating load (ventilation loss) should be subtracted from the cooling load (ventilation gain).
nat_ventilation_data – The natural ventilation heat loss (negative) or heat gain (positive) which can be obtained by subtracting ‘Zone Ventilation Total Heat Loss Energy’ data collections from ‘Zone Ventilation Total Heat Gain Energy’ data collections.
surface_flow_data – The surface heat loss (negative) or heat gain (positive), which can be obtained for opaque surfaces with a ‘Surface Average Face Conduction Heat Transfer Energy’ data collection. For fenestration surfaces, it can be obtained by by subtracting ‘Surface Window Heat Loss Energy’ data collections from ‘Surface Window Heat Gain Energy’ data collections.
units –
Text for the units system in which the room geometry exists. Choose from the following:
Meters
Millimeters
Feet
Inches
Centimeters
use_all_solar – Boolean to note whether all of the solar_data should be used in the resulting load balance, regardless of whether it has been matched to the rooms. This is useful for the case that air boundaries exist in a model and solar data is reported for grouped zones. (Default: False).
- Properties:
rooms
floor_area
cooling
heating
lighting
electric_equip
gas_equip
process
service_hot_water
people
solar
infiltration
mech_ventilation
nat_ventilation
conduction
window_conduction
opaque_conduction
wall_conduction
roof_conduction
floor_conduction
storage
floor_storage
wall_storage
window_storage
air_storage
units
- classmethod from_sql_file(model, sql_path)[source]¶
Create a LoadBalance object from an EnergyPlus SQLite result file.
- Parameters:
model – A honeybee Model, which will have its rooms matched to the input data collections and used to determine which heat flow values are through outdoor surfaces.
sql_path – Full path to an SQLite file that was generated by EnergyPlus. this file should have the relevant load balance outputs in the ReportData table.
- classmethod from_sql_file_rooms(rooms, sql_path, units='Meters')[source]¶
Create a LoadBalance object from a SQLite result file and Rooms.
This method will perform a check such that, if the rooms do not have properties that can be matched to certain data in the SQL, no exception will be raised. Note that, if the input rooms contain AirBoundaries, the solar term of the resulting balance will not be correct.
- Parameters:
rooms – An array of honeybee Rooms, which will be matched to the input data collections and used to determine which heat flow values are through outdoor surfaces. The length of these Rooms does not have to match the data collections and this object will only construct a load balance for rooms that are found to be matching.
sql_path – Full path to an SQLite file that was generated by EnergyPlus. this file should have the relevant load balance outputs in the ReportData table.
units –
Text for the units system in which the room geometry exists. Choose from the following:
Meters
Millimeters
Feet
Inches
Centimeters
- load_balance_terms(floor_normalized=False, include_storage=False, detailed_faces=False)[source]¶
Get a list of data collections with one for each term in the load balance.
Terms of the load balance that are None will be excluded from this list. Conduction terms will only appear as opaque and window conduction terms.
- Parameters:
floor_normalized – Boolean to note whether all of the output data collections should have values that are normalized by the Room floor area.
include_storage – Boolean to note whether the storage term should be included in the list.
detailed_faces – Boolean to note whether the opaque conduction losses should be broken down into walls, roofs, and floors. Setting this to True will also cause storage to be broken down into storage in walls, floors, windows, and air. (Default: False).
- static load_data_from_sql(sql_path)[source]¶
Load all data collections relevant to load balances from a SQL file.
- Parameters:
sql_path – Full path to an SQLite file that was generated by EnergyPlus. this file should have the relevant load balance outputs in the ReportData table.
- Returns:
A tuple where each item is a list of data collections relevant to load balances.
- static mech_vent_loss_gain(zone_cooling, zone_heating, cooling, heating)[source]¶
Compute mechanical ventilation loss/gain from lists of data collections.
- Parameters:
zone_cooling – A list of data collections for zone-level cooling.
zone_heating – A list of data collections for zone-level heating.
cooling – A list of data collections for supply air cooling.
heating – A list of data collections for supply air heating.
- static subtract_loss_from_gain(load_gain, load_loss)[source]¶
Subtract an array of load loss data collections from load gain collections.
This is what is needed for certain LoadBalance inputs like infiltration and natural ventilation.
- Parameters:
load_gain – A list of data collections with load gains.
load_loss – A list of data collections with load losses.
- COOLING = ('Zone Ideal Loads Supply Air Total Cooling Energy', 'Zone Ideal Loads Supply Air Sensible Cooling Energy', 'Zone Ideal Loads Supply Air Latent Cooling Energy')¶
- ELECTRIC_EQUIP = ('Zone Electric Equipment Electricity Energy', 'Zone Electric Equipment Total Heating Energy', 'Zone Electric Equipment Radiant Heating Energy', 'Zone Electric Equipment Convective Heating Energy', 'Zone Electric Equipment Latent Gain Energy')¶
- EXTERIOR_BCS = (<class 'honeybee.boundarycondition.Outdoors'>, <class 'honeybee.boundarycondition.Ground'>, <class 'honeybee_energy.boundarycondition.OtherSideTemperature'>)¶
- GAS_EQUIP = ('Zone Gas Equipment NaturalGas Energy', 'Zone Gas Equipment Total Heating Energy', 'Zone Gas Equipment Radiant Heating Energy', 'Zone Gas Equipment Convective Heating Energy', 'Zone Gas Equipment Latent Gain Energy')¶
- HEATING = ('Zone Ideal Loads Supply Air Total Heating Energy', 'Zone Ideal Loads Supply Air Sensible Heating Energy', 'Zone Ideal Loads Supply Air Latent Heating Energy')¶
- HOT_WATER = ('Water Use Equipment Zone Sensible Heat Gain Energy', 'Water Use Equipment Zone Latent Gain Energy')¶
- INFIL_GAIN = ('Zone Infiltration Total Heat Gain Energy', 'Zone Infiltration Sensible Heat Gain Energy', 'Zone Infiltration Latent Heat Gain Energy', 'AFN Zone Infiltration Sensible Heat Gain Energy', 'AFN Zone Infiltration Latent Heat Gain Energy')¶
- INFIL_LOSS = ('Zone Infiltration Total Heat Loss Energy', 'Zone Infiltration Sensible Heat Loss Energy', 'Zone Infiltration Latent Heat Loss Energy', 'AFN Zone Infiltration Sensible Heat Loss Energy', 'AFN Zone Infiltration Latent Heat Loss Energy')¶
- INTERIOR_BCS = (<class 'honeybee.boundarycondition.Surface'>, <class 'honeybee_energy.boundarycondition.Adiabatic'>)¶
- LIGHTING = ('Zone Lights Electricity Energy', 'Zone Lights Total Heating Energy')¶
- NAT_VENT_GAIN = ('Zone Ventilation Sensible Heat Gain Energy', 'Zone Ventilation Latent Heat Gain Energy', 'AFN Zone Ventilation Sensible Heat Gain Energy', 'AFN Zone Ventilation Latent Heat Gain Energy')¶
- NAT_VENT_LOSS = ('Zone Ventilation Sensible Heat Loss Energy', 'Zone Ventilation Latent Heat Loss Energy', 'AFN Zone Ventilation Sensible Heat Loss Energy', 'AFN Zone Ventilation Latent Heat Loss Energy')¶
- OPAQUE_ENERGY_FLOW = 'Surface Inside Face Conduction Heat Transfer Energy'¶
- PEOPLE_GAIN = ('Zone People Total Heating Energy', 'Zone People Sensible Heating Energy', 'Zone People Latent Gain Energy')¶
- PROCESS = ('Zone Other Equipment Total Heating Energy', 'Zone Other Equipment Convective Heating Energy', 'Zone Other Equipment Radiant Heating Energy', 'Zone Other Equipment Latent Heating Energy')¶
- SOLAR_GAIN = ('Zone Windows Total Transmitted Solar Radiation Energy', 'Enclosure Windows Total Transmitted Solar Radiation Energy')¶
- UNITS = ('Meters', 'Millimeters', 'Feet', 'Inches', 'Centimeters')¶
- VENT_GAIN = ('Zone Ideal Loads Zone Total Cooling Energy', 'Zone Ideal Loads Zone Sensible Cooling Energy', 'Zone Ideal Loads Zone Latent Cooling Energy')¶
- VENT_LOSS = ('Zone Ideal Loads Zone Total Heating Energy', 'Zone Ideal Loads Zone Sensible Heating Energy', 'Zone Ideal Loads Zone Latent Heating Energy')¶
- WINDOW_GAIN = 'Surface Window Heat Gain Energy'¶
- WINDOW_LOSS = 'Surface Window Heat Loss Energy'¶
- property air_storage¶
Get a data collection for heat loss/gain from storage within Room air.
This term is computed as the remainder of the load balance after storage within walls, floors and windows is removed.
- property conduction¶
Get a data collection for all conduction loss/gain of the load balance.
- property cooling¶
Get a data collection for the cooling of the load balance.
- property electric_equip¶
Get a data collection for the electric equipment gain of the load balance.
- property floor_area¶
Get or set a number for the total floor area in square meters or square feet.
By default, this is the floor area of only the successfully-matched rooms.
This floor area accounts for Room multipliers and will always be in either square meters or square feet depending on whether this object’s units are either SI or IP.
- property floor_conduction¶
Get a data collection for floor conduction loss/gain of the load balance.
- property floor_storage¶
Get a data collection for heat loss/gain from storage within interior floors.
When the model is for a single room or subset of a whole building, this term will indicate heat loss to adjacent Rooms through interior Floors. It also includes all heat exchange that happens across Ceilings.
- property gas_equip¶
Get a data collection for the gas equipment gain of the load balance.
- property heating¶
Get a data collection for the heating of the load balance.
- property infiltration¶
Get a data collection for the infiltration gain/loss of the load balance.
- property lighting¶
Get a data collection for the lighting gain of the load balance.
- property mech_ventilation¶
Get a data collection for the mechanical ventilation of the load balance.
- property nat_ventilation¶
Get a data collection for the natural ventilation of the load balance.
- property opaque_conduction¶
Get a data collection for opaque conduction loss/gain of the load balance.
- property people¶
Get a data collection for the people gain of the load balance.
- property process¶
Get a data collection for the process load gain of the load balance.
- property roof_conduction¶
Get a data collection for roof conduction loss/gain of the load balance.
- property rooms¶
Get the Rooms that have been successfully matched to the input data.
- property service_hot_water¶
Get a data collection for the service hot water gain of the load balance.
- property solar¶
Get a data collection for the solar gain of the load balance.
- property storage¶
Get a data collection for the remainder of the load balance, indicating storage.
- property units¶
Get or set text for the units system in which the room geometry exists.
- property wall_conduction¶
Get a data collection for wall conduction loss/gain of the load balance.
- property wall_storage¶
Get a data collection for heat loss/gain from storage within interior walls.
When the model is for a single room or subset of a whole building, this term will indicate heat loss to adjacent Rooms through interior Walls. It also includes all heat exchange that happens across AirBoundaries.
- property window_conduction¶
Get a data collection for window conduction loss/gain of the load balance.
- property window_storage¶
Get a data collection for heat loss/gain from storage within interior windows.
This will also include any heat transfer from doors. For full building models, this term should typically be very close to zero given that EnergyPlus Fenestration surfaces don’t typically have thermal mass. However, when the model is for a single room or subset of a whole building, this term will indicate heat loss to adjacent Rooms through interior windows.