Incorporation of ventilation that previously was not writing idf. Working.
Incorporation of percentual losses in distribution
This commit is contained in:
parent
de066b25fb
commit
c77c03b759
|
@ -113,50 +113,18 @@
|
|||
<electrical_efficiency>0.22</electrical_efficiency>
|
||||
<storage>true</storage>
|
||||
</system>
|
||||
<system id="11" type="water distribution and fancoils" fuel_type="electricity">
|
||||
<name>Water distribution and fancoils</name>
|
||||
<demands>
|
||||
<demand>electricity</demand>
|
||||
</demands>
|
||||
<distribution_heat_losses units="%">0</distribution_heat_losses>
|
||||
<distribution_consumption_fix_flow units="%">4</distribution_consumption_fix_flow>
|
||||
<distribution_consumption_variable_flow units="%">4</distribution_consumption_variable_flow>
|
||||
<storage>false</storage>
|
||||
</system>
|
||||
<system id="12" type="air distribution central" fuel_type="electricity">
|
||||
<name>Air distribution central</name>
|
||||
<demands>
|
||||
<demand>electricity</demand>
|
||||
</demands>
|
||||
<distribution_heat_losses units="%">0</distribution_heat_losses>
|
||||
<distribution_consumption_fix_flow units="%">4</distribution_consumption_fix_flow>
|
||||
<distribution_consumption_variable_flow units="%">4</distribution_consumption_variable_flow>
|
||||
<storage>false</storage>
|
||||
</system>
|
||||
<system id="13" type="DX distribution central" fuel_type="electricity">
|
||||
<name>DX distribution central</name>
|
||||
<demands>
|
||||
<demand>electricity</demand>
|
||||
</demands>
|
||||
<distribution_heat_losses units="%">0</distribution_heat_losses>
|
||||
<distribution_consumption_fix_flow units="%">4</distribution_consumption_fix_flow>
|
||||
<distribution_consumption_variable_flow units="%">4</distribution_consumption_variable_flow>
|
||||
<storage>false</storage>
|
||||
</system>
|
||||
</systems>
|
||||
<system_clusters>
|
||||
<system_cluster name="system 1 gas">
|
||||
<systems>
|
||||
<system_id>1</system_id>
|
||||
<system_id>7</system_id>
|
||||
<system_id>13</system_id>
|
||||
</systems>
|
||||
</system_cluster>
|
||||
<system_cluster name="system 1 gas pv">
|
||||
<systems>
|
||||
<system_id>1</system_id>
|
||||
<system_id>7</system_id>
|
||||
<system_id>13</system_id>
|
||||
<system_id>10</system_id>
|
||||
</systems>
|
||||
</system_cluster>
|
||||
|
@ -164,14 +132,12 @@
|
|||
<systems>
|
||||
<system_id>2</system_id>
|
||||
<system_id>7</system_id>
|
||||
<system_id>13</system_id>
|
||||
</systems>
|
||||
</system_cluster>
|
||||
<system_cluster name="system 1 electricity pv">
|
||||
<systems>
|
||||
<system_id>2</system_id>
|
||||
<system_id>7</system_id>
|
||||
<system_id>13</system_id>
|
||||
<system_id>10</system_id>
|
||||
</systems>
|
||||
</system_cluster>
|
||||
|
@ -179,14 +145,12 @@
|
|||
<systems>
|
||||
<system_id>1</system_id>
|
||||
<system_id>8</system_id>
|
||||
<system_id>11</system_id>
|
||||
</systems>
|
||||
</system_cluster>
|
||||
<system_cluster name="system 2 gas pv">
|
||||
<systems>
|
||||
<system_id>1</system_id>
|
||||
<system_id>8</system_id>
|
||||
<system_id>11</system_id>
|
||||
<system_id>10</system_id>
|
||||
</systems>
|
||||
</system_cluster>
|
||||
|
@ -194,14 +158,12 @@
|
|||
<systems>
|
||||
<system_id>2</system_id>
|
||||
<system_id>8</system_id>
|
||||
<system_id>11</system_id>
|
||||
</systems>
|
||||
</system_cluster>
|
||||
<system_cluster name="system 2 electricity pv">
|
||||
<systems>
|
||||
<system_id>2</system_id>
|
||||
<system_id>8</system_id>
|
||||
<system_id>11</system_id>
|
||||
<system_id>10</system_id>
|
||||
</systems>
|
||||
</system_cluster>
|
||||
|
@ -209,14 +171,12 @@
|
|||
<systems>
|
||||
<system_id>3</system_id>
|
||||
<system_id>4</system_id>
|
||||
<system_id>13</system_id>
|
||||
</systems>
|
||||
</system_cluster>
|
||||
<system_cluster name="system 3 and 4 gas pv">
|
||||
<systems>
|
||||
<system_id>3</system_id>
|
||||
<system_id>4</system_id>
|
||||
<system_id>13</system_id>
|
||||
<system_id>10</system_id>
|
||||
</systems>
|
||||
</system_cluster>
|
||||
|
@ -224,27 +184,23 @@
|
|||
<systems>
|
||||
<system_id>4</system_id>
|
||||
<system_id>4</system_id>
|
||||
<system_id>13</system_id>
|
||||
</systems>
|
||||
</system_cluster>
|
||||
<system_cluster name="system 3 and 4 electricity pv">
|
||||
<systems>
|
||||
<system_id>4</system_id>
|
||||
<system_id>4</system_id>
|
||||
<system_id>13</system_id>
|
||||
<system_id>10</system_id>
|
||||
</systems>
|
||||
</system_cluster>
|
||||
<system_cluster name="system 5">
|
||||
<systems>
|
||||
<system_id>8</system_id>
|
||||
<system_id>11</system_id>
|
||||
</systems>
|
||||
</system_cluster>
|
||||
<system_cluster name="system 5 pv">
|
||||
<systems>
|
||||
<system_id>8</system_id>
|
||||
<system_id>11</system_id>
|
||||
<system_id>10</system_id>
|
||||
</systems>
|
||||
</system_cluster>
|
||||
|
@ -252,14 +208,12 @@
|
|||
<systems>
|
||||
<system_id>5</system_id>
|
||||
<system_id>8</system_id>
|
||||
<system_id>12</system_id>
|
||||
</systems>
|
||||
</system_cluster>
|
||||
<system_cluster name="system 6 gas pv">
|
||||
<systems>
|
||||
<system_id>5</system_id>
|
||||
<system_id>8</system_id>
|
||||
<system_id>12</system_id>
|
||||
<system_id>10</system_id>
|
||||
</systems>
|
||||
</system_cluster>
|
||||
|
@ -267,14 +221,12 @@
|
|||
<systems>
|
||||
<system_id>6</system_id>
|
||||
<system_id>8</system_id>
|
||||
<system_id>12</system_id>
|
||||
</systems>
|
||||
</system_cluster>
|
||||
<system_cluster name="system 6 electricity pv">
|
||||
<systems>
|
||||
<system_id>6</system_id>
|
||||
<system_id>8</system_id>
|
||||
<system_id>12</system_id>
|
||||
<system_id>10</system_id>
|
||||
</systems>
|
||||
</system_cluster>
|
||||
|
|
|
@ -427,32 +427,32 @@ class Idf:
|
|||
for zone in self._idf.idfobjects["ZONE"]:
|
||||
if zone.Name == f'{zone_name}_infiltration':
|
||||
return
|
||||
schedule = f'Infiltration schedules {thermal_zone.usage_name}'
|
||||
if schedule not in self._idf.idfobjects[self._HOURLY_SCHEDULE]:
|
||||
return
|
||||
self._idf.newidfobject(self._INFILTRATION,
|
||||
Name=f'{zone_name}_infiltration',
|
||||
Zone_or_ZoneList_Name=zone_name,
|
||||
Schedule_Name=schedule,
|
||||
Design_Flow_Rate_Calculation_Method='AirChanges/Hour',
|
||||
Air_Changes_per_Hour=thermal_zone.infiltration_rate_system_off
|
||||
)
|
||||
schedule = f'Ventilation schedules {thermal_zone.usage_name}'
|
||||
#if schedule not in self._idf.idfobjects[self._HOURLY_SCHEDULE]:
|
||||
# return
|
||||
self._idf.newidfobject(self._INFILTRATION,
|
||||
Name=f'{zone_name}_infiltration',
|
||||
Zone_or_ZoneList_Name=zone_name,
|
||||
Schedule_Name=schedule,
|
||||
Design_Flow_Rate_Calculation_Method='AirChanges/Hour',
|
||||
Air_Changes_per_Hour=thermal_zone.infiltration_rate_system_off
|
||||
)
|
||||
|
||||
def _add_ventilation(self, thermal_zone, zone_name):
|
||||
for zone in self._idf.idfobjects["ZONE"]:
|
||||
if zone.Name == f'{zone_name}_ventilation':
|
||||
return
|
||||
schedule = f'Ventilation schedules {thermal_zone.usage_name}'
|
||||
if schedule not in self._idf.idfobjects[self._HOURLY_SCHEDULE]:
|
||||
return
|
||||
# todo: revise ventilation with Pilar
|
||||
self._idf.newidfobject(self._VENTILATION,
|
||||
Name=f'{zone_name}_ventilation',
|
||||
Zone_or_ZoneList_Name=zone_name,
|
||||
Schedule_Name=schedule,
|
||||
Design_Flow_Rate_Calculation_Method='AirChanges/Hour',
|
||||
Flow_Rate_per_Zone_Floor_Area=thermal_zone.mechanical_air_change
|
||||
)
|
||||
schedule = f'Ventilation schedules {thermal_zone.usage_name}'
|
||||
#if schedule not in self._idf.idfobjects[self._HOURLY_SCHEDULE]:
|
||||
# return
|
||||
# todo: revise ventilation with Pilar
|
||||
self._idf.newidfobject(self._VENTILATION,
|
||||
Name=f'{zone_name}_ventilation',
|
||||
Zone_or_ZoneList_Name=zone_name,
|
||||
Schedule_Name=schedule,
|
||||
Design_Flow_Rate_Calculation_Method='AirChanges/Hour',
|
||||
Air_Changes_per_Hour=thermal_zone.mechanical_air_change
|
||||
)
|
||||
|
||||
def _add_dhw(self, thermal_zone, zone_name):
|
||||
peak_flow_rate = thermal_zone.domestic_hot_water.peak_flow * thermal_zone.total_floor_area
|
||||
|
@ -510,8 +510,8 @@ class Idf:
|
|||
if building.name in self._target_buildings or building.name in self._adjacent_buildings:
|
||||
_new_schedules = self._create_infiltration_schedules(thermal_zone)
|
||||
self._add_schedules(usage, 'Infiltration', _new_schedules)
|
||||
_new_schedules2 = self._create_ventilation_schedules(thermal_zone)
|
||||
self._add_schedules(usage, 'Ventilation', _new_schedules2)
|
||||
_new_schedules = self._create_ventilation_schedules(thermal_zone)
|
||||
self._add_schedules(usage, 'Ventilation', _new_schedules)
|
||||
self._add_schedules(usage, 'Occupancy', thermal_zone.occupancy.occupancy_schedules)
|
||||
self._add_schedules(usage, 'HVAC AVAIL', thermal_zone.thermal_control.hvac_availability_schedules)
|
||||
self._add_schedules(usage, 'Heating thermostat', thermal_zone.thermal_control.heating_set_point_schedules)
|
||||
|
@ -536,6 +536,7 @@ class Idf:
|
|||
self._add_zone(thermal_zone, building.name)
|
||||
self._add_heating_system(thermal_zone, building.name)
|
||||
self._add_infiltration(thermal_zone, building.name)
|
||||
self._add_ventilation(thermal_zone, building.name)
|
||||
self._add_occupancy(thermal_zone, building.name)
|
||||
self._add_lighting(thermal_zone, building.name)
|
||||
self._add_appliances(thermal_zone, building.name)
|
||||
|
|
Loading…
Reference in New Issue
Block a user