Buildings.BoundaryConditions.SolarGeometry.BaseClasses.Examples

Collection of models that illustrate model use and test models

Information

This package contains examples for the use of models that can be found in Buildings.BoundaryConditions.SolarGeometry.BaseClasses.

Extends from Modelica.Icons.ExamplesPackage (Icon for packages containing runnable examples).

Package Content

Name Description
Buildings.BoundaryConditions.SolarGeometry.BaseClasses.Examples.AltitudeAngle AltitudeAngle Test model for altitude angle
Buildings.BoundaryConditions.SolarGeometry.BaseClasses.Examples.Declination Declination Test model for declination
Buildings.BoundaryConditions.SolarGeometry.BaseClasses.Examples.IncidenceAngle IncidenceAngle Test model for incidence angle
Buildings.BoundaryConditions.SolarGeometry.BaseClasses.Examples.SolarAzimuth SolarAzimuth Test model for zenith angle
Buildings.BoundaryConditions.SolarGeometry.BaseClasses.Examples.SolarHourAngle SolarHourAngle Test model for solar hour angle
Buildings.BoundaryConditions.SolarGeometry.BaseClasses.Examples.WallSolarAzimuth WallSolarAzimuth Test model for wall solar azimuth angle
Buildings.BoundaryConditions.SolarGeometry.BaseClasses.Examples.ZenithAngle ZenithAngle Test model for zenith angle

Buildings.BoundaryConditions.SolarGeometry.BaseClasses.Examples.AltitudeAngle Buildings.BoundaryConditions.SolarGeometry.BaseClasses.Examples.AltitudeAngle

Test model for altitude angle

Buildings.BoundaryConditions.SolarGeometry.BaseClasses.Examples.AltitudeAngle

Information

This example calculates the altitude angle of the sun at a given time. The altitude angle is the angle between the sun ray and the projection of the ray on a horizontal surface.

Components used in this model are:


Extends from Modelica.Icons.Example (Icon for runnable examples).

Connectors

TypeNameDescription
BusweaBusWeather bus

Modelica definition

model AltitudeAngle "Test model for altitude angle" extends Modelica.Icons.Example; Buildings.BoundaryConditions.SolarGeometry.BaseClasses.ZenithAngle zen(lat= 0.73268921998722) "Zenith angle"; Buildings.BoundaryConditions.SolarGeometry.BaseClasses.Declination decAng "Declination angle"; Buildings.BoundaryConditions.SolarGeometry.BaseClasses.SolarHourAngle solHouAng "Solar hour angle"; Buildings.BoundaryConditions.WeatherData.ReaderTMY3 weaDat(filNam=Modelica.Utilities.Files.loadResource("modelica://Buildings/Resources/weatherdata/USA_IL_Chicago-OHare.Intl.AP.725300_TMY3.mos")) "Weather data"; Buildings.BoundaryConditions.WeatherData.Bus weaBus "Weather bus"; Buildings.BoundaryConditions.SolarGeometry.BaseClasses.AltitudeAngle altAng "Altitude angle: Angle between Sun ray and horizontal surface)"; equation connect(decAng.decAng, zen.decAng); connect(solHouAng.solHouAng, zen.solHouAng); connect(weaDat.weaBus, weaBus); connect(weaBus.cloTim, decAng.nDay); connect(weaBus.solTim, solHouAng.solTim); connect(zen.zen, altAng.zen); end AltitudeAngle;

Buildings.BoundaryConditions.SolarGeometry.BaseClasses.Examples.Declination Buildings.BoundaryConditions.SolarGeometry.BaseClasses.Examples.Declination

Test model for declination

Buildings.BoundaryConditions.SolarGeometry.BaseClasses.Examples.Declination

Information

This model validates the computation of the solar declination, which is the angle between the equatorial plane and the solar beam. The time table solDecNOAA outputs the solar declination according to the computation of the National Oceanic and Atmospheric Administration (NOAA), using their yearly calculator from http://www.esrl.noaa.gov/gmd/grad/solcalc/calcdetails.html. The values differ slightly because the equation in Buildings.BoundaryConditions.SolarGeometry.BaseClasses.Declination is an approximation.

Extends from Modelica.Icons.Example (Icon for runnable examples).

Modelica definition

model Declination "Test model for declination" extends Modelica.Icons.Example; Buildings.BoundaryConditions.SolarGeometry.BaseClasses.Declination decAng "Declination angle"; Buildings.Utilities.Time.ModelTime modTim "Model time"; Modelica.Blocks.Sources.TimeTable solDecNOAA(table=[ 0, -0.4007544; 2678400, -0.2960882; 5097600, -0.1292836; 7776000, 0.0824143; 10368000, 0.2656267; 13046400, 0.3860123; 15638400, 0.4027150; 18316800, 0.3123199; 20995200, 0.1414929; 23587200, -0.0587907; 26265600, -0.2544026; 28857600, -0.3817216; 28944000, -0.3843185; 31536000, -0.4010977], y(unit="rad")) "Solar declination according to NOAA"; equation connect(modTim.y, decAng.nDay); end Declination;

