Merge remote-tracking branch 'origin/main'
This commit is contained in:
commit
5f0fae0722
|
@ -22,6 +22,7 @@ class EilatCatalog(Catalog):
|
||||||
"""
|
"""
|
||||||
Eilat catalog class
|
Eilat catalog class
|
||||||
"""
|
"""
|
||||||
|
|
||||||
def __init__(self, path):
|
def __init__(self, path):
|
||||||
_path_archetypes = Path(path / 'eilat_archetypes.json').resolve()
|
_path_archetypes = Path(path / 'eilat_archetypes.json').resolve()
|
||||||
_path_constructions = (path / 'eilat_constructions.json').resolve()
|
_path_constructions = (path / 'eilat_constructions.json').resolve()
|
||||||
|
@ -121,8 +122,10 @@ class EilatCatalog(Catalog):
|
||||||
construction_period = archetype['period_of_construction']
|
construction_period = archetype['period_of_construction']
|
||||||
average_storey_height = archetype['average_storey_height']
|
average_storey_height = archetype['average_storey_height']
|
||||||
extra_loses_due_to_thermal_bridges = archetype['extra_loses_due_thermal_bridges']
|
extra_loses_due_to_thermal_bridges = archetype['extra_loses_due_thermal_bridges']
|
||||||
infiltration_rate_for_ventilation_system_off = archetype['infiltration_rate_for_ventilation_system_off'] / cte.HOUR_TO_SECONDS
|
infiltration_rate_for_ventilation_system_off = archetype[
|
||||||
infiltration_rate_for_ventilation_system_on = archetype['infiltration_rate_for_ventilation_system_on'] / cte.HOUR_TO_SECONDS
|
'infiltration_rate_for_ventilation_system_off'] / cte.HOUR_TO_SECONDS
|
||||||
|
infiltration_rate_for_ventilation_system_on = archetype[
|
||||||
|
'infiltration_rate_for_ventilation_system_on'] / cte.HOUR_TO_SECONDS
|
||||||
|
|
||||||
archetype_constructions = []
|
archetype_constructions = []
|
||||||
for archetype_construction in archetype['constructions']:
|
for archetype_construction in archetype['constructions']:
|
||||||
|
@ -160,7 +163,9 @@ class EilatCatalog(Catalog):
|
||||||
extra_loses_due_to_thermal_bridges,
|
extra_loses_due_to_thermal_bridges,
|
||||||
None,
|
None,
|
||||||
infiltration_rate_for_ventilation_system_off,
|
infiltration_rate_for_ventilation_system_off,
|
||||||
infiltration_rate_for_ventilation_system_on))
|
infiltration_rate_for_ventilation_system_on,
|
||||||
|
0,
|
||||||
|
0))
|
||||||
return _catalog_archetypes
|
return _catalog_archetypes
|
||||||
|
|
||||||
def names(self, category=None):
|
def names(self, category=None):
|
||||||
|
|
|
@ -162,7 +162,9 @@ class NrelCatalog(Catalog):
|
||||||
extra_loses_due_to_thermal_bridges,
|
extra_loses_due_to_thermal_bridges,
|
||||||
indirect_heated_ratio,
|
indirect_heated_ratio,
|
||||||
infiltration_rate_for_ventilation_system_off,
|
infiltration_rate_for_ventilation_system_off,
|
||||||
infiltration_rate_for_ventilation_system_on))
|
infiltration_rate_for_ventilation_system_on,
|
||||||
|
0,
|
||||||
|
0))
|
||||||
return _catalog_archetypes
|
return _catalog_archetypes
|
||||||
|
|
||||||
def names(self, category=None):
|
def names(self, category=None):
|
||||||
|
|
|
@ -24,7 +24,7 @@ class EnergyPlusMultipleBuildings:
|
||||||
csv_output = list(csv.DictReader(csv_file))
|
csv_output = list(csv.DictReader(csv_file))
|
||||||
|
|
||||||
for building in self._city.buildings:
|
for building in self._city.buildings:
|
||||||
building_name = building.name
|
building_name = building.name.upper()
|
||||||
buildings_energy_demands[f'Building {building_name} Heating Demand (J)'] = [
|
buildings_energy_demands[f'Building {building_name} Heating Demand (J)'] = [
|
||||||
float(
|
float(
|
||||||
row[f"{building_name} IDEAL LOADS AIR SYSTEM:Zone Ideal Loads Supply Air Total Heating Energy [J](Hourly)"])
|
row[f"{building_name} IDEAL LOADS AIR SYSTEM:Zone Ideal Loads Supply Air Total Heating Energy [J](Hourly)"])
|
||||||
|
@ -36,7 +36,7 @@ class EnergyPlusMultipleBuildings:
|
||||||
for row in csv_output
|
for row in csv_output
|
||||||
]
|
]
|
||||||
buildings_energy_demands[f'Building {building_name} DHW Demand (W)'] = [
|
buildings_energy_demands[f'Building {building_name} DHW Demand (W)'] = [
|
||||||
float(row[f"DHW {building.name}:Water Use Equipment Heating Rate [W](Hourly)"])
|
float(row[f"DHW {building_name}:Water Use Equipment Heating Rate [W](Hourly)"])
|
||||||
for row in csv_output
|
for row in csv_output
|
||||||
]
|
]
|
||||||
buildings_energy_demands[f'Building {building_name} Appliances (W)'] = [
|
buildings_energy_demands[f'Building {building_name} Appliances (W)'] = [
|
||||||
|
@ -58,14 +58,15 @@ class EnergyPlusMultipleBuildings:
|
||||||
if energy_plus_output_file_path.is_file():
|
if energy_plus_output_file_path.is_file():
|
||||||
building_energy_demands = self._building_energy_demands(energy_plus_output_file_path)
|
building_energy_demands = self._building_energy_demands(energy_plus_output_file_path)
|
||||||
for building in self._city.buildings:
|
for building in self._city.buildings:
|
||||||
building.heating_demand[cte.HOUR] = building_energy_demands[f'Building {building.name} Heating Demand (J)']
|
building_name = building.name.upper()
|
||||||
building.cooling_demand[cte.HOUR] = building_energy_demands[f'Building {building.name} Cooling Demand (J)']
|
building.heating_demand[cte.HOUR] = building_energy_demands[f'Building {building_name} Heating Demand (J)']
|
||||||
|
building.cooling_demand[cte.HOUR] = building_energy_demands[f'Building {building_name} Cooling Demand (J)']
|
||||||
building.domestic_hot_water_heat_demand[cte.HOUR] = \
|
building.domestic_hot_water_heat_demand[cte.HOUR] = \
|
||||||
[x * cte.WATTS_HOUR_TO_JULES for x in building_energy_demands[f'Building {building.name} DHW Demand (W)']]
|
[x * cte.WATTS_HOUR_TO_JULES for x in building_energy_demands[f'Building {building_name} DHW Demand (W)']]
|
||||||
building.appliances_electrical_demand[cte.HOUR] = \
|
building.appliances_electrical_demand[cte.HOUR] = \
|
||||||
[x * cte.WATTS_HOUR_TO_JULES for x in building_energy_demands[f'Building {building.name} Appliances (W)']]
|
[x * cte.WATTS_HOUR_TO_JULES for x in building_energy_demands[f'Building {building_name} Appliances (W)']]
|
||||||
building.lighting_electrical_demand[cte.HOUR] = \
|
building.lighting_electrical_demand[cte.HOUR] = \
|
||||||
[x * cte.WATTS_HOUR_TO_JULES for x in building_energy_demands[f'Building {building.name} Lighting (W)']]
|
[x * cte.WATTS_HOUR_TO_JULES for x in building_energy_demands[f'Building {building_name} Lighting (W)']]
|
||||||
building.heating_demand[cte.MONTH] = MonthlyValues.get_total_month(building.heating_demand[cte.HOUR])
|
building.heating_demand[cte.MONTH] = MonthlyValues.get_total_month(building.heating_demand[cte.HOUR])
|
||||||
building.cooling_demand[cte.MONTH] = MonthlyValues.get_total_month(building.cooling_demand[cte.HOUR])
|
building.cooling_demand[cte.MONTH] = MonthlyValues.get_total_month(building.cooling_demand[cte.HOUR])
|
||||||
building.domestic_hot_water_heat_demand[cte.MONTH] = (
|
building.domestic_hot_water_heat_demand[cte.MONTH] = (
|
||||||
|
|
2
setup.py
2
setup.py
|
@ -10,7 +10,7 @@ with pathlib.Path('requirements.txt').open() as r:
|
||||||
for requirement
|
for requirement
|
||||||
in r.readlines()
|
in r.readlines()
|
||||||
]
|
]
|
||||||
install_requires.append('setuptools')
|
install_requires.append('setuptools, build')
|
||||||
|
|
||||||
main_ns = {}
|
main_ns = {}
|
||||||
version = convert_path('hub/version.py')
|
version = convert_path('hub/version.py')
|
||||||
|
|
142
texttest
142
texttest
|
@ -1,142 +0,0 @@
|
||||||
ZoneControl:Thermostat,
|
|
||||||
Room_180_7ad8616b Thermostat, !- Name
|
|
||||||
Room_180_7ad8616b, !- Zone or ZoneList Name
|
|
||||||
Room_180_7ad8616b Thermostat Schedule, !- Control Type Schedule Name
|
|
||||||
ThermostatSetpoint:DualSetpoint, !- Control 1 Object Type
|
|
||||||
LargeOffice Building_Setpoint 26, !- Control 1 Name
|
|
||||||
, !- Control 2 Object Type
|
|
||||||
, !- Control 2 Name
|
|
||||||
, !- Control 3 Object Type
|
|
||||||
, !- Control 3 Name
|
|
||||||
, !- Control 4 Object Type
|
|
||||||
, !- Control 4 Name
|
|
||||||
0; !- Temperature Difference Between Cutout And Setpoint {deltaC}
|
|
||||||
|
|
||||||
Schedule:Compact,
|
|
||||||
Room_180_7ad8616b Thermostat Schedule, !- Name
|
|
||||||
Room_180_7ad8616b Thermostat Schedule Type Limits, !- Schedule Type Limits Name
|
|
||||||
Through: 12/31, !- Field 1
|
|
||||||
For: AllDays, !- Field 2
|
|
||||||
Until: 24:00, !- Field 3
|
|
||||||
4; !- Field 4
|
|
||||||
|
|
||||||
ScheduleTypeLimits,
|
|
||||||
Room_180_7ad8616b Thermostat Schedule Type Limits, !- Name
|
|
||||||
0, !- Lower Limit Value {BasedOnField A3}
|
|
||||||
4, !- Upper Limit Value {BasedOnField A3}
|
|
||||||
DISCRETE; !- Numeric Type
|
|
||||||
|
|
||||||
ThermostatSetpoint:DualSetpoint,
|
|
||||||
LargeOffice Building_Setpoint 26, !- Name
|
|
||||||
LargeOffice Building_Setpoint_HtgSetp Schedule, !- Heating Setpoint Temperature Schedule Name
|
|
||||||
LargeOffice Building_Setpoint_ClgSetp Schedule; !- Cooling Setpoint Temperature Schedule Name
|
|
||||||
|
|
||||||
ZoneHVAC:EquipmentConnections,
|
|
||||||
Room_180_7ad8616b, !- Zone Name
|
|
||||||
Room_180_7ad8616b Equipment List, !- Zone Conditioning Equipment List Name
|
|
||||||
Room_180_7ad8616b Inlet Node List, !- Zone Air Inlet Node or NodeList Name
|
|
||||||
, !- Zone Air Exhaust Node or NodeList Name
|
|
||||||
Node 27, !- Zone Air Node Name
|
|
||||||
Room_180_7ad8616b Return Node List; !- Zone Return Air Node or NodeList Name
|
|
||||||
|
|
||||||
NodeList,
|
|
||||||
Room_180_7ad8616b Inlet Node List, !- Name
|
|
||||||
Node 305; !- Node Name 1
|
|
||||||
|
|
||||||
NodeList,
|
|
||||||
Room_180_7ad8616b Return Node List, !- Name
|
|
||||||
Node 308; !- Node Name 1
|
|
||||||
|
|
||||||
ZoneHVAC:Baseboard:Convective:Electric,
|
|
||||||
Elec Baseboard 1, !- Name
|
|
||||||
Always On Discrete hvac_library, !- Availability Schedule Name
|
|
||||||
, !- Heating Design Capacity Method
|
|
||||||
Autosize, !- Heating Design Capacity {W}
|
|
||||||
, !- Heating Design Capacity Per Floor Area {W/m2}
|
|
||||||
, !- Fraction of Autosized Heating Design Capacity
|
|
||||||
1; !- Efficiency
|
|
||||||
|
|
||||||
AirTerminal:SingleDuct:ConstantVolume:NoReheat,
|
|
||||||
Diffuser 21, !- Name
|
|
||||||
Always On Discrete hvac_library, !- Availability Schedule Name
|
|
||||||
Node 307, !- Air Inlet Node Name
|
|
||||||
Node 305, !- Air Outlet Node Name
|
|
||||||
AutoSize; !- Maximum Air Flow Rate {m3/s}
|
|
||||||
|
|
||||||
ZoneHVAC:AirDistributionUnit,
|
|
||||||
ADU Diffuser 21, !- Name
|
|
||||||
Node 305, !- Air Distribution Unit Outlet Node Name
|
|
||||||
AirTerminal:SingleDuct:ConstantVolume:NoReheat, !- Air Terminal Object Type
|
|
||||||
Diffuser 21; !- Air Terminal Name
|
|
||||||
|
|
||||||
ZoneHVAC:EquipmentList,
|
|
||||||
Room_180_7ad8616b Equipment List, !- Name
|
|
||||||
SequentialLoad, !- Load Distribution Scheme
|
|
||||||
ZoneHVAC:Baseboard:Convective:Electric, !- Zone Equipment Object Type 1
|
|
||||||
Elec Baseboard 1, !- Zone Equipment Name 1
|
|
||||||
1, !- Zone Equipment Cooling Sequence 1
|
|
||||||
1, !- Zone Equipment Heating or No-Load Sequence 1
|
|
||||||
, !- Zone Equipment Sequential Cooling Fraction Schedule Name 1
|
|
||||||
, !- Zone Equipment Sequential Heating Fraction Schedule Name 1
|
|
||||||
ZoneHVAC:AirDistributionUnit, !- Zone Equipment Object Type 2
|
|
||||||
ADU Diffuser 21, !- Zone Equipment Name 2
|
|
||||||
2, !- Zone Equipment Cooling Sequence 2
|
|
||||||
2, !- Zone Equipment Heating or No-Load Sequence 2
|
|
||||||
, !- Zone Equipment Sequential Cooling Fraction Schedule Name 2
|
|
||||||
; !- Zone Equipment Sequential Heating Fraction Schedule Name 2
|
|
||||||
|
|
||||||
Sizing:Zone,
|
|
||||||
Room_180_7ad8616b, !- Zone or ZoneList Name
|
|
||||||
SupplyAirTemperature, !- Zone Cooling Design Supply Air Temperature Input Method
|
|
||||||
14, !- Zone Cooling Design Supply Air Temperature {C}
|
|
||||||
11.11, !- Zone Cooling Design Supply Air Temperature Difference {deltaC}
|
|
||||||
SupplyAirTemperature, !- Zone Heating Design Supply Air Temperature Input Method
|
|
||||||
40, !- Zone Heating Design Supply Air Temperature {C}
|
|
||||||
11.11, !- Zone Heating Design Supply Air Temperature Difference {deltaC}
|
|
||||||
0.0085, !- Zone Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir}
|
|
||||||
0.008, !- Zone Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir}
|
|
||||||
Room_180_7ad8616b DSOA Space List, !- Design Specification Outdoor Air Object Name
|
|
||||||
, !- Zone Heating Sizing Factor
|
|
||||||
, !- Zone Cooling Sizing Factor
|
|
||||||
DesignDay, !- Cooling Design Air Flow Method
|
|
||||||
0, !- Cooling Design Air Flow Rate {m3/s}
|
|
||||||
0.000762, !- Cooling Minimum Air Flow per Zone Floor Area {m3/s-m2}
|
|
||||||
0, !- Cooling Minimum Air Flow {m3/s}
|
|
||||||
0, !- Cooling Minimum Air Flow Fraction
|
|
||||||
DesignDay, !- Heating Design Air Flow Method
|
|
||||||
0, !- Heating Design Air Flow Rate {m3/s}
|
|
||||||
0.002032, !- Heating Maximum Air Flow per Zone Floor Area {m3/s-m2}
|
|
||||||
0.1415762, !- Heating Maximum Air Flow {m3/s}
|
|
||||||
0.3, !- Heating Maximum Air Flow Fraction
|
|
||||||
, !- Design Specification Zone Air Distribution Object Name
|
|
||||||
No, !- Account for Dedicated Outdoor Air System
|
|
||||||
, !- Dedicated Outdoor Air System Control Strategy
|
|
||||||
, !- Dedicated Outdoor Air Low Setpoint Temperature for Design {C}
|
|
||||||
, !- Dedicated Outdoor Air High Setpoint Temperature for Design {C}
|
|
||||||
Sensible Load Only No Latent Load, !- Zone Load Sizing Method
|
|
||||||
HumidityRatioDifference, !- Zone Latent Cooling Design Supply Air Humidity Ratio Input Method
|
|
||||||
, !- Zone Dehumidification Design Supply Air Humidity Ratio {kgWater/kgDryAir}
|
|
||||||
0.005, !- Zone Cooling Design Supply Air Humidity Ratio Difference {kgWater/kgDryAir}
|
|
||||||
HumidityRatioDifference, !- Zone Latent Heating Design Supply Air Humidity Ratio Input Method
|
|
||||||
, !- Zone Humidification Design Supply Air Humidity Ratio {kgWater/kgDryAir}
|
|
||||||
0.005; !- Zone Humidification Design Supply Air Humidity Ratio Difference {kgWater/kgDryAir}
|
|
||||||
|
|
||||||
DesignSpecification:OutdoorAir:SpaceList,
|
|
||||||
Room_180_7ad8616b DSOA Space List, !- Name
|
|
||||||
Room_180_7ad8616b_Space, !- Space Name 1
|
|
||||||
MidriseApartment Apartment Ventilation; !- Space Design Specification Outdoor Air Object Name 1
|
|
||||||
|
|
||||||
Zone,
|
|
||||||
Room_181_3a411b5d, !- Name
|
|
||||||
, !- Direction of Relative North {deg}
|
|
||||||
0, !- X Origin {m}
|
|
||||||
0, !- Y Origin {m}
|
|
||||||
0, !- Z Origin {m}
|
|
||||||
, !- Type
|
|
||||||
1, !- Multiplier
|
|
||||||
4, !- Ceiling Height {m}
|
|
||||||
291.62935408288, !- Volume {m3}
|
|
||||||
, !- Floor Area {m2}
|
|
||||||
, !- Zone Inside Convection Algorithm
|
|
||||||
, !- Zone Outside Convection Algorithm
|
|
||||||
Yes; !- Part of Total Floor Area
|
|
Loading…
Reference in New Issue
Block a user