Merge remote-tracking branch 'origin/main'
This commit is contained in:
commit
5f0fae0722
|
@ -22,6 +22,7 @@ class EilatCatalog(Catalog):
|
|||
"""
|
||||
Eilat catalog class
|
||||
"""
|
||||
|
||||
def __init__(self, path):
|
||||
_path_archetypes = Path(path / 'eilat_archetypes.json').resolve()
|
||||
_path_constructions = (path / 'eilat_constructions.json').resolve()
|
||||
|
@ -121,8 +122,10 @@ class EilatCatalog(Catalog):
|
|||
construction_period = archetype['period_of_construction']
|
||||
average_storey_height = archetype['average_storey_height']
|
||||
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_on = archetype['infiltration_rate_for_ventilation_system_on'] / cte.HOUR_TO_SECONDS
|
||||
infiltration_rate_for_ventilation_system_off = archetype[
|
||||
'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 = []
|
||||
for archetype_construction in archetype['constructions']:
|
||||
|
@ -160,7 +163,9 @@ class EilatCatalog(Catalog):
|
|||
extra_loses_due_to_thermal_bridges,
|
||||
None,
|
||||
infiltration_rate_for_ventilation_system_off,
|
||||
infiltration_rate_for_ventilation_system_on))
|
||||
infiltration_rate_for_ventilation_system_on,
|
||||
0,
|
||||
0))
|
||||
return _catalog_archetypes
|
||||
|
||||
def names(self, category=None):
|
||||
|
|
|
@ -162,7 +162,9 @@ class NrelCatalog(Catalog):
|
|||
extra_loses_due_to_thermal_bridges,
|
||||
indirect_heated_ratio,
|
||||
infiltration_rate_for_ventilation_system_off,
|
||||
infiltration_rate_for_ventilation_system_on))
|
||||
infiltration_rate_for_ventilation_system_on,
|
||||
0,
|
||||
0))
|
||||
return _catalog_archetypes
|
||||
|
||||
def names(self, category=None):
|
||||
|
|
|
@ -24,7 +24,7 @@ class EnergyPlusMultipleBuildings:
|
|||
csv_output = list(csv.DictReader(csv_file))
|
||||
|
||||
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)'] = [
|
||||
float(
|
||||
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
|
||||
]
|
||||
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
|
||||
]
|
||||
buildings_energy_demands[f'Building {building_name} Appliances (W)'] = [
|
||||
|
@ -58,14 +58,15 @@ class EnergyPlusMultipleBuildings:
|
|||
if energy_plus_output_file_path.is_file():
|
||||
building_energy_demands = self._building_energy_demands(energy_plus_output_file_path)
|
||||
for building in self._city.buildings:
|
||||
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_name = building.name.upper()
|
||||
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] = \
|
||||
[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] = \
|
||||
[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] = \
|
||||
[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.cooling_demand[cte.MONTH] = MonthlyValues.get_total_month(building.cooling_demand[cte.HOUR])
|
||||
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
|
||||
in r.readlines()
|
||||
]
|
||||
install_requires.append('setuptools')
|
||||
install_requires.append('setuptools, build')
|
||||
|
||||
main_ns = {}
|
||||
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