Module: OpenstudioStandards::Constructions::Materials
- Defined in:
- lib/openstudio-standards/constructions/materials/modify.rb
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.
Class Method Details
.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
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 |
# File 'lib/openstudio-standards/constructions/materials/modify.rb', line 45 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, 'openstudio.standards.constructions.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.
13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
# File 'lib/openstudio-standards/constructions/materials/modify.rb', line 13 def self.opaque_material_set_thermal_resistance(opaque_material, thermal_resistance) unless opaque_material.to_OpaqueMaterial.is_initialized OpenStudio.logFree(OpenStudio::Error, 'openstudio.standards.constructions.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 |