Module: BTAP::Resources::Envelope::Materials::Fenestration

Defined in:
lib/openstudio-standards/btap/envelope.rb

Overview

This module contains methods to create materials for glazed construction such as windows, doors, and skylights.

Defined Under Namespace

Classes: FenestrationTests

Class Method Summary collapse

Class Method Details

.create_blind(model, name = "blind test", slatWidth = 0.1, slatSeparation = 0.1, frontSideSlatBeamSolarReflectance = 0.1, backSideSlatBeamSolarReflectance = 0.1, frontSideSlatDiffuseSolarReflectance = 0.1, backSideSlatDiffuseSolarReflectance = 0.1, slatBeamVisibleTransmittance = 0.1) ⇒ OpenStudio::Model::Blind

This method will create a blind layer.

Parameters:

  • model (OpenStudio::Model::Model)
  • name (String) (defaults to: "blind test")

    “blind test”

  • slatWidth (Float) (defaults to: 0.1)

    0.1

  • slatSeparation (Float) (defaults to: 0.1)

    0.1

  • frontSideSlatBeamSolarReflectance (Float) (defaults to: 0.1)

    0.1

  • backSideSlatBeamSolarReflectance (Float) (defaults to: 0.1)

    0.1

  • frontSideSlatDiffuseSolarReflectance (Float) (defaults to: 0.1)

    0.1

  • backSideSlatDiffuseSolarReflectance (Float) (defaults to: 0.1)

    0.1

  • slatBeamVisibleTransmittance (Float) (defaults to: 0.1)

    0.1

Returns:

  • (OpenStudio::Model::Blind)

    blind

Author:



411
412
413
414
415
# File 'lib/openstudio-standards/btap/envelope.rb', line 411

def self.create_blind(model, name = "blind test", slatWidth=0.1, slatSeparation=0.1, frontSideSlatBeamSolarReflectance=0.1, backSideSlatBeamSolarReflectance=0.1, frontSideSlatDiffuseSolarReflectance=0.1, backSideSlatDiffuseSolarReflectance=0.1, slatBeamVisibleTransmittance=0.1)
  blind = OpenStudio::Model::Blind.new(model, slatWidth, slatSeparation, frontSideSlatBeamSolarReflectance, backSideSlatBeamSolarReflectance, frontSideSlatDiffuseSolarReflectance, backSideSlatDiffuseSolarReflectance, slatBeamVisibleTransmittance)
  blind.setName(name)
  return blind
end

.create_gas(model, name = "air test", gas_type = "Air", thickness = 0.003) ⇒ OpenStudio::Model::Gas::validGasTypes

This method creates an gas material layer. gas_type can be “Air”, “Argon”,“Krypton”,“Xenon”,or “Custom”

Parameters:

  • model (OpenStudio::Model::Model)
  • name (String) (defaults to: "air test")

    “air test”, of the material.

  • gas_type (String) (defaults to: "Air")

    “Air”

  • thickness (Float) (defaults to: 0.003)

    0.003

Returns:

  • (OpenStudio::Model::Gas::validGasTypes)

    gas

Author:



389
390
391
392
393
394
395
396
# File 'lib/openstudio-standards/btap/envelope.rb', line 389

def self.create_gas(model, name = "air test", gas_type = "Air", thickness=0.003)
  raise "gas_type #{gas_type} is not part of the allow values: #{OpenStudio::Model::Gas::validGasTypes()}" unless OpenStudio::Model::Gas::validGasTypes().include?(gas_type)
  gas = OpenStudio::Model::Gas.new(model)
  gas.setGasType(gas_type)
  gas.setThickness(thickness)
  gas.setName(name)
  return gas
end

.create_screen(model, name = "screen test", diffuseSolarReflectance = 0.1, diffuseVisibleReflectance = 0.1, screenMaterialSpacing = 0.1, screenMaterialDiameter = 0.1) ⇒ OpenStudio::Model::Screen

This method will create a screen layer.

Parameters:

  • model (OpenStudio::Model::Model)
  • name (String) (defaults to: "screen test")

    “screen test”

  • diffuseSolarReflectance (Float) (defaults to: 0.1)

    0.1

  • diffuseVisibleReflectance (Float) (defaults to: 0.1)

    0.1

  • screenMaterialSpacing (Float) (defaults to: 0.1)

    0.1

  • screenMaterialDiameter (Float) (defaults to: 0.1)

    0.1