Buildings.BoundaryConditions.SolarGeometry.BaseClasses.Examples.IncidenceAngle Buildings.BoundaryConditions.SolarGeometry.BaseClasses.Examples.IncidenceAngle

Test model for incidence angle

Buildings.BoundaryConditions.SolarGeometry.BaseClasses.Examples.IncidenceAngle

Information

This example computes the solar incidence angle on a tilted surface. This model is also part of more extensive tests that run the model for different orientations. These tests are at Buildings.BoundaryConditions.SolarGeometry.Examples.IncidenceAngle.

Extends from Modelica.Icons.Example (Icon for runnable examples).

Connectors

TypeNameDescription
BusweaBusWeather bus

Modelica definition

model IncidenceAngle "Test model for incidence angle" extends Modelica.Icons.Example; Buildings.BoundaryConditions.SolarGeometry.BaseClasses.Declination decAng "Declination angle"; Buildings.BoundaryConditions.SolarGeometry.BaseClasses.SolarHourAngle solHouAng "Solar hour angle"; Buildings.BoundaryConditions.SolarGeometry.BaseClasses.IncidenceAngle incAng( azi=Buildings.Types.Azimuth.S, til=Buildings.Types.Tilt.Wall, lat=0.73268921998722) "Incidence angle"; Buildings.BoundaryConditions.WeatherData.ReaderTMY3 weaDat( filNam=Modelica.Utilities.Files.loadResource("modelica://Buildings/Resources/weatherdata/USA_IL_Chicago-OHare.Intl.AP.725300_TMY3.mos")) "Weather data"; Buildings.BoundaryConditions.WeatherData.Bus weaBus "Weather bus"; equation connect(decAng.decAng, incAng.decAng); connect(solHouAng.solHouAng, incAng.solHouAng); connect(weaDat.weaBus, weaBus); connect(weaBus.cloTim, decAng.nDay); connect(weaBus.solTim, solHouAng.solTim); end IncidenceAngle;

Buildings.BoundaryConditions.SolarGeometry.BaseClasses.Examples.SolarAzimuth Buildings.BoundaryConditions.SolarGeometry.BaseClasses.Examples.SolarAzimuth

Test model for zenith angle

Buildings.BoundaryConditions.SolarGeometry.BaseClasses.Examples.SolarAzimuth

Information

This example computes the solar azimuth angle.

Extends from Modelica.Icons.Example (Icon for runnable examples).

Parameters

TypeNameDefaultDescription
Anglelat41.98*Modelica.Constants.pi/...Latitude [rad]

Connectors

TypeNameDescription
BusweaBusWeather bus

Modelica definition

model SolarAzimuth "Test model for zenith angle" extends Modelica.Icons.Example; parameter Modelica.SIunits.Angle lat= 41.98*Modelica.Constants.pi/180 "Latitude"; Buildings.BoundaryConditions.SolarGeometry.BaseClasses.SolarHourAngle solHouAng "Solar hour angle"; Buildings.BoundaryConditions.SolarGeometry.BaseClasses.ZenithAngle zen(lat=lat) "Zenith angle"; Buildings.BoundaryConditions.SolarGeometry.BaseClasses.Declination decAng "Declination angle"; Buildings.BoundaryConditions.SolarGeometry.BaseClasses.SolarAzimuth solAzi(lat=lat) "Solar azimuth"; WeatherData.ReaderTMY3 weaDat( filNam=Modelica.Utilities.Files.loadResource("modelica://Buildings/Resources/weatherdata/USA_IL_Chicago-OHare.Intl.AP.725300_TMY3.mos")) "Weather data"; WeatherData.Bus weaBus "Weather bus"; equation connect(zen.zen, solAzi.zen); connect(solHouAng.solHouAng, zen.solHouAng); connect(decAng.decAng, solAzi.decAng); connect(decAng.decAng, zen.decAng); connect(weaDat.weaBus, weaBus); connect(weaBus.cloTim, decAng.nDay); connect(weaBus.solTim, solHouAng.solTim); connect(weaBus.solTim, solAzi.solTim); end SolarAzimuth;

Buildings.BoundaryConditions.SolarGeometry.BaseClasses.Examples.SolarHourAngle Buildings.BoundaryConditions.SolarGeometry.BaseClasses.Examples.SolarHourAngle

Test model for solar hour angle

Buildings.BoundaryConditions.SolarGeometry.BaseClasses.Examples.SolarHourAngle

