Description: "Package with models to compute solar irradition"

- Home > Modelica

## Buildings.BoundaryConditions.SolarIrradiation

Package with models to compute solar irradition

### Information

This package contains models to compute the solar irradiation for different sky models.

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

### Package Content

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

## Buildings.BoundaryConditions.SolarIrradiation.DiffuseIsotropic

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

### 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 Buildings.BoundaryConditions.SolarIrradiation.BaseClasses.PartialSolarIrradiation (Partial model that is used to compute the direct and diffuse solar irradiation).

### Parameters

Type | Name | Default | Description
--- | --- | --- | ---
Angle | til |  | Surface tilt [rad]
Real | rho | 0.2 | Ground reflectance
Boolean | outSkyCon | false | Output contribution of diffuse irradiation from sky
Boolean | outGroCon | false | Output contribution of diffuse irradiation from ground

### Connectors

Type | Name | Description
--- | --- | ---
output RealOutput | H | Radiation per unit area [W/m2]
Bus | weaBus | Bus with weather data
output RealOutput | HSkyDifTil | Diffuse solar irradiation on a tilted surfce from the sky
output RealOutput | HGroDifTil | Diffuse solar irradiation on a tilted surfce from the ground

### Modelica definition

block DiffuseIsotropic "Diffuse solar irradiation on a tilted surface with an isotropic sky model" extends Buildings.BoundaryConditions.SolarIrradiation.BaseClasses.PartialSolarIrradiation; public parameter Real rho=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; Modelica.Blocks.Interfaces.RealOutput HSkyDifTil if (outSkyCon) "Diffuse solar irradiation on a tilted surfce from the sky"; Modelica.Blocks.Interfaces.RealOutput HGroDifTil if (outGroCon) "Diffuse solar irradiation on a tilted surfce from the ground"; protected Buildings.BoundaryConditions.SolarIrradiation.BaseClasses.DiffuseIsotropic HDifTilIso(til=til, rho=rho); 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;

## Buildings.BoundaryConditions.SolarIrradiation.DiffusePerez

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

### 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

- 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.
- R. Perez, R. Seals, P. Ineichen, R. Stewart and D. Menicucci (1987). A New Simplified Version of the Perez Diffuse Irradiance Model for Tilted Surface, Solar Energy, 39(3): 221-231.
- R. Perez, P. Ineichen, R. Seals, J. Michalsky and R. Stewart (1990). Modeling Dyalight Availability and Irradiance Componets From Direct and Global Irradiance, Solar Energy, 44(5):271-289.

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

### Parameters

Type | Name | Default | Description
--- | --- | --- | ---
Angle | til |  | Surface tilt [rad]
Real | rho | 0.2 | Ground reflectance
Angle | lat |  | Latitude [rad]
Angle | azi |  | Surface azimuth [rad]
Boolean | outSkyCon | false | Output contribution of diffuse irradiation from sky
Boolean | outGroCon | false | Output contribution of diffuse irradiation from ground

### Connectors

Type | Name | Description
--- | --- | ---
output RealOutput | H | Radiation per unit area [W/m2]
Bus | weaBus | Bus with weather data
output RealOutput | HSkyDifTil | Hemispherical diffuse solar irradiation on a tilted surfce from the sky
output RealOutput | HGroDifTil | Hemispherical diffuse solar irradiation on a tilted surfce from the ground

### Modelica definition

block DiffusePerez "Hemispherical diffuse irradiation on a tilted surface using Perez's anisotropic sky model" extends Buildings.BoundaryConditions.SolarIrradiation.BaseClasses.PartialSolarIrradiation; parameter Real rho=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; Modelica.Blocks.Interfaces.RealOutput HSkyDifTil if (outSkyCon) "Hemispherical diffuse solar irradiation on a tilted surfce from the sky"; Modelica.Blocks.Interfaces.RealOutput HGroDifTil if (outGroCon) "Hemispherical diffuse solar irradiation on a tilted surfce from the ground"; protected BaseClasses.DiffusePerez HDifTil(final til=til, final rho=rho); BaseClasses.SkyClearness skyCle; BaseClasses.BrighteningCoefficient briCoe; BaseClasses.RelativeAirMass relAirMas; BaseClasses.SkyBrightness skyBri; SolarGeometry.IncidenceAngle incAng( lat=lat, azi=azi, til=til); 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;

## Buildings.BoundaryConditions.SolarIrradiation.DirectTiltedSurface

Direct solar irradiation on a tilted surface

### 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 Buildings.BoundaryConditions.SolarIrradiation.BaseClasses.PartialSolarIrradiation (Partial model that is used to compute the direct and diffuse solar irradiation).

### Parameters

Type | Name | Default | Description
--- | --- | --- | ---
Angle | til |  | Surface tilt [rad]
Angle | lat |  | Latitude [rad]
Angle | azi |  | Surface azimuth [rad]

### Connectors

Type | Name | Description
--- | --- | ---
output RealOutput | H | Radiation per unit area [W/m2]
Bus | weaBus | Bus with weather data
output RealOutput | inc | Incidence angle [rad]

### Modelica definition

block DirectTiltedSurface "Direct solar irradiation on a tilted surface" extends Buildings.BoundaryConditions.SolarIrradiation.BaseClasses.PartialSolarIrradiation; parameter Modelica.SIunits.Angle lat "Latitude"; parameter Modelica.SIunits.Angle azi "Surface azimuth"; Buildings.BoundaryConditions.WeatherData.Bus weaBus; 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); Buildings.BoundaryConditions.SolarIrradiation.BaseClasses.DirectTiltedSurface HDirTil; 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;