New version of infiltration incorporated, and new parameter in catalog for surface infiltration value included.
This commit is contained in:
parent
7aaab1d8c5
commit
da44a3d5b2
File diff suppressed because it is too large
Load Diff
@ -168,18 +168,60 @@ class InselMonthlyEnergyBalance:
|
||||
parameters.append(f'{usage.hours_day} % BP(16) #6 Usage hours per day zone {i + 1}')
|
||||
parameters.append(f'{usage.days_year} % BP(17) #7 Usage days per year zone {i + 1}')
|
||||
|
||||
# Changed location to have the value of wall area
|
||||
|
||||
for thermal_boundary in thermal_zone.thermal_boundaries:
|
||||
type_code = _CONSTRUCTION_CODE[thermal_boundary.type]
|
||||
wall_area = thermal_boundary.opaque_area * (1 + thermal_boundary.window_ratio)
|
||||
if thermal_boundary.type == cte.WALL:
|
||||
if thermal_boundary.parent_surface.percentage_shared is not None:
|
||||
wall_area = wall_area * (1 - thermal_boundary.parent_surface.percentage_shared)
|
||||
window_area = wall_area * thermal_boundary.window_ratio
|
||||
|
||||
parameters.append(type_code)
|
||||
if thermal_boundary.type != cte.GROUND:
|
||||
parameters.append(wall_area)
|
||||
parameters.append('0.0')
|
||||
else:
|
||||
parameters.append('0.0')
|
||||
parameters.append(wall_area)
|
||||
parameters.append(thermal_boundary.u_value)
|
||||
parameters.append(window_area)
|
||||
|
||||
if window_area <= 0.001:
|
||||
parameters.append(0.0)
|
||||
parameters.append(0.0)
|
||||
parameters.append(0.0)
|
||||
else:
|
||||
thermal_opening = thermal_boundary.thermal_openings[0]
|
||||
parameters.append(thermal_opening.frame_ratio)
|
||||
parameters.append(thermal_opening.overall_u_value)
|
||||
parameters.append(thermal_opening.g_value)
|
||||
if thermal_boundary.type is not cte.GROUND:
|
||||
parameters.append(thermal_boundary.external_surface.short_wave_reflectance)
|
||||
else:
|
||||
parameters.append(0.0)
|
||||
|
||||
# Changed location to have the value of wall area
|
||||
|
||||
ventilation = 0
|
||||
infiltration = 0
|
||||
for schedule in usage.thermal_control.hvac_availability_schedules:
|
||||
ventilation_day = 0
|
||||
infiltration_day = 0
|
||||
new_infiltration = (internal_zone.thermal_zones_from_internal_zones[0].infiltration_rate_area_system_off * \
|
||||
wall_area * 0.15) / (internal_zone.thermal_zones_from_internal_zones[0].total_floor_area *
|
||||
building.average_storey_height)
|
||||
for value in schedule.values:
|
||||
if value == 0:
|
||||
infiltration_day += internal_zone.thermal_zones_from_internal_zones[0].infiltration_rate_system_off / 24 * cte.HOUR_TO_SECONDS
|
||||
#infiltration_day += internal_zone.thermal_zones_from_internal_zones[0].infiltration_rate_system_off / 24 * cte.HOUR_TO_SECONDS
|
||||
infiltration_day = new_infiltration/ 24
|
||||
ventilation_day += 0
|
||||
else:
|
||||
ventilation_value = usage.mechanical_air_change * value * cte.HOUR_TO_SECONDS
|
||||
infiltration_value = internal_zone.thermal_zones_from_internal_zones[0].infiltration_rate_system_off * value * cte.HOUR_TO_SECONDS
|
||||
#todo: changefactor from 0.15 to (4/50)^0.65, change of units from 50 Pa to 4 Pa.
|
||||
infiltration_value = new_infiltration
|
||||
#infiltration_value = internal_zone.thermal_zones_from_internal_zones[0].infiltration_rate_system_off * value * cte.HOUR_TO_SECONDS
|
||||
if ventilation_value >= infiltration_value:
|
||||
ventilation_day += ventilation_value / 24
|
||||
infiltration_day += 0
|
||||
|
Loading…
Reference in New Issue
Block a user