Module: SuperMarket
- Defined in:
- lib/openstudio-standards/prototypes/common/buildings/Prototype.SuperMarket.rb
Overview
Custom changes for the SuperMarket prototype. These are changes that are inconsistent with other prototype building types.
Instance Method Summary collapse
-
#add_extra_equip_kitchen(model) ⇒ Boolean
define additional kitchen loads based on AEDG baseline model.
-
#add_humidistat(model) ⇒ Boolean
add humidistat to all spaces.
-
#model_custom_geometry_tweaks(model, building_type, climate_zone, prototype_input) ⇒ Boolean
geometry adjustments specific to the prototype model.
-
#model_custom_hvac_tweaks(model, building_type, climate_zone, prototype_input) ⇒ Boolean
hvac adjustments specific to the prototype model.
-
#model_custom_swh_tweaks(model, building_type, climate_zone, prototype_input) ⇒ Boolean
swh adjustments specific to the prototype model.
-
#model_update_exhaust_fan_efficiency(model) ⇒ Boolean
update exhuast fan efficiency.
-
#update_waterheater_loss_coefficient(model) ⇒ Boolean
update water heater loss coefficient.
Instance Method Details
#add_extra_equip_kitchen(model) ⇒ Boolean
define additional kitchen loads based on AEDG baseline model
29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
# File 'lib/openstudio-standards/prototypes/common/buildings/Prototype.SuperMarket.rb', line 29 def add_extra_equip_kitchen(model) space_names = ['Deli', 'Bakery'] space_names.each do |space_name| space = model.getSpaceByName(space_name).get kitchen_definition = OpenStudio::Model::ElectricEquipmentDefinition.new(model) kitchen_definition.setName('kitchen load') kitchen_definition.setDesignLevel(11674.5) kitchen_definition.setFractionLatent(0.25) kitchen_definition.setFractionRadiant(0.3) kitchen_definition.setFractionLost(0.2) kitchen_equipment = OpenStudio::Model::ElectricEquipment.new(kitchen_definition) kitchen_equipment.setName('kitchen equipment') kitchen_sch = model_add_schedule(model, 'SuperMarketEle Kit Equip Sch') kitchen_equipment.setSchedule(kitchen_sch) kitchen_equipment.setSpace(space) end return true end |
#add_humidistat(model) ⇒ Boolean
add humidistat to all spaces
53 54 55 56 57 58 59 60 61 62 63 64 65 |
# File 'lib/openstudio-standards/prototypes/common/buildings/Prototype.SuperMarket.rb', line 53 def add_humidistat(model) space_names = ['Main Sales', 'Produce', 'West Perimeter Sales', 'East Perimeter Sales', 'Deli', 'Bakery', 'Enclosed Office', 'Meeting Room', 'Dining Room', 'Restroom', 'Mechanical Room', 'Corridor', 'Vestibule', 'Active Storage'] space_names.each do |space_name| space = model.getSpaceByName(space_name).get zone = space.thermalZone.get humidistat = OpenStudio::Model::ZoneControlHumidistat.new(model) humidistat.(model_add_schedule(model, 'SuperMarket MinRelHumSetSch')) humidistat.(model_add_schedule(model, 'SuperMarket MaxRelHumSetSch')) zone.setZoneControlHumidistat(humidistat) end return true end |
#model_custom_geometry_tweaks(model, building_type, climate_zone, prototype_input) ⇒ Boolean
geometry adjustments specific to the prototype model
114 115 116 |
# File 'lib/openstudio-standards/prototypes/common/buildings/Prototype.SuperMarket.rb', line 114 def model_custom_geometry_tweaks(model, building_type, climate_zone, prototype_input) return true end |
#model_custom_hvac_tweaks(model, building_type, climate_zone, prototype_input) ⇒ Boolean
hvac adjustments specific to the prototype model
11 12 13 14 15 16 17 18 19 20 21 22 23 |
# File 'lib/openstudio-standards/prototypes/common/buildings/Prototype.SuperMarket.rb', line 11 def model_custom_hvac_tweaks(model, building_type, climate_zone, prototype_input) OpenStudio.logFree(OpenStudio::Info, 'openstudio.model.Model', 'Started building type specific adjustments') # add humidistat to all spaces add_humidistat(model) # additional kitchen loads add_extra_equip_kitchen(model) OpenStudio.logFree(OpenStudio::Info, 'openstudio.model.Model', 'Finished building type specific adjustments') return true end |
#model_custom_swh_tweaks(model, building_type, climate_zone, prototype_input) ⇒ Boolean
swh adjustments specific to the prototype model
101 102 103 104 105 |
# File 'lib/openstudio-standards/prototypes/common/buildings/Prototype.SuperMarket.rb', line 101 def model_custom_swh_tweaks(model, building_type, climate_zone, prototype_input) update_waterheater_loss_coefficient(model) return true end |
#model_update_exhaust_fan_efficiency(model) ⇒ Boolean
update exhuast fan efficiency
71 72 73 74 75 76 77 |
# File 'lib/openstudio-standards/prototypes/common/buildings/Prototype.SuperMarket.rb', line 71 def model_update_exhaust_fan_efficiency(model) model.getFanZoneExhausts.sort.each do |exhaust_fan| exhaust_fan.setFanEfficiency(0.45) exhaust_fan.setPressureRise(125) end return true end |
#update_waterheater_loss_coefficient(model) ⇒ Boolean
update water heater loss coefficient
83 84 85 86 87 88 89 90 91 92 |
# File 'lib/openstudio-standards/prototypes/common/buildings/Prototype.SuperMarket.rb', line 83 def update_waterheater_loss_coefficient(model) case template when '90.1-2004', '90.1-2007', '90.1-2010', '90.1-2013', '90.1-2016', '90.1-2019', 'NECB2011' model.getWaterHeaterMixeds.sort.each do |water_heater| water_heater.setOffCycleLossCoefficienttoAmbientTemperature(0.798542707) water_heater.setOnCycleLossCoefficienttoAmbientTemperature(0.798542707) end end return true end |