Returns:

  • (OpenStudio::Model::Screen)

    screen

Author:



427
428
429
430
431
# File 'lib/openstudio-standards/btap/envelope.rb', line 427

def self.create_screen(model, name = "screen test", diffuseSolarReflectance=0.1, diffuseVisibleReflectance=0.1, screenMaterialSpacing=0.1, screenMaterialDiameter=0.1)
  screen = OpenStudio::Model::Screen.new(model, diffuseSolarReflectance, diffuseVisibleReflectance, screenMaterialSpacing, screenMaterialDiameter)
  screen.setName(name)
  return screen
end

.create_shade(model, name = "shade test", solarTransmittance = 0.1, solarReflectance = 0.1, visibleTransmittance = 0.1, visibleReflectance = 0.1, thermalHemisphericalEmissivity = 0.1, thermalTransmittance = 0.1, thickness = 0.1, conductivity = 0.1) ⇒ OpenStudio::Model::Shade.new

This method will create a shade layer.

Parameters:

  • model (OpenStudio::Model::Model)
  • name (String) (defaults to: "shade test")

    “shade test”

  • solarTransmittance (Float) (defaults to: 0.1)

    0.1

  • solarReflectance (Float) (defaults to: 0.1)

    0.1

  • visibleTransmittance (Float) (defaults to: 0.1)

    0.1

  • visibleReflectance (Float) (defaults to: 0.1)

    0.1

  • thermalHemisphericalEmissivity (Float) (defaults to: 0.1)

    0.1

  • thermalTransmittance (Float) (defaults to: 0.1)

    0.1

  • thickness (Float) (defaults to: 0.1)

    0.1

  • conductivity (Float) (defaults to: 0.1)

    0.1

Returns:

  • (OpenStudio::Model::Shade.new)

    shade

Author:



447
448
449
450
451
# File 'lib/openstudio-standards/btap/envelope.rb', line 447

def self.create_shade(model, name ="shade test", solarTransmittance=0.1, solarReflectance=0.1, visibleTransmittance=0.1, visibleReflectance=0.1, thermalHemisphericalEmissivity=0.1, thermalTransmittance=0.1, thickness=0.1, conductivity=0.1)
  shade = OpenStudio::Model::Shade.new(model, solarTransmittance, solarReflectance, visibleTransmittance, visibleReflectance, thermalHemisphericalEmissivity, thermalTransmittance, thickness, conductivity)
  shade.setName(name)
  return shade
end

.create_simple_glazing(model, name = "simple glazing test", shgc = 0.10, ufactor = 0.10, thickness = 0.005, visible_transmittance = 0.8) ⇒ OpenStudio::Model::SimpleGlazing

This method creates a OpenStudio::Model::SimpleGlazing material layer

Parameters:

  • model (OpenStudio::Model::Model)
  • name (String) (defaults to: "simple glazing test")

    the name of the material.

  • shgc (Float) (defaults to: 0.10)

    solar heat gain coeff.

  • ufactor (Float) (defaults to: 0.10)

    W/m2*K

  • thickness (Float) (defaults to: 0.005)

    m

  • visible_transmittance (Float) (defaults to: 0.8)

Returns:

  • (OpenStudio::Model::SimpleGlazing)

    simpleglazing

Author:



316
317
318
319
320
321
322
323
324
# File 'lib/openstudio-standards/btap/envelope.rb', line 316

def self.create_simple_glazing(model, name = "simple glazing test", shgc = 0.10, ufactor = 0.10, thickness = 0.005, visible_transmittance = 0.8)
  simpleglazing = OpenStudio::Model::SimpleGlazing.new(model)
  simpleglazing.setSolarHeatGainCoefficient(shgc)
  simpleglazing.setUFactor(ufactor)
  simpleglazing.setThickness(thickness)
  simpleglazing.setVisibleTransmittance(visible_transmittance)
  simpleglazing.setName(name)
  return simpleglazing
end

.create_standard_glazing(model, name = "Standard Glazing Test", thickness = 0.003, conductivity = 0.9, solarTransmittanceatNormalIncidence = 0.84, frontSideSolarReflectanceatNormalIncidence = 0.075, backSideSolarReflectanceatNormalIncidence = 0.075, visibleTransmittance = 0.9, frontSideVisibleReflectanceatNormalIncidence = 0.081, backSideVisibleReflectanceatNormalIncidence = 0.081, infraredTransmittanceatNormalIncidence = 0.0, frontSideInfraredHemisphericalEmissivity = 0.84, backSideInfraredHemisphericalEmissivity = 0.84, opticalDataType = "SpectralAverage", dirt_correction_factor = 1.0, is_solar_diffusing = false) ⇒ OpenStudio::Model::StandardGlazing

This method creates a OpenStudio::Model::StandardGlazing material layer

Parameters:

  • model (OpenStudio::Model::Model)
  • name (defaults to: "Standard Glazing Test")

    “Standard Glazing Test”, of the material.

  • thickness (Float) (defaults to: 0.003)

    m

  • conductivity (Float) (defaults to: 0.9)

    W/m*K

  • solarTransmittanceatNormalIncidence (Float) (defaults to: 0.84)
  • frontSideSolarReflectanceatNormalIncidence (Float) (defaults to: 0.075)
  • backSideSolarReflectanceatNormalIncidence (defaults to: 0.075)

    [Float]

  • visibleTransmittance (Float) (defaults to: 0.9)
  • frontSideVisibleReflectanceatNormalIncidence (Float) (defaults to: 0.081)
  • backSideVisibleReflectanceatNormalIncidence (Float) (defaults to: 0.081)
  • infraredTransmittanceatNormalIncidence (Float) (defaults to: 0.0)
  • frontSideInfraredHemisphericalEmissivity (Float) (defaults to: 0.84)
  • backSideInfraredHemisphericalEmissivity (Float) (defaults to: 0.84)

Returns:

  • (OpenStudio::Model::StandardGlazing)

    stdglazing

Author:



343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
# File 'lib/openstudio-standards/btap/envelope.rb', line 343

def self.create_standard_glazing(
    model,
        name = "Standard Glazing Test",
        thickness = 0.003,
        conductivity = 0.9,
        solarTransmittanceatNormalIncidence = 0.84,
        frontSideSolarReflectanceatNormalIncidence = 0.075,
        backSideSolarReflectanceatNormalIncidence = 0.075,
        visibleTransmittance = 0.9,
        frontSideVisibleReflectanceatNormalIncidence = 0.081,
        backSideVisibleReflectanceatNormalIncidence = 0.081,
        infraredTransmittanceatNormalIncidence = 0.0,
        frontSideInfraredHemisphericalEmissivity = 0.84,
        backSideInfraredHemisphericalEmissivity = 0.84,
        opticalDataType = "SpectralAverage",
        dirt_correction_factor = 1.0,
        is_solar_diffusing = false
)
  raise("Roughness Value \"#{roughness}\" is not a part of accepted values: #{OpenStudio::Model::StandardGlazing::opticalDataTypeValues().join(",")}") unless OpenStudio::Model::StandardGlazing::opticalDataTypeValues().include?(opticalDataType)
  stdglazing = OpenStudio::Model::StandardGlazing.new(model)
  stdglazing.setThickness(thickness.to_f)
  stdglazing.setSolarTransmittanceatNormalIncidence(solarTransmittanceatNormalIncidence.to_f)
  stdglazing.setFrontSideSolarReflectanceatNormalIncidence(frontSideSolarReflectanceatNormalIncidence.to_f)
  stdglazing.setBackSideSolarReflectanceatNormalIncidence(backSideSolarReflectanceatNormalIncidence.to_f)
  stdglazing.setVisibleTransmittance(visibleTransmittance.to_f)
  stdglazing.setFrontSideVisibleReflectanceatNormalIncidence(frontSideVisibleReflectanceatNormalIncidence.to_f)
  stdglazing.setBackSideVisibleReflectanceatNormalIncidence(backSideVisibleReflectanceatNormalIncidence.to_f)
  stdglazing.setInfraredTransmittanceatNormalIncidence(infraredTransmittanceatNormalIncidence.to_f)
  stdglazing.setFrontSideInfraredHemisphericalEmissivity(frontSideInfraredHemisphericalEmissivity.to_f)
  stdglazing.setBackSideInfraredHemisphericalEmissivity(backSideInfraredHemisphericalEmissivity.to_f)
  stdglazing.setThermalConductivity(conductivity.to_f)
  stdglazing.setName(name)
  stdglazing.setOpticalDataType(opticalDataType)
  stdglazing.setDirtCorrectionFactorforSolarandVisibleTransmittance(dirt_correction_factor)
  stdglazing.setSolarDiffusing(is_solar_diffusing)
  return stdglazing
end