modelOverhang
Extends from Modelica.Blocks.Icons.Block (Basic graphical layout of input/output block), Buildings.ThermalZones.Detailed.BaseClasses.Overhang (Record for window overhang).
Information
For a window with an overhang, this block outputs the fraction of the area that is exposed to the sun. This models can also be used for doors with an overhang.
Input to this block are the wall solar azimuth angle and the altitude angle of the sun. These angles can be calculated using blocks from the package Buildings.BoundaryConditions.SolarGeometry.BaseClasses.
The overhang can be asymmetrical (i.e. wR ≠ wL)
about the vertical centerline
of the window.
The overhang must completely cover the window (i.e.,
wL ≥ 0 and
wR ≥ 0).
wL and wR are measured from the left and right edge of the window.
The surface azimuth azi is as defined in
Buildings.Types.Azimuth.
Implementation
The method of super position is used to calculate the window shaded area. The area below the overhang is divided as shown in the figure.
Dimensional variables used in code for the rectangle DEGI, AEGH, CFGI and BFGH are shown in the figure below:
The rectangles DEGI, AEGH, CFGI and BFGH have the same geometric configuration
with respect to the overhang.
Thus, the same algorithm can be used to calculate the shaded portion in these areas.
A single equation in the for loop improves the total calculation time,
as compared to if-then-else
conditions, considering the various shapes of the shaded portions.
To find the shaded area in window ABCD, the shaded portion of AEGD and CFGI
should be subtracted from that of DEGI and BFGH.
This shaded area of the window is then divided by the total window area
to calculate the shaded fraction of the window.
Parameters
| Type | Name | Default | Description |
|---|---|---|---|
| Boolean | haveOverhang (from Overhang) | dep > Modelica.Constants.eps | Flag, true if the window has an overhang |
| Modelica.Units.SI.Angle | azi | Surface azimuth; azi= -90 degree East; azi= 0 degree South | |
| General › Overhang | |||
| Modelica.Units.SI.Length | wL (from Overhang) | Overhang width left to the window, measured from the window corner | |
| Modelica.Units.SI.Length | wR (from Overhang) | Overhang width right to the window, measured from the window corner | |
| Modelica.Units.SI.Length | dep (from Overhang) | Overhang depth (measured perpendicular to the wall plane) | |
| Modelica.Units.SI.Length | gap (from Overhang) | Distance between window upper edge and overhang lower edge | |
| General › Window | |||
| Modelica.Units.SI.Length | hWin | Window height | |
| Modelica.Units.SI.Length | wWin | Window width | |
Connectors
| Type | Name | Default | Description |
|---|---|---|---|
| Modelica.Blocks.Interfaces.RealInput | verAzi | Wall solar azimuth angle (angle between projection of sun's rays and normal to vertical surface) | |
| Modelica.Blocks.Interfaces.RealInput | alt | Altitude angle | |
| Modelica.Blocks.Interfaces.RealOutput | fraSun | Fraction of window area exposed to the sun | |
| Buildings.BoundaryConditions.WeatherData.Bus | weaBus | Weather data |
Revisions
-
May 19, 2026, by Jianjun Hu:
Changed the class type from block to model.
This is for 4606. -
September 16, 2021, by Michael Wetter:
Removed parameterlatbecause the latitude is now obtained from the weather data bus.
This is for IBPSA, #1477. -
October 28, 2014, by Michael Wetter:
ReformulatedshdwTrnglRtio*x1 = y1to avoid a division by zero if the model is exported as an FMU.
This is for #234. -
July 5, 2012, by Michael Wetter:
Changed definitions ofwLandwRto be measured from the corner of the window instead of the centerline. This allows changing the window width without having to adjust the overhang parameters. -
July 5, 2012, by Michael Wetter:
Revised implementation to avoid state events when horizontal projection of the sun beam is perpendicular to window. -
May 7, 2012, by Kaustubh Phalak:
Modified for use of asymmetrical overhang. -
Feb 23, 2012, by Michael Wetter:
Revised implementation. -
Feb 01, 2012, by Kaustubh Phalak:
First implementation.