blockProjectedShadowLength

Length of shadow projected onto a direction

Extends from Modelica.Blocks.Icons.Block (Basic graphical layout of input/output block).

Information

This component computes the length of a shadow projected onto a horizontal plane into the direction that is perpendicular to the surface azimuth azi.

The parameter azi is the azimuth of the surface that is perpendicular to the direction of the view. For example, if azi=Buildings.Types.Azimuth.S, then one is looking towards South. Hence, in the Northern hemisphere, at noon, the length of the shadow is negative as one is looking towards South but the shadow is in ones back. Similarly, for azi=Buildings.Types.Azimuth.E, there is a shade of negative length in the morning, and of positive length in the afternoon. The example Buildings.BoundaryConditions.SolarGeometry.Examples.ProjectedShadowLength illustrates this.

For a definition of the parameters, see the User's Guide Buildings.BoundaryConditions.UsersGuide. The surface azimuth is defined in Buildings.Types.Azimuth.

The component requires as parameters the longitude, latitude and time zone. These can automatically be assigned by setting the parameter filNam to a weather data file, in which case these values are read from the weather data file.

Parameters

TypeNameDefaultDescription
Modelica.Units.SI.LengthhHeight of surface
Modelica.Units.SI.AngleaziSurface azimuth
Location
StringfilNam""Name of weather data file (used to read longitude, latitude and time zone)
Modelica.Units.SI.AnglelonBuildings.BoundaryConditions.WeatherData.BaseClasses.getLongitudeTMY3(absFilNam)Longitude
Modelica.Units.SI.AnglelatBuildings.BoundaryConditions.WeatherData.BaseClasses.getLatitudeTMY3(absFilNam)Latitude
Modelica.Units.SI.TimetimZonBuildings.BoundaryConditions.WeatherData.BaseClasses.getTimeZoneTMY3(absFilNam)Time zone

Connectors

TypeNameDefaultDescription
Modelica.Blocks.Interfaces.RealOutputyProjected shadow length

Revisions

  • January 20, 2016, by Thierry S. Nouidui:
    Refactored the model and added a realExpression with noEvent() to avoid spikes in the trajectory. This is for Buildings, #626.
  • April 21, 2016, by Michael Wetter:
    Introduced absFilNam to avoid multiple calls to Buildings.BoundaryConditions.WeatherData.BaseClasses.getAbsolutePath. This is for Buildings, #506.
  • March 19, 2016, by Michael Wetter:
    Set Evaluate=true for parameters lon, lat and timZon. This is required for OpenModelica to avoid a compilation error in Buildings.BoundaryConditions.SolarGeometry.Examples.ProjectedShadowLength.
  • November 14, 2015, by Michael Wetter:
    First implementation.