modelOpeningAreaSashCommon

Calculate geometric, projective, equivalent, and effective window opening areas, by different types of sash opening

Extends from AixLib.Airflow.WindowVentilation.BaseClasses.PartialOpeningAreaSash (Window opening area, sash opening).

Information

This partial model provides a base class of common window sash opening area, incl. geometric, projective, equivalent, and effective opening area.

Input port of this model is the opening width.

Parameters

TypeNameDefaultDescription
Modelica.Units.SI.LengthwinClrWidth (from PartialOpeningArea)Width of the window clear opening
Modelica.Units.SI.HeightwinClrHeight (from PartialOpeningArea)Height of the window clear opening
Booleanuse_opnWidth_in (from PartialOpeningArea)trueUse input port for window sash opening width
Modelica.Units.SI.LengthprescribedOpnWidth (from PartialOpeningArea)0Fixed value of prescribed opening width
Modelica.Units.SI.AreaAClrOpn (from PartialOpeningArea)winClrWidth*winClrHeightWindow clear opening area
AixLib.Airflow.WindowVentilation.BaseClasses.Types.WindowOpeningTypesopnTyp (from PartialOpeningAreaSash)AixLib.Airflow.WindowVentilation.BaseClasses.Types.WindowOpeningTypes.BottomHungInwardWindow opening type
AixLib.Airflow.WindowVentilation.BaseClasses.Types.OpeningAreaTypesopnAreaTypAixLib.Airflow.WindowVentilation.BaseClasses.Types.OpeningAreaTypes.GeometricWindow opening area types to calculate
Modelica.Units.SI.LengthlenAxsif (opnTyp == AixLib.Airflow.WindowVentilation.BaseClasses.Types.WindowOpeningTypes.SideHungInward or opnTyp == AixLib.Airflow.WindowVentilation.BaseClasses.Types.WindowOpeningTypes.SideHungOutward or opnTyp == AixLib.Airflow.WindowVentilation.BaseClasses.Types.WindowOpeningTypes.PivotVertical) then winClrHeight else if (opnTyp == AixLib.Airflow.WindowVentilation.BaseClasses.Types.WindowOpeningTypes.TopHungOutward or opnTyp == AixLib.Airflow.WindowVentilation.BaseClasses.Types.WindowOpeningTypes.BottomHungInward or opnTyp == AixLib.Airflow.WindowVentilation.BaseClasses.Types.WindowOpeningTypes.PivotHorizontal) then winClrWidth else 0Length to characterize the hung and pivot window opening: length of the hinged axis
Modelica.Units.SI.LengthlenAxsToFrmif (opnTyp == AixLib.Airflow.WindowVentilation.BaseClasses.Types.WindowOpeningTypes.SideHungInward or opnTyp == AixLib.Airflow.WindowVentilation.BaseClasses.Types.WindowOpeningTypes.SideHungOutward) then winClrWidth else if (opnTyp == AixLib.Airflow.WindowVentilation.BaseClasses.Types.WindowOpeningTypes.TopHungOutward or opnTyp == AixLib.Airflow.WindowVentilation.BaseClasses.Types.WindowOpeningTypes.BottomHungInward) then winClrHeight else if (opnTyp == AixLib.Airflow.WindowVentilation.BaseClasses.Types.WindowOpeningTypes.PivotVertical) then winClrWidth/2 else if (opnTyp == AixLib.Airflow.WindowVentilation.BaseClasses.Types.WindowOpeningTypes.PivotHorizontal) then winClrHeight/2 else 0Length to characterize the hung and pivot window opening: distance from the hinged axis to the frame across the opening area

Connectors

TypeNameDefaultDescription
Modelica.Blocks.Interfaces.RealInputopnWidth_in (from PartialOpeningArea)Conditional input port for window sash opening width
Modelica.Blocks.Interfaces.RealOutputA (from PartialOpeningArea)Output port for window opening area, must be defined by extended model
Modelica.Blocks.Interfaces.RealOutputopnWidth_internal (from PartialOpeningArea)Internal port to connect to opnWidth_in or prescribedOpnWidth

Components

TypeNameDefaultDescription
Modelica.Units.SI.AngleopnAng (from PartialOpeningAreaSash)if (opnTyp == AixLib.Airflow.WindowVentilation.BaseClasses.Types.WindowOpeningTypes.SideHungInward or opnTyp == AixLib.Airflow.WindowVentilation.BaseClasses.Types.WindowOpeningTypes.SideHungOutward) then AixLib.Airflow.WindowVentilation.BaseClasses.Functions.OpeningAreaHinged.WidthToAngle(winClrHeight, winClrWidth, opnWidth_internal) else if (opnTyp == AixLib.Airflow.WindowVentilation.BaseClasses.Types.WindowOpeningTypes.TopHungOutward or opnTyp == AixLib.Airflow.WindowVentilation.BaseClasses.Types.WindowOpeningTypes.BottomHungInward) then AixLib.Airflow.WindowVentilation.BaseClasses.Functions.OpeningAreaHinged.WidthToAngle(winClrWidth, winClrHeight, opnWidth_internal) else if (opnTyp == AixLib.Airflow.WindowVentilation.BaseClasses.Types.WindowOpeningTypes.PivotVertical) then AixLib.Airflow.WindowVentilation.BaseClasses.Functions.OpeningAreaHinged.WidthToAngle(winClrHeight, winClrWidth/2, opnWidth_internal) else if (opnTyp == AixLib.Airflow.WindowVentilation.BaseClasses.Types.WindowOpeningTypes.PivotHorizontal) then AixLib.Airflow.WindowVentilation.BaseClasses.Functions.OpeningAreaHinged.WidthToAngle(winClrWidth, winClrHeight/2, opnWidth_internal) else 0Window sash opening angle
Modelica.Units.SI.AreaAGeoOpnGeometric opening area
Modelica.Units.SI.AreaAPrjOpnProjective opening area
Modelica.Units.SI.AreaAEqvOpnEquivalent opening area
Modelica.Units.SI.AreaAEffOpnEffective opening area

Revisions

  • June 14, 2024, by Jun Jiang:
    First implementation (see issue 1492)