feature/upgrade_ep_to_23.2.0 #59

Merged
g_gutierrez merged 10 commits from feature/upgrade_ep_to_23.2.0 into main 2024-01-22 08:34:48 -05:00
Showing only changes of commit ac6b023080 - Show all commits

View File

@ -56,6 +56,9 @@ class Idf:
_SIMPLE = 'Simple' _SIMPLE = 'Simple'
_EQUIPMENT_CONNECTIONS = 'ZONEHVAC:EQUIPMENTCONNECTIONS' _EQUIPMENT_CONNECTIONS = 'ZONEHVAC:EQUIPMENTCONNECTIONS'
_NODE_LIST = 'NODELIST' _NODE_LIST = 'NODELIST'
_BASEBOARD ='ZONEHVAC:BASEBOARD:CONVECTIVE:ELECTRIC'
_AIR_TERMINAL_NO_REHEAT= 'AIRTERMINAL:SINGLEDUCT:CONSTANTVOLUME:NOREHEAT'
_AIR_DISTRIBUTION='ZONEHVAC:AIRDISTRIBUTIONUNIT'
idf_surfaces = { idf_surfaces = {
cte.WALL: 'wall', cte.WALL: 'wall',
@ -370,7 +373,6 @@ class Idf:
return return
self._idf.newidfobject(self._ZONE, Name=name, Volume=thermal_zone.volume) self._idf.newidfobject(self._ZONE, Name=name, Volume=thermal_zone.volume)
self._add_heating_system(thermal_zone, name) self._add_heating_system(thermal_zone, name)
#self._add_nodelist_system (name)
def _add_thermostat(self, thermal_zone): def _add_thermostat(self, thermal_zone):
thermostat_name = f'Thermostat {thermal_zone.usage_name}' thermostat_name = f'Thermostat {thermal_zone.usage_name}'
@ -402,6 +404,30 @@ class Idf:
Name=f'{zone_name} Return Node List', Name=f'{zone_name} Return Node List',
Node_1_Name='Node 3') Node_1_Name='Node 3')
def _add_baseboard_system(self, thermal_zone, zone_name):
for baseboard in self._idf.idfobjects[self._BASEBOARD]:
if baseboard.Zone_Name == zone_name:
return
self._idf.newidfobject(self._BASEBOARD, Name=f'Elec Baseboard',Availability_Schedule_Name='HVAC AVAIL')
def _add_air_terminal_system(self, thermal_zone, zone_name):
"""for air_terminal in self._idf.idfobjects[self._AIR_TERMINAL_NO_REHEAT]:
if air_terminal.Zone_Name == zone_name:
return"""
self._idf.newidfobject(self._AIR_TERMINAL_NO_REHEAT, Name=f'Diffuser',
Availability_Schedule_Name='HVAC AVAIL',
Air_Inlet_Node_Name='Node 4',
Air_Outlet_Node_Name='Node 2')
def _add_air_distribution_system(self, thermal_zone, zone_name):
"""for air_distribution in self._idf.idfobjects[self._AIR_DISTRIBUTION]:
if air_distribution.Zone_Name == zone_name:
return"""
self._idf.newidfobject(self._AIR_DISTRIBUTION,
Air_Distribution_Outlet_Node_Name='Node 2',
Air_Terminal_Name=f'Diffuser',
Air_Terminal_Object_Type='AirTerminal:SingleDuct:ConstantVolume:NoReheat')
def _add_occupancy(self, thermal_zone, zone_name): def _add_occupancy(self, thermal_zone, zone_name):
number_of_people = thermal_zone.occupancy.occupancy_density * thermal_zone.total_floor_area number_of_people = thermal_zone.occupancy.occupancy_density * thermal_zone.total_floor_area
fraction_radiant = 0 fraction_radiant = 0
@ -563,6 +589,9 @@ class Idf:
self._add_zone(thermal_zone, building.name) self._add_zone(thermal_zone, building.name)
self._add_heating_system(thermal_zone, building.name) self._add_heating_system(thermal_zone, building.name)
self._add_nodelist_system(thermal_zone,building.name) self._add_nodelist_system(thermal_zone,building.name)
self._add_baseboard_system(thermal_zone, building.name)
self._add_air_terminal_system(thermal_zone, building.name)
self._add_air_distribution_system(thermal_zone, building.name)
self._add_infiltration(thermal_zone, building.name) self._add_infiltration(thermal_zone, building.name)
self._add_ventilation(thermal_zone, building.name) self._add_ventilation(thermal_zone, building.name)
self._add_occupancy(thermal_zone, building.name) self._add_occupancy(thermal_zone, building.name)