Skip to content

Core Classes

frads.GlazingSystem dataclass

GlazingSystem(name, thickness=0, layers=list(), gaps=list(), visible_front_transmittance=list(), visible_back_transmittance=list(), visible_front_reflectance=list(), visible_back_reflectance=list(), solar_front_transmittance=list(), solar_back_transmittance=list(), solar_front_reflectance=list(), solar_back_reflectance=list(), solar_front_absorptance=list(), solar_back_absorptance=list(), melanopic_back_transmittance=list(), melanopic_back_reflectance=list())

Glazing system data object.

Attributes:

Name Type Description
name str

Name of the glazing system.

thickness float

Thickness of the glazing system.

layers list[Layer]

List of Layer objects.

gaps list[Gap]

List of Gap objects.

visible_front_transmittance list[list[float]]

Visible front transmittance matrix.

visible_back_transmittance list[list[float]]

Visible back transmittance matrix.

visible_front_reflectance list[list[float]]

Visible front reflectance matrix.

visible_back_reflectance list[list[float]]

Visible back reflectance matrix.

solar_front_transmittance list[list[float]]

Solar front transmittance matrix.

solar_back_transmittance list[list[float]]

Solar back transmittance matrix.

solar_front_reflectance list[list[float]]

Solar front reflectance matrix.

solar_back_reflectance list[list[float]]

Solar back reflectance matrix.

solar_front_absorptance list[list[float]]

Solar front absorptance matrix by layer.

solar_back_absorptance list[list[float]]

Solar back absorptance matrix by layer.

from_json classmethod

from_json(path)

Load a glazing system from a JSON file.

get_brtdfunc

get_brtdfunc(name=None)

Get a BRTDfunc primitive for the glazing system.

save

save(out)

Save the glazing system to a file.

to_xml

to_xml(out)

Save the glazing system to a file.

frads.Gap dataclass

Gap(gas, thickness_m)

Gap data object.

Attributes:

Name Type Description
gas list[Gas]

List of Gas objects.

thickness list[Gas]

Thickness of the gap.

frads.Gas dataclass

Gas(gas, ratio)

Gas data object.

Attributes:

Name Type Description
gas str

Gas type.

ratio float

Gas ratio.

frads.LayerInput dataclass

LayerInput(input_source, flipped=False, slat_angle_deg=0.0, openings=OpeningDefinitions())

Glazing System Functions

frads.create_glazing_system

create_glazing_system(name, layer_inputs, gaps=None, nproc=1, nsamp=2000, mbsdf=False)

Create a glazing system from a list of layers and gaps.

Parameters:

Name Type Description Default
name str

Name of the glazing system.

required
layer_inputs list[LayerInput]

List of layer inputs containing material specifications.

required
gaps None | list[Gap]

List of gaps between layers (auto-generated if None).

None
nproc int

Number of processes for parallel computation.

1
nsamp int

Number of samples for Monte Carlo integration.

2000
mbsdf bool

Whether to generate melanopic BSDF data.

False

Returns:

Type Description
GlazingSystem

GlazingSystem object containing optical and thermal properties.

Raises:

Type Description
ValueError

Invalid layer type or input format.

Examples:

>>> from frads import LayerInput
>>> layers = [
...     LayerInput("glass.json"),
...     LayerInput("venetian.xml")
... ]
>>> gs = create_glazing_system("double_glazed", layers)