modelOverhang

For a window with an overhang, outputs the fraction of the area that is sun exposed

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.

image

Dimensional variables used in code for the rectangle DEGI, AEGH, CFGI and BFGH are shown in the figure below:

image

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

TypeNameDefaultDescription
BooleanhaveOverhang (from Overhang)dep > Modelica.Constants.epsFlag, true if the window has an overhang
Modelica.Units.SI.AngleaziSurface azimuth; azi= -90 degree East; azi= 0 degree South
General › Overhang
Modelica.Units.SI.LengthwL (from Overhang)Overhang width left to the window, measured from the window corner
Modelica.Units.SI.LengthwR (from Overhang)Overhang width right to the window, measured from the window corner
Modelica.Units.SI.Lengthdep (from Overhang)Overhang depth (measured perpendicular to the wall plane)
Modelica.Units.SI.Lengthgap (from Overhang)Distance between window upper edge and overhang lower edge
General › Window
Modelica.Units.SI.LengthhWinWindow height
Modelica.Units.SI.LengthwWinWindow width

Connectors

TypeNameDefaultDescription
Modelica.Blocks.Interfaces.RealInputverAziWall solar azimuth angle (angle between projection of sun's rays and normal to vertical surface)
Modelica.Blocks.Interfaces.RealInputaltAltitude angle
Modelica.Blocks.Interfaces.RealOutputfraSunFraction of window area exposed to the sun
Buildings.BoundaryConditions.WeatherData.BusweaBusWeather 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 parameter lat because the latitude is now obtained from the weather data bus.
    This is for IBPSA, #1477.
  • October 28, 2014, by Michael Wetter:
    Reformulated shdwTrnglRtio*x1 = y1 to 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 of wL and wR to 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.