Information

This example computes the solar hour angle, which is defined as the angle between the circle that passes through an observer, the north pole and the south pole, and the circle that passes through the sun, the north and the south pole.

Extends from Modelica.Icons.Example (Icon for runnable examples).

Connectors

TypeNameDescription
BusweaBusWeather bus

Modelica definition

model SolarHourAngle "Test model for solar hour angle" extends Modelica.Icons.Example; Buildings.BoundaryConditions.SolarGeometry.BaseClasses.SolarHourAngle solHouAng "Solar hour Angle"; WeatherData.ReaderTMY3 weaDat( filNam=Modelica.Utilities.Files.loadResource("modelica://Buildings/Resources/weatherdata/USA_IL_Chicago-OHare.Intl.AP.725300_TMY3.mos")) "Weather data"; WeatherData.Bus weaBus "Weather bus"; equation connect(weaDat.weaBus, weaBus); connect(weaBus.solTim, solHouAng.solTim); end SolarHourAngle;

Buildings.BoundaryConditions.SolarGeometry.BaseClasses.Examples.WallSolarAzimuth Buildings.BoundaryConditions.SolarGeometry.BaseClasses.Examples.WallSolarAzimuth

Test model for wall solar azimuth angle

Buildings.BoundaryConditions.SolarGeometry.BaseClasses.Examples.WallSolarAzimuth

Information

This example calculates the wall solar azimuth angle.

Extends from Modelica.Icons.Example (Icon for runnable examples).

Parameters

TypeNameDefaultDescription
Anglelat41.98*Modelica.Constants.pi/...Latitude [rad]

Connectors

TypeNameDescription
BusweaBusWeather bus

Modelica definition

model WallSolarAzimuth "Test model for wall solar azimuth angle" extends Modelica.Icons.Example; Buildings.BoundaryConditions.SolarGeometry.IncidenceAngle incAng( azi=0, lat=lat, til=1.5707963267949) "solar incidence angle"; Buildings.BoundaryConditions.WeatherData.ReaderTMY3 weaDat(filNam= Modelica.Utilities.Files.loadResource("modelica://Buildings/Resources/weatherdata/USA_IL_Chicago-OHare.Intl.AP.725300_TMY3.mos")) "Weather data"; Buildings.BoundaryConditions.WeatherData.Bus weaBus "Weather bus"; Buildings.BoundaryConditions.SolarGeometry.BaseClasses.WallSolarAzimuth walSolAzi "Vertical wall solar azimuth angle"; Buildings.BoundaryConditions.SolarGeometry.BaseClasses.AltitudeAngle altAng "Altitude angle"; parameter Modelica.SIunits.Angle lat=41.98*Modelica.Constants.pi/180 "Latitude"; equation connect(weaDat.weaBus, weaBus); connect(weaDat.weaBus, incAng.weaBus); connect(incAng.y, walSolAzi.incAng); connect(altAng.alt, walSolAzi.alt); connect(weaBus.solZen, altAng.zen); end WallSolarAzimuth;

Buildings.BoundaryConditions.SolarGeometry.BaseClasses.Examples.ZenithAngle Buildings.BoundaryConditions.SolarGeometry.BaseClasses.Examples.ZenithAngle

Test model for zenith angle

Buildings.BoundaryConditions.SolarGeometry.BaseClasses.Examples.ZenithAngle

Information

This example computes the zenith angle, which is the angle between the earth surface normal and the sun's beam.

Extends from Modelica.Icons.Example (Icon for runnable examples).

Connectors

TypeNameDescription
BusweaBusWeather bus

Modelica definition

model ZenithAngle "Test model for zenith angle" extends Modelica.Icons.Example; Buildings.BoundaryConditions.SolarGeometry.BaseClasses.ZenithAngle zen(lat= 0.73268921998722) "Zenith angle"; Buildings.BoundaryConditions.SolarGeometry.BaseClasses.Declination decAng "Declination angle"; Buildings.BoundaryConditions.SolarGeometry.BaseClasses.SolarHourAngle solHouAng "Solar hour angle"; Buildings.BoundaryConditions.WeatherData.ReaderTMY3 weaDat(filNam= Modelica.Utilities.Files.loadResource("modelica://Buildings/Resources/weatherdata/USA_IL_Chicago-OHare.Intl.AP.725300_TMY3.mos")) "Weather data"; Buildings.BoundaryConditions.WeatherData.Bus weaBus "Weather bus"; equation connect(decAng.decAng, zen.decAng); connect(solHouAng.solHouAng, zen.solHouAng); connect(weaDat.weaBus, weaBus); connect(weaBus.cloTim, decAng.nDay); connect(weaBus.solTim, solHouAng.solTim); end ZenithAngle;