Module: OpenstudioStandards::Constructions::Materials
- Defined in:
- lib/openstudio-standards/constructions/materials/modify.rb,
 lib/openstudio-standards/constructions/materials/information.rb
Overview
The Materials module provides methods create, modify, and get information about Materials
Modify collapse
- 
  
    
      .opaque_material_set_surface_properties(opaque_material, roughness: nil, thermal_absorptance: nil, solar_absorptance: nil, visible_absorptance: nil)  ⇒ OpenStudio::Model::OpaqueMaterial 
    
    
  
  
  
  
  
  
  
  
  
    set material surface properties. 
- 
  
    
      .opaque_material_set_thermal_resistance(opaque_material, thermal_resistance)  ⇒ OpenStudio::Model::OpaqueMaterial 
    
    
  
  
  
  
  
  
  
  
  
    change thermal resistance of opaque materials by increasing material thickness, or setting thermal resistance directly for massless or airgap materials. 
Information collapse
- 
  
    
      .material_get_conductance(material, temperature: 0.0)  ⇒ Double 
    
    
  
  
  
  
  
  
  
  
  
    Return the thermal conductance for an OpenStudio Material object, a parent object to all kinds of materials. 
Class Method Details
.material_get_conductance(material, temperature: 0.0) ⇒ Double
Return the thermal conductance for an OpenStudio Material object, a parent object to all kinds of materials
| 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 | # File 'lib/openstudio-standards/constructions/materials/information.rb', line 14 def self.material_get_conductance(material, temperature: 0.0) conductance = nil conductance = material.to_OpaqueMaterial.get.thermalConductance unless material.to_OpaqueMaterial.empty? # ShadingMaterial conductance = material.to_Shade.get.thermalConductance unless material.to_Shade.empty? conductance = material.to_Screen.get.thermalConductance unless material.to_Screen.empty? conductance = 9999.9 unless material.to_Blind.empty? # Glazing conductance = material.to_SimpleGlazing.get.uFactor unless material.to_SimpleGlazing.empty? conductance = material.to_StandardGlazing.get.thermalConductance unless material.to_StandardGlazing.empty? conductance = material.to_RefractionExtinctionGlazing.get.thermalConductance unless material.to_RefractionExtinctionGlazing.empty? # Gas # Convert C to K temperature_k = temperature + 273.0 conductance = material.to_Gas.get.getThermalConductivity(temperature_k) unless material.to_Gas.empty? conductance = material.to_GasMixture.get.getThermalConductance(temperature_k) unless material.to_GasMixture.empty? if conductance.nil? OpenStudio.logFree(OpenStudio::Error, 'OpenstudioStandards::Constructions::Materials', "Unable to determinte conductance for material #{material.name}.") return nil end return conductance end | 
.opaque_material_set_surface_properties(opaque_material, roughness: nil, thermal_absorptance: nil, solar_absorptance: nil, visible_absorptance: nil) ⇒ OpenStudio::Model::OpaqueMaterial
set material surface properties
| 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 | # File 'lib/openstudio-standards/constructions/materials/modify.rb', line 47 def self.opaque_material_set_surface_properties(opaque_material, roughness: nil, thermal_absorptance: nil, solar_absorptance: nil, visible_absorptance: nil) unless opaque_material.to_OpaqueMaterial.is_initialized OpenStudio.logFree(OpenStudio::Error, 'OpenstudioStandards::Construction::Materials', "Object #{opaque_material} cannot be cast as an OpaqueMaterial object.") return false end # set requested material properties material = opaque_material.to_OpaqueMaterial.get if material.to_StandardOpaqueMaterial.is_initialized material = material.to_StandardOpaqueMaterial.get material.setRoughness(roughness) unless roughness.nil? elsif material.to_MasslessOpaqueMaterial.is_initialized material = material.to_MasslessOpaqueMaterial.get material.setRoughness(roughness) unless roughness.nil? end material.setThermalAbsorptance(thermal_absorptance) unless thermal_absorptance.nil? material.setSolarAbsorptance(solar_absorptance) unless solar_absorptance.nil? material.setVisibleAbsorptance(visible_absorptance) unless visible_absorptance.nil? return material.to_OpaqueMaterial.get end | 
.opaque_material_set_thermal_resistance(opaque_material, thermal_resistance) ⇒ OpenStudio::Model::OpaqueMaterial
change thermal resistance of opaque materials by increasing material thickness, or setting thermal resistance directly for massless or airgap materials.
| 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 | # File 'lib/openstudio-standards/constructions/materials/modify.rb', line 15 def self.opaque_material_set_thermal_resistance(opaque_material, thermal_resistance) unless opaque_material.to_OpaqueMaterial.is_initialized OpenStudio.logFree(OpenStudio::Error, 'OpenstudioStandards::Construction::Materials', "Object #{opaque_material} cannot be cast as an OpaqueMaterial object.") return false end # edit insulation material material = opaque_material.to_OpaqueMaterial.get if material.to_MasslessOpaqueMaterial.is_initialized material = material.to_MasslessOpaqueMaterial.get material.setThermalResistance(thermal_resistance) elsif material.to_AirGap.is_initialized material = material.to_AirGap.get material.setThermalResistance(thermal_resistance) else starting_thickness = material.thickness target_thickness = starting_thickness * thermal_resistance / material.thermalResistance material.setThickness(target_thickness) end return material.to_OpaqueMaterial.get end |