fairyfly_therm.simulation.exposure module

Model exposure parameters.

class fairyfly_therm.simulation.exposure.ModelExposure(model_type='Other', cross_section_type=None, gravity_orientation=None, wind_orientation=0)[source]

Bases: object

Model exposure parameters.

Parameters:
  • model_type

    Text to indicate the type of construction detail or the purpose of the model. Chose from the following. (Default: Other).

    • Window

    • Opaque Wall

    • Opaque Roof

    • Other

  • cross_section_type

    Text to indicate the type of cross section that the model represents. The acceptable fields here depend upon the model_type. If None, the default is set to the top of each list below for each model_type. For the Window model_type, choose from the following.

    • Sill

    • Jamb

    • Head

    • Horizontal Divider

    • Vertical Divider

    • Horizontal Meeting Rail

    • Vertical Meeting Rail

    • Common Frame

    • Spacer

    For the Opaque Wall and Roof model_type, choose from the following.

    • Sill Plate

    • Header

    • End Section

    • Middle Section

    • Thermal Bridge

    • Window Framing - Sill

    • Rough Opening - Header

    • Rough Opening - Jamb

    For the Other model_type, choose from the following.

    • General Cross Section

    • Common Thermal Bridge

  • gravity_orientation

    Text to indicate the direction of gravity for the model. If None, this will be computed from the orientation of the model plane in the 3D scene. (Default: None).

    • Down

    • Up

    • Left

    • Right

    • Into Screen

    • Out Of Screen

  • wind_orientation – A number between 0 and 360 for the direction the exterior surface of the model faces. This orientation of the exterior surface is used to determine the wind direction for the simulation. For reference, 0 = North, 90 = East, 180 = South, 270 = West. (Default: 0).

Properties:
  • model_type

  • cross_section_type

  • gravity_orientation

  • wind_orientation

ToString()[source]

Overwrite .NET ToString.

duplicate()[source]

Get a copy of this object.

classmethod from_dict(data)[source]

Create a ModelExposure from a dictionary.

Parameters:

data – A python dictionary in the following format

{
"type": 'ModelExposure',
"model_type": 'Window',
"cross_section_type": 'Sill',
"gravity_orientation": 'Down',
"wind_orientation": 0
}
classmethod from_therm_xml(xml_element)[source]

Create ModelExposure from an XML element of a THERM ModelExposure.

Parameters:

xml_element – An XML element of a THERM ModelExposure.

classmethod from_therm_xml_str(xml_str)[source]

Create a ModelExposure from an XML text string of a THERM ModelExposure.

Parameters:

xml_str – An XML text string of a THERM ModelExposure.

to_dict()[source]

ModelExposure dictionary representation.

to_therm_xml(properties_element=None, model_plane=None)[source]

Get an THERM XML element of the ModelExposure.

Parameters:
  • properties_element – An optional XML Element for the ThermModel Properties to which the generated objects will be added. If None, a new XML Element will be generated. (Default: None).

  • model_plane – An optional ladybug-geometry Plane object noting the orientation of the model in 3D space. This will be used to set the default gravity orientation if none has been specified here. (Default: None).

<ModelExposure>
    <ModelOrientation>0</ModelOrientation>
    <GravityOrientation>Down</GravityOrientation>
    <Exposure>
        <ModelPurpose>Window/Transparent Facade</ModelPurpose>
        <WindowCrossSection>Sill</WindowCrossSection>
    </Exposure>
</ModelExposure>
to_therm_xml_str()[source]

Get an THERM XML string of the material.

ALL_SECTIONS = ('Sill', 'Jamb', 'Head', 'Horizontal Divider', 'Vertical Divider', 'Horizontal Meeting Rail', 'Vertical Meeting Rail', 'Common Frame', 'Spacer', 'Sill Plate', 'Header', 'End Section', 'Middle Section', 'Thermal Bridge', 'Window Framing - Sill', 'Rough Opening - Header', 'Rough Opening - Jamb', 'General Cross Section', 'Common Thermal Bridge')
GRAVITY_ORIENTATIONS = ('Down', 'Up', 'Left', 'Right', 'Into Screen', 'Out Of Screen')
MODEL_TYPES = ('Window', 'Opaque Wall', 'Opaque Roof', 'Other')
OPAQUE_SECTIONS = ('Sill Plate', 'Header', 'End Section', 'Middle Section', 'Thermal Bridge', 'Window Framing - Sill', 'Rough Opening - Header', 'Rough Opening - Jamb')
OTHER_SECTIONS = ('General Cross Section', 'Common Thermal Bridge')
SECTION_MAP = {'Opaque Roof': 'Sill Plate', 'Opaque Wall': 'Sill Plate', 'Other': 'General Cross Section', 'Window': 'Sill'}
WINDOW_SECTIONS = ('Sill', 'Jamb', 'Head', 'Horizontal Divider', 'Vertical Divider', 'Horizontal Meeting Rail', 'Vertical Meeting Rail', 'Common Frame', 'Spacer')
property cross_section_type

Get or set text for the type of cross section.

property gravity_orientation

Get or set text for the direction of gravity for the model.

property model_type

Get or set text for the type of construction detail.

property wind_orientation

Get or set a number for the direction the exterior surface of the model faces.