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 |
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 Annex60.BoundaryConditions.SolarIrradiation |
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 Annex60.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 [1] |
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 surface from the sky |
output RealOutput | HGroDifTil | Diffuse solar irradiation on a tilted surface from the ground |
Modelica definition
block DiffuseIsotropic
extends Annex60.BoundaryConditions.SolarIrradiation.BaseClasses.PartialSolarIrradiation;
parameter Real rho(min=0, max=1,
final unit="1")=0.2 ;
parameter Boolean outSkyCon=false
;
parameter Boolean outGroCon=false
;
Modelica.Blocks.Math.Add add ;
Modelica.Blocks.Interfaces.RealOutput HSkyDifTil
if outSkyCon
;
Modelica.Blocks.Interfaces.RealOutput HGroDifTil
if outGroCon
;
protected
Annex60.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;
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 Annex60.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 [1] |
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 surface from the sky |
output RealOutput | HGroDifTil | Hemispherical diffuse solar irradiation on a tilted surface from the ground |
Modelica definition
block DiffusePerez
extends Annex60.BoundaryConditions.SolarIrradiation.BaseClasses.PartialSolarIrradiation;
parameter Real rho(min=0, max=1,
final unit="1")=0.2 ;
parameter Modelica.SIunits.Angle lat ;
parameter Modelica.SIunits.Angle azi ;
parameter Boolean outSkyCon=false
;
parameter Boolean outGroCon=false
;
Modelica.Blocks.Math.Add add ;
Modelica.Blocks.Interfaces.RealOutput HSkyDifTil
if outSkyCon
;
Modelica.Blocks.Interfaces.RealOutput HGroDifTil
if outGroCon
;
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(
final lat=lat,
final azi=azi,
final 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;
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 Annex60.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
http://iea-annex60.org