py4design.buildingformeval module¶
-
py4design.buildingformeval.
calc_ettv
(srfs_shp_attribs_obj_list, epwweatherfile, mode='ettv')¶ This function calculates the ETTV or RETV of a building.
Parameters: srfs_shp_attribs_obj_list : list of ShapeAttributes objects
The geometry with all the attributes required for the calculation. All the surfaces of the buildings need to be defined through these functions: create_opaque_srf_shape_attribute(), create_glazing_shape_attribute(), create_shading_srf_shape_attribute().
epwweatherfile : str
The file path of the epw weatherfile.
mode : str
The calculation mode, options are “ettv” or “retv”.
Returns: result dictionary : dictionary
A dictionary with this keys : {mode, “facade_area”, “rttv”, “roof_area”}. The key mode is dependent on what the user has specified at the mode parameter, so it can be ettv/retv.
- mode(“ettv” or “retv”) : float
The ETTV/RETV of the building.
- facade_area : float
The area of the facade.
- rttv : float
The Roof Thermal Transfer Value of the building.
- roof_area : float
The area of the roof of the building.
-
py4design.buildingformeval.
glazing_sc2
(srfs_shp_attribs_obj_list, epwweatherfile)¶ This function calculates the shading coefficient 2 of the glazings.
Parameters: srfs_shp_attribs_obj_list : list of ShapeAttributes objects
The geometry with all the attributes required for the calculation. All the surfaces of the buildings need to be defined through these functions: create_opaque_srf_shape_attribute(), create_glazing_shape_attribute(), create_shading_srf_shape_attribute().
epwweatherfile : str
The file path of the epw weatherfile.
Returns: srfs_shp_attribs_obj_list : list of ShapeAttributes objects
List of ShapeAttributes objects appended with the sc2 attribute.
-
py4design.buildingformeval.
calc_dir_pitch_angle
(srfs_shp_attribs_obj_list, mode='ettv')¶ This function calculates the Correction factor, direction and pitch angle of each face of the building.
Parameters: srfs_shp_attribs_obj_list : list of ShapeAttributes objects
The geometry with all the attributes required for the calculation. All the surfaces of the buildings need to be defined through these functions: create_opaque_srf_shape_attribute(), create_glazing_shape_attribute(), create_shading_srf_shape_attribute().
mode : str
The calculation will be done according to whether it is for “ettv” or “retv” calculation.
Returns: srfs_shp_attribs_obj_list : list of ShapeAttributes objects
List of ShapeAttributes objects appended with the “cf”, “pitch_angle” and “direction” attributes.
-
py4design.buildingformeval.
create_glazing_shape_attribute
(occ_face, uvalue, shading_coefficient1, srf_type)¶ This function creates the glazing ShapeAttributes class and its attributes.
Parameters: occ_face : list of OCCfaces
The faces to be appended with the glazing attributes.
uvalue : float
The value of the “uvalue” attribute to be appended to the surface.
sc1 : float
The value of the “sc1” attribute to be appended to the surface.
srf_type : str
The type of the surface, srf_type can be either “window” or “skylight”.
Returns: srfs_shp_attribs_obj_list : list of ShapeAttributes objects
List of ShapeAttributes objects appended with the “uvalue”, “sc1” and “type” attributes.
-
py4design.buildingformeval.
create_opaque_srf_shape_attribute
(occ_face, uvalue, srf_type)¶ This function creates the opaque surface ShapeAttributes class and its attributes.
Parameters: occ_face : list of OCCfaces
The faces to be appended with the opaque surface attributes.
uvalue : float
The value of the “uvalue” attribute to be appended to the surface.
srf_type : str
The type of the surface, srf_type can be either “wall” or “roof”.
Returns: srfs_shp_attribs_obj_list : list of ShapeAttributes objects
List of ShapeAttributes objects appended with the “uvalue” and “type” attributes.
-
py4design.buildingformeval.
create_shading_srf_shape_attribute
(occ_face, srf_type)¶ This function creates the shading surface ShapeAttributes class and its attributes.
Parameters: occ_face : list of OCCfaces
The faces to be appended with the shading attributes.
srf_type : str
The type of the surface, srf_type can be either “footprint”, “shade” or “surrounding”.
Returns: srfs_shp_attribs_obj_list : list of ShapeAttributes objects
List of ShapeAttributes objects appended with the “type” attributes.
-
py4design.buildingformeval.
read_cf_file
(filepath, pitch_angle, direction)¶ This function reads the correction factor csv file.
Parameters: filepath : str
The file path of the correction csv file.
pitch_angle : float
The pitch angle of the surface.
direction : str
The direction of the surface, the options are “north”, “south”, “east”, “west”, “northeast”, “northwest”, “southeast”, “southwest”.
Returns: correction factor : float
The correction factor from the csv file.
-
py4design.buildingformeval.
calc_cooling_energy_consumption
(facade_area, roof_area, floor_area, ettv, rttv, equip_load_per_area=25.0, occ_load_per_person=75.0, light_load_per_area=15.0, area_per_person=10.0, m3_sec_per_person=0.006, operation_hrs=3120)¶ This function calculates the cooling energy consumption of the conditioned space using two different systems (dvu & radiant panels and central all air).
Parameters: facade_area : float
The total area of the facade of the conditioned space.
roof_area : float
The total area of the roof of the conditioned space.
floor_area : float
The total area of the floor of the conditioned space.
ettv : float
The ettv/retv of the conditioned space.
rttv : float
The rttv of the conditioned space.
equip_load_per_area : float, optional
The equipment load per area of the conditioned space, default = 25.0 W/m2
occ_load_per_person : float, optional
The occupancy load per person of the conditioned space, default = 75.0 W/person.
light_load_per_area : float, optional
The lighting load per area of the conditioned space, default = 15.0 W/m2.
area_per_person : float, optional
The amount of area for a person in the conditioned space, default = 10.0 m2/person.
m3_sec_per_person : float, optional
The ventilation rate per person of the conditioned space, default = 0.006 m3/person.
operation_hrs : int, optional
The total operational hours of the conditioned space, default =3120 hrs, assuming a a 12hrs day, 5 days week for 52 weeks a year.
Returns: results for the two systems: list of dictionaries
Refer to radiant_panel_dvu_system() & central_all_air_system() for the description of the dictionaries.
-
py4design.buildingformeval.
choose_efficient_cooling_system
(system_dict_list)¶ This function chooses the more efficient systems of the two systems (dvu & radiant panels and central all air).
Parameters: system_dict_list : list of dictionaries
The systems to be compared and chosen. Refer to radiant_panel_dvu_system() & central_all_air_system() for the description of the dictionaries.
Returns: efficient system: list of dictionaries
The chosen dictionary of the system.
-
py4design.buildingformeval.
radiant_panel_dvu_system
(sensible_load, latent_load, floor_area, area_per_person=10.0, m3_sec_per_person=0.006, operation_hrs=3120, dvu_airflow_rate_m3_sec=0.02)¶ This function calculates the cooling energy consumption of the conditioned space using dvu & radiant panels.
Parameters: sensible_load : float
The sensible load of the conditioned space (W).
latent_load : float
The latent load of the conditioned space (W).
floor_area : float
The floor area of the conditioned space.
area_per_person : float, optional
The amount of area for a person in the conditioned space, default = 10.0 m2/person.
m3_sec_per_person : float, optional
The ventilation rate per person of the conditioned space, default = 0.006 m3/person.
operation_hrs : int, optional
The total operational hours of the conditioned space, default =3120 hrs, assuming a a 12hrs day, 5 days week for 52 weeks a year.
dvu_airflow_rate_m3_sec : float, optional
The ventilation rate of the dvu system, default = 0.02 m3/s.
Returns: system result dictionary : dictionary
A dictionary with this keys : {“feasible”, “energy_consumed_hr”, “energy_consumed_yr”, “energy_consumed_yr_m2”, “sensible_cop”, “latent_cop”, “overall_cop”, “required_panel_area”, “available_panel_area”, “supply_temperature_for_panels”, “sensible_load”, “latent_load”, “sensible_load_dvu”, “sensible_panel”, “panel_max_capacity”, “required_dvus”, “cooling_system”}.
- feasible : bool
True or False, if True the space can be conditioned with dvus + panels, if False cannot be conditioned.
- energy_consumed_hr : float
The average energy consumed by the cooling system (Wh). This key exist only if feasible = True.
- energy_consumed_yr : float
The energy consumed by the cooling system in a year (kWh), equals to energy_consumed_hr x operation hours. This key exist only if feasible = True.
- energy_consumed_yr_m2 : float
The energy consumed by the cooling system in a year normalised by the floor area (kWh/m2), equals to (energy_consumed_hr x operation hours)/floor area. This key exist only if feasible = True.
- sensible_cop : float
The Coefficient of Performance of the sensible chiller. This key exist only if feasible = True.
- latent_cop : float
The Coefficient of Performance of the latent chiller. This key exist only if feasible = True.
- overall_cop : float
The Coefficient of Performance of the overall system. This key exist only if feasible = True.
- required_panel_area : float
The area required for the radiant panels to provide sufficient sensible cooling (m2). This key exist only if feasible = True.
- available_panel_area : float
The area available for the radiant panels to provide sensible cooling (m2). This key exist only if feasible = True.
- supply_temperature_for_panels : float
The supply temperature used by the radiant panels to provide sensible cooling (K). This key exist only if feasible = True.
- sensible_load : float
The sensible load of the conditioned space (W).
- latent_load : float
The latent load of the conditioned space (W).
- sensible_load_dvu : float
The sensible cooling provided by the DVUs (W). This key exist only if feasible = True.
- sensible_panel : float
The sensible load that has to be cooled by the radiant panel (W), it is equal to sensible_load - sensible_load_dvu. This key exist only if feasible = True.
- panel_max_capacity : float
The maximum cooling capacity of the radiant panels (W).
- required_dvus : int
The number of DVUs required. This key exist only if feasible = True.
- cooling_system : str
Specifies the cooling system used, the value is “Radiant Panels & DVUs”.
-
py4design.buildingformeval.
calc_radiant_panel_cooling_rate
(supply_temp_kelvin, aust_kelvin=298.15, indoor_air_temp_kelvin=298.15)¶ This function calculates the cooling rate of the radiant panels (W/m2). The calculation is based on the ASHRAE guide.
Parameters: supply_temp_kelvin : float
The supply temperature used by the radiant panels to provide sensible cooling (K).
aust_kelvin : float, optional
The area weighted temperature of all indoor surfaces (K), default = 298.15.
indoor_air_temp_kelvin : float, optional
The average indoor air temperature (K), default = 298.15.
Returns: cooling_rate : float
The cooling rate of the panels in W/m2.
-
py4design.buildingformeval.
central_all_air_system
(sensible_load, latent_load, floor_area, operation_hrs=3120)¶ This function calculates the cooling energy consumption of the conditioned space using a central all air system.
Parameters: sensible_load : float
The sensible load of the conditioned space (W).
latent_load : float
The latent load of the conditioned space (W).
floor_area : float
The floor area of the conditioned space.
operation_hrs : int, optional
The total operational hours of the conditioned space, default =3120 hrs, assuming a a 12hrs day, 5 days week for 52 weeks a year.
Returns: system result dictionary : dictionary
A dictionary with this keys : {“feasible”, “energy_consumed_hr”, “energy_consumed_yr”, “energy_consumed_yr_m2”, “overall_cop”, “sensible_load”, “latent_load”, “cooling_system”}
- feasible : bool
True or False, if True the space can be conditioned with dvus + panels, if False cannot be conditioned.
- energy_consumed_hr : float
The average energy consumed by the cooling system (Wh). This key exist only if feasible = True.
- energy_consumed_yr : float
The energy consumed by the cooling system in a year (kWh), equals to energy_consumed_hr x operation hours. This key exist only if feasible = True.
- energy_consumed_yr_m2 : float
The energy consumed by the cooling system in a year normalised by the floor area (kWh/m2), equals to (energy_consumed_hr x operation hours)/floor area. This key exist only if feasible = True.
- overall_cop : float
The Coefficient of Performance of the overall system. This key exist only if feasible = True.
- sensible_load : float
The sensible load of the conditioned space (W).
- latent_load : float
The latent load of the conditioned space (W).
- cooling_system : str
Specifies the cooling system used, the value is “Central All-Air System”.
-
py4design.buildingformeval.
calc_cooling_cop
(supply_temp_kelvin, heat_rej_temp_kelvin, chiller_efficiency=0.4)¶ This function calculates the cooling Coefficient of Performance (COP) of the chiller.
Parameters: supply_temp_kelvin : float
The supply temperature used by the system to provide sensible cooling (K).
heat_rej_temp_kelvin : float
The heat rejection temperature achieved by the heat rejection system. In Singapore, about 28 degree celsius can be used.
chiller_efficiency : float, optional
The efficiency of the chiller, default = 0.4. A good chiller can have an efficiency of up to 0.6.
Returns: cooling_cop : float
The cooling cop of the system.
-
py4design.buildingformeval.
calc_sensible_load
(facade_area, roof_area, floor_area, ettv, rttv, equip_load_per_area=25.0, occ_load_per_person=75.0, light_load_per_area=15.0, area_per_person=10.0)¶ This function calculates the sensible load of an air conditioned space.
Parameters: facade_area : float
The total area of the facade of the conditioned space.
roof_area : float
The total area of the roof of the conditioned space.
floor_area : float
The total area of the floor of the conditioned space.
ettv : float
The ettv/retv of the conditioned space.
rttv : float
The rttv of the conditioned space.
equip_load_per_area : float, optional
The equipment load per area of the conditioned space, default = 25.0 W/m2
occ_load_per_person : float, optional
The occupancy load per person of the conditioned space, default = 75.0 W/person.
light_load_per_area : float, optional
The lighting load per area of the conditioned space, default = 15.0 W/m2.
area_per_person : float, optional
The amount of area for a person in the conditioned space, default = 10.0 m2/person.
Returns: sensible_load: float
The sensible load of the conditioned space (W).
-
py4design.buildingformeval.
calc_latent_load
(floor_area, area_per_person=10.0, m3_sec_per_person=0.006)¶ This function calculates the latent load of an air conditioned space.
Parameters: floor_area : float
The total area of the floor of the conditioned space.
area_per_person : float, optional
The amount of area for a person in the conditioned space, default = 10.0 m2/person.
m3_sec_per_person : float, optional
The ventilation rate per person of the conditioned space, default = 0.006 m3/person.
Returns: laten_load: float
The latent load of the conditioned space (W).
-
py4design.buildingformeval.
calc_mass_of_air
(occupancy, m3_sec_per_person)¶ This function calculates the mass of air for the ventilation.
Parameters: occupancy : int
The occupancy of the conditioned space.
m3_sec_per_person : float
The ventilation rate per person of the conditioned space, in Singapore it is 0.006 m3/person.
Returns: mass_of_air: float
The mass of air required for ventilation (kg).