IEA EBC Annex 60 EBC logo

Annex60.BoundaryConditions.SolarIrradiation

Package with models to compute solar irradition

Information

This package contains models that compute the solar irradiation with different sky models.

Extends from Modelica.Icons.VariantsPackage (Icon for package containing variants).

Package Content

Name Description
Annex60.BoundaryConditions.SolarIrradiation.DiffuseIsotropic DiffuseIsotropic Diffuse solar irradiation on a tilted surface with an isotropic sky model
Annex60.BoundaryConditions.SolarIrradiation.DiffusePerez DiffusePerez Hemispherical diffuse irradiation on a tilted surface using Perez's anisotropic sky model
Annex60.BoundaryConditions.SolarIrradiation.DirectTiltedSurface DirectTiltedSurface Direct solar irradiation on a tilted surface
Annex60.BoundaryConditions.SolarIrradiation.Examples Examples Collection of models that illustrate model use and test models
Annex60.BoundaryConditions.SolarIrradiation.BaseClasses BaseClasses Package with base classes for Annex60.BoundaryConditions.SolarIrradiation

Annex60.BoundaryConditions.SolarIrradiation.DiffuseIsotropic Annex60.BoundaryConditions.SolarIrradiation.DiffuseIsotropic

Diffuse solar irradiation on a tilted surface with an isotropic sky model

Annex60.BoundaryConditions.SolarIrradiation.DiffuseIsotropic

Information

This component computes the hemispherical diffuse irradiation on a tilted surface using an isotropic model. The irradiation is a sum composed of diffuse solar irradiation and radiation reflected by the ground. For a definition of the parameters, see the User's Guide.

References

P. Ineichen, R. Perez and R. Seals (1987). The Importance of Correct Albedo Determination for Adequately Modeling Energy Received by Tilted Surface, Solar Energy, 39(4): 301-305.

Extends from Annex60.BoundaryConditions.SolarIrradiation.BaseClasses.PartialSolarIrradiation (Partial model that is used to compute the direct and diffuse solar irradiation).

Parameters

TypeNameDefaultDescription
Angletil Surface tilt [rad]
Realrho0.2Ground reflectance [1]
BooleanoutSkyConfalseOutput contribution of diffuse irradiation from sky
BooleanoutGroConfalseOutput contribution of diffuse irradiation from ground

Connectors

TypeNameDescription
output RealOutputHRadiation per unit area [W/m2]
BusweaBusBus with weather data
output RealOutputHSkyDifTilDiffuse solar irradiation on a tilted surface from the sky
output RealOutputHGroDifTilDiffuse solar irradiation on a tilted surface from the ground

Modelica definition

block DiffuseIsotropic "Diffuse solar irradiation on a tilted surface with an isotropic sky model" extends Annex60.BoundaryConditions.SolarIrradiation.BaseClasses.PartialSolarIrradiation; parameter Real rho(min=0, max=1, final unit="1")=0.2 "Ground reflectance"; parameter Boolean outSkyCon=false "Output contribution of diffuse irradiation from sky"; parameter Boolean outGroCon=false "Output contribution of diffuse irradiation from ground"; Modelica.Blocks.Math.Add add "Block to add radiation"; Modelica.Blocks.Interfaces.RealOutput HSkyDifTil if outSkyCon "Diffuse solar irradiation on a tilted surface from the sky"; Modelica.Blocks.Interfaces.RealOutput HGroDifTil if outGroCon "Diffuse solar irradiation on a tilted surface from the ground"; protected Annex60.BoundaryConditions.SolarIrradiation.BaseClasses.DiffuseIsotropic HDifTilIso(til=til, rho=rho) "Diffuse isotropic irradiation on tilted surface"; equation connect(weaBus.HGloHor, HDifTilIso.HGloHor); connect(weaBus.HDifHor, HDifTilIso.HDifHor); connect(HDifTilIso.HSkyDifTil, add.u1); connect(HDifTilIso.HGroDifTil, add.u2); connect(add.y, H); connect(HDifTilIso.HSkyDifTil, HSkyDifTil); connect(HDifTilIso.HGroDifTil, HGroDifTil); end DiffuseIsotropic;

Annex60.BoundaryConditions.SolarIrradiation.DiffusePerez Annex60.BoundaryConditions.SolarIrradiation.DiffusePerez

Hemispherical diffuse irradiation on a tilted surface using Perez's anisotropic sky model

Annex60.BoundaryConditions.SolarIrradiation.DiffusePerez

Information

This component computes the hemispherical diffuse irradiation on a tilted surface using an anisotropic sky model proposed by Perez. For a definition of the parameters, see the User's Guide.

References

Extends from Annex60.BoundaryConditions.SolarIrradiation.BaseClasses.PartialSolarIrradiation (Partial model that is used to compute the direct and diffuse solar irradiation).

Parameters

TypeNameDefaultDescription
Angletil Surface tilt [rad]
Realrho0.2Ground reflectance [1]
Anglelat Latitude [rad]
Angleazi Surface azimuth [rad]
BooleanoutSkyConfalseOutput contribution of diffuse irradiation from sky
BooleanoutGroConfalseOutput contribution of diffuse irradiation from ground

Connectors

TypeNameDescription
output RealOutputHRadiation per unit area [W/m2]
BusweaBusBus with weather data
output RealOutputHSkyDifTilHemispherical diffuse solar irradiation on a tilted surface from the sky
output RealOutputHGroDifTilHemispherical diffuse solar irradiation on a tilted surface from the ground

Modelica definition

block DiffusePerez "Hemispherical diffuse irradiation on a tilted surface using Perez's anisotropic sky model" extends Annex60.BoundaryConditions.SolarIrradiation.BaseClasses.PartialSolarIrradiation; parameter Real rho(min=0, max=1, final unit="1")=0.2 "Ground reflectance"; parameter Modelica.SIunits.Angle lat "Latitude"; parameter Modelica.SIunits.Angle azi "Surface azimuth"; parameter Boolean outSkyCon=false "Output contribution of diffuse irradiation from sky"; parameter Boolean outGroCon=false "Output contribution of diffuse irradiation from ground"; Modelica.Blocks.Math.Add add "Block to add radiations"; Modelica.Blocks.Interfaces.RealOutput HSkyDifTil if outSkyCon "Hemispherical diffuse solar irradiation on a tilted surface from the sky"; Modelica.Blocks.Interfaces.RealOutput HGroDifTil if outGroCon "Hemispherical diffuse solar irradiation on a tilted surface from the ground"; protected BaseClasses.DiffusePerez HDifTil( final til=til, final rho=rho) "Diffuse irradiation on tilted surface"; BaseClasses.SkyClearness skyCle "Sky clearness"; BaseClasses.BrighteningCoefficient briCoe "Brightening coefficient"; BaseClasses.RelativeAirMass relAirMas "Relative air mass"; BaseClasses.SkyBrightness skyBri "Sky brightness"; SolarGeometry.IncidenceAngle incAng( final lat=lat, final azi=azi, final til=til) "Incidence angle"; equation connect(relAirMas.relAirMas, skyBri.relAirMas); connect(skyBri.skyBri, briCoe.skyBri); connect(skyCle.skyCle, briCoe.skyCle); connect(incAng.y, HDifTil.incAng); connect(weaBus.solZen, skyCle.zen); connect(weaBus.solZen, relAirMas.zen); connect(weaBus.solZen, briCoe.zen); connect(weaBus.HGloHor, skyCle.HGloHor); connect(weaBus.HDifHor, skyCle.HDifHor); connect(weaBus.HDifHor, skyBri.HDifHor); connect(weaBus.HGloHor, HDifTil.HGloHor); connect(weaBus.HDifHor, HDifTil.HDifHor); connect(briCoe.F2, HDifTil.briCof2); connect(briCoe.F1, HDifTil.briCof1); connect(weaBus, incAng.weaBus); connect(weaBus.solZen, HDifTil.zen); connect(HDifTil.HSkyDifTil, add.u1); connect(HDifTil.HGroDifTil, add.u2); connect(add.y, H); connect(HDifTil.HSkyDifTil, HSkyDifTil); connect(HDifTil.HGroDifTil, HGroDifTil); end DiffusePerez;

Annex60.BoundaryConditions.SolarIrradiation.DirectTiltedSurface Annex60.BoundaryConditions.SolarIrradiation.DirectTiltedSurface

Direct solar irradiation on a tilted surface

Annex60.BoundaryConditions.SolarIrradiation.DirectTiltedSurface

Information

This component computes the direct solar irradiation on a tilted surface. For a definition of the parameters, see the User's Guide.

Extends from Annex60.BoundaryConditions.SolarIrradiation.BaseClasses.PartialSolarIrradiation (Partial model that is used to compute the direct and diffuse solar irradiation).

Parameters

TypeNameDefaultDescription
Angletil Surface tilt [rad]
Anglelat Latitude [rad]
Angleazi Surface azimuth [rad]

Connectors

TypeNameDescription
output RealOutputHRadiation per unit area [W/m2]
BusweaBusBus with weather data
output RealOutputincIncidence angle [rad]

Modelica definition

block DirectTiltedSurface "Direct solar irradiation on a tilted surface" extends Annex60.BoundaryConditions.SolarIrradiation.BaseClasses.PartialSolarIrradiation; parameter Modelica.SIunits.Angle lat "Latitude"; parameter Modelica.SIunits.Angle azi "Surface azimuth"; Modelica.Blocks.Interfaces.RealOutput inc( final quantity="Angle", final unit="rad", displayUnit="deg") "Incidence angle"; protected SolarGeometry.IncidenceAngle incAng( final azi=azi, final til=til, final lat=lat) "Incidence angle"; Annex60.BoundaryConditions.SolarIrradiation.BaseClasses.DirectTiltedSurface HDirTil "Direct irradition on tilted surface"; equation connect(incAng.y, HDirTil.incAng); connect(weaBus.HDirNor, HDirTil.HDirNor); connect(incAng.y, inc); connect(HDirTil.HDirTil, H); connect(weaBus, incAng.weaBus); end DirectTiltedSurface;

http://iea-annex60.org