Class: Vintagizer
- Inherits:
-
Object
- Object
- Vintagizer
- Defined in:
- lib/openstudio-standards/btap/vintagizer.rb
Overview
To change this template, choose Tools | Templates and open the template in the editor.
Instance Method Summary collapse
-
#cop ⇒ Object
This method will set the coiling coil COP.
-
#envelope(construction_file, construction_set_name, vintage, building_type, climate_zone) ⇒ String
This method will (????).
-
#fan_eff ⇒ Object
This method will get and set the coiling coil fan Speed COP.
-
#infiltration ⇒ Object
This method will set infiltration magnitude.
-
#initialize(model, file, selectionHash) ⇒ Vintagizer
constructor
This method loads Vintage database information.
-
#pump_eff ⇒ Object
This method will get and set the coiling coil pump Speed COP.
Constructor Details
#initialize(model, file, selectionHash) ⇒ Vintagizer
This method loads Vintage database information.
30 31 32 |
# File 'lib/openstudio-standards/btap/vintagizer.rb', line 30 def initialize(model,file,selectionHash) #Load Vintage database information. end |
Instance Method Details
#cop ⇒ Object
This method will set the coiling coil COP
149 150 151 152 153 154 155 156 157 158 159 160 |
# File 'lib/openstudio-standards/btap/vintagizer.rb', line 149 def cop() #DX Coil COP ECMs unless 'default' == cop_info[1] constructions_model.getCoilCoolingDXSingleSpeeds.sort.each do |cooling_coil| cooling_coil.setRatedCOP( OpenStudio::OptionalDouble.new( cop_info[1][0] ) ) end constructions_model.getCoilCoolingDXTwoSpeeds.sort.each do |cooling_coil| cooling_coil.setRatedHighSpeedCOP( OpenStudio::OptionalDouble.new( cop_info[1][0] ) ) cooling_coil.setRatedLowSpeedCOP( OpenStudio::OptionalDouble.new( cop_info[1][0] ) ) end end end |
#envelope(construction_file, construction_set_name, vintage, building_type, climate_zone) ⇒ String
This method will (????).
42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 |
# File 'lib/openstudio-standards/btap/vintagizer.rb', line 42 def envelope(construction_file,construction_set_name,vintage,building_type,climate_zone) #Load Construction Lib set. "C:/OSRuby/Resources/DND/Trenton/TrentonConstructionsLibrary.osm" construction_lib = BTAP::FileIO::load_osm(construction_file) #Create temp model library. library = BTAP::FileIO::load_osm("C:/OSRuby/Resources/DOEArchetypes/blank.osm", "blank") #get construction set by type and vintage.. I/O expensive so doing it here. vintage_construction_set = construction_lib.getDefaultConstructionSetByName("#{ construction_type[0] }#{ vintage }").get #Construct name for new construction set. construction_id = "#{construction_type[0]}-#{vintage}-#{wall_retrofit[0]}-#{roof_retrofit[0]}-#{glazing_retrofit[0]}" new_construction_set =vintage_construction_set.clone(library).to_DefaultConstructionSet.get new_construction_set =vintage_construction_set.clone(library).to_DefaultConstructionSet.get #Set conductances to needed values in construction set if possible. BTAP::Resources::Envelope::ConstructionSets::customize_default_surface_construction_set_rsi!( library, construction_id, new_construction_set, 1.0 / ext_wall_ecm_info[0], 1.0 / ext_roof_ecm_info[0], 1.0 / ext_roof_ecm_info[0], 1.0 / ground_cond[0], 1.0 / ground_cond[0], 1.0 / ground_cond[0], glazing_ecm_info[0], glazing_ecm_info[1], glazing_ecm_info[2], glazing_ecm_info[0], glazing_ecm_info[1], glazing_ecm_info[2] ) #Define costs BTAP::Resources::Envelope::ConstructionSets::customize_default_surface_construction_set_costs(new_construction_set, ext_wall_ecm_info[1], ext_roof_ecm_info[1], ext_roof_ecm_info[1], ground_cond[1], ground_cond[1], ground_cond[1], glazing_ecm_info[3], glazing_ecm_info[3], 0.0, #doors 0.0, #glass doors 0.0, #overhead doors 0.0, #skylight 0.0, #tubular_daylight_dome_cost = 0.0 #tubular_daylight_diffuser_cost ) #Remove all existing constructions from model. BTAP::Resources::Envelope::remove_all_envelope_information( constructions_model ) #Save to model. new_construction_set.setName(construction_id) constructions_model.building.get.setDefaultConstructionSet( new_construction_set.clone( constructions_model ).to_DefaultConstructionSet.get ) #Give adiabatic surfaces a construction. Does not matter what. This is a bug in OpenStudio that leave these surfaces unassigned by the default construction set. all_adiabatic_surfaces = BTAP::Geometry::Surfaces::filter_by_boundary_condition(constructions_model.getSurfaces, "Adiabatic") wall_construction = constructions_model.building.get.defaultConstructionSet.get.defaultInteriorSurfaceConstructions.get.wallConstruction.get all_adiabatic_surfaces.each { |surface| surface.setConstruction(wall_construction) } end |
#fan_eff ⇒ Object
This method will get and set the coiling coil fan Speed COP
119 120 121 122 123 124 125 126 127 128 129 130 |
# File 'lib/openstudio-standards/btap/vintagizer.rb', line 119 def fan_eff() #DX Coil COP ECMs unless 'default' == cop_info[1] constructions_model.getCoilCoolingDXSingleSpeeds.sort.each do |cooling_coil| cooling_coil.setRatedCOP( OpenStudio::OptionalDouble.new( cop_info[1][0] )) end constructions_model.getCoilCoolingDXTwoSpeeds.sort.each do |cooling_coil| cooling_coil.setRatedHighSpeedCOP( OpenStudio::OptionalDouble.new( cop_info[1][0] ) ) cooling_coil.setRatedLowSpeedCOP( OpenStudio::OptionalDouble.new( cop_info[1][0] )) end end end |
#infiltration ⇒ Object
This method will set infiltration magnitude.
108 109 110 111 112 113 114 115 |
# File 'lib/openstudio-standards/btap/vintagizer.rb', line 108 def infiltration() BTAP::Resources::SpaceLoads::ScaleLoads::set_inflitration_magnitude( constructions_model, 0.0, #setDesignFlowRate, 0.0, #setFlowperSpaceFloorArea, 0.0, #setFlowperExteriorSurfaceArea, 0.0 #setAirChangesperHour ) end |
#pump_eff ⇒ Object
This method will get and set the coiling coil pump Speed COP
134 135 136 137 138 139 140 141 142 143 144 145 |
# File 'lib/openstudio-standards/btap/vintagizer.rb', line 134 def pump_eff() #DX Coil COP ECMs unless 'default' == cop_info[1] constructions_model.getCoilCoolingDXSingleSpeeds.sort.each do |cooling_coil| cooling_coil.setRatedCOP( OpenStudio::OptionalDouble.new( cop_info[1][0] )) end constructions_model.getCoilCoolingDXTwoSpeeds.sort.each do |cooling_coil| cooling_coil.setRatedHighSpeedCOP( OpenStudio::OptionalDouble.new( cop_info[1][0] ) ) cooling_coil.setRatedLowSpeedCOP( OpenStudio::OptionalDouble.new( cop_info[1][0] )) end end end |