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:



405
406
407
408
409
# File 'lib/openstudio-standards/btap/envelope.rb', line 405

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:



383
384
385
386
387
388
389
390
# File 'lib/openstudio-standards/btap/envelope.rb', line 383

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:



421
422
423
424
425
# File 'lib/openstudio-standards/btap/envelope.rb', line 421

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:



441
442
443
444
445
# File 'lib/openstudio-standards/btap/envelope.rb', line 441

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:



309
310
311
312
313
314
315
316
317
# File 'lib/openstudio-standards/btap/envelope.rb', line 309

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:



337
338
339
340
341
342
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
# File 'lib/openstudio-standards/btap/envelope.rb', line 337

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.setConductivity(conductivity.to_f)
  stdglazing.setName(name)
  stdglazing.setOpticalDataType(opticalDataType)
  stdglazing.setDirtCorrectionFactorforSolarandVisibleTransmittance(dirt_correction_factor)
  stdglazing.setSolarDiffusing(is_solar_diffusing)
  return stdglazing
end