class DOERefPre1980MediumOfficeDetailed
This class represents a prototypical DOERefPre1980
MediumOfficeDetailed
.
Attributes
Public Class Methods
DOERefPre1980::new
# File lib/openstudio-standards/prototypes/common/do_not_edit_metaclasses.rb, line 29032 def initialize super() @instvarbuilding_type = @@building_type @prototype_input = self.standards_lookup_table_first(table_name: 'prototype_inputs',search_criteria: {'template' => @template,'building_type' => @@building_type }) if @prototype_input.nil? OpenStudio.logFree(OpenStudio::Error, 'openstudio.standards.Model', "Could not find prototype inputs for #{{'template' => @template,'building_type' => @@building_type }}, cannot create model.") raise("Could not find prototype inputs for DOERefPre1980MediumOfficeDetailed, cannot create model.") return false end @lookup_building_type = self.model_get_lookup_name(@@building_type) #ideally we should map the data required to a instance variable. @geometry_file = 'geometry/' + @prototype_input['geometry_osm'] hvac_map_file = 'geometry/' + @prototype_input['hvac_json'] @system_to_space_map = load_hvac_map(hvac_map_file) self.set_variables() end
Public Instance Methods
Returns the mapping between the names of the spaces in the geometry .osm file and the building story that they are located on.
# File lib/openstudio-standards/prototypes/common/do_not_edit_metaclasses.rb, line 29072 def define_building_story_map(building_type, climate_zone) return @building_story_map end
Returns the mapping between the names of the spaces in the geometry .osm file and the HVAC system that will be applied to those spaces.
# File lib/openstudio-standards/prototypes/common/do_not_edit_metaclasses.rb, line 29066 def define_hvac_system_map(building_type, climate_zone) return @system_to_space_map end
Returns the mapping between the names of the spaces in the geometry .osm file and the space types available for this particular Standard
.
# File lib/openstudio-standards/prototypes/common/do_not_edit_metaclasses.rb, line 29060 def define_space_type_map(building_type, climate_zone) return @space_type_map end
daylighting adjustments specific to the prototype model
@param model [OpenStudio::Model::Model] OpenStudio model object @param building_type [String] the building type @param climate_zone [String] ASHRAE climate zone, e.g. ‘ASHRAE 169-2013-4A’ @param prototype_input
[Hash] hash of prototype inputs @return [Boolean] returns true if successful, false if not
# File lib/openstudio-standards/prototypes/common/do_not_edit_metaclasses.rb, line 29130 def model_custom_daylighting_tweaks(model, building_type, climate_zone, prototype_input) return true end
Get the name of the building type used in lookups
@param building_type [String] the building type @return [String] returns the lookup name as a string @todo Unify the lookup names and eliminate this method
# File lib/openstudio-standards/prototypes/common/do_not_edit_metaclasses.rb, line 29098 def model_get_lookup_name(building_type) lookup_name = building_type case building_type when 'SmallOffice' lookup_name = 'Office' when 'MediumOffice' lookup_name = 'Office' when 'LargeOffice' lookup_name = 'Office' when 'SmallOfficeDetailed' lookup_name = 'Office' when 'MediumOfficeDetailed' lookup_name = 'Office' when 'LargeOfficeDetailed' lookup_name = 'Office' when 'RetailStandalone' lookup_name = 'Retail' when 'RetailStripmall' lookup_name = 'StripMall' when 'Office' lookup_name = 'Office' end return lookup_name end
Does nothing unless implmented by the specific standard
# File lib/openstudio-standards/prototypes/common/do_not_edit_metaclasses.rb, line 29076 def model_modify_oa_controller(model) end
Does nothing unless implmented by the specific standard
# File lib/openstudio-standards/prototypes/common/do_not_edit_metaclasses.rb, line 29079 def model_reset_or_room_vav_minimum_damper(prototype_input, model) end
update exhuast fan efficiency
@param model [OpenStudio::Model::Model] OpenStudio model object @return [Boolean] returns true if successful, false if not
# File lib/openstudio-standards/prototypes/common/do_not_edit_metaclasses.rb, line 29086 def model_update_exhaust_fan_efficiency(model) return true end
Does nothing unless implmented by the specific standard
# File lib/openstudio-standards/prototypes/common/do_not_edit_metaclasses.rb, line 29091 def model_update_fan_efficiency(model) end
This method is used to extend the class with building-type-specific methods, as defined in Prototype.SomeBuildingType.rb. Each building type has its own set of methods that change things which are not common across all prototype buildings, even within a given Standard
.
# File lib/openstudio-standards/prototypes/common/do_not_edit_metaclasses.rb, line 29052 def set_variables() # Will be overwritten in class reopen file. # add all building methods for now. self.extend(MediumOfficeDetailed) unless @template == 'NECB 2011' end