Package with base classes for Buildings.BoundaryConditions.SolarIrradiation
Information
This package contains base classes that are used to construct the models in
Buildings.BoundaryConditions.SolarIrradiation.
Extends from Modelica.Icons.BasesPackage (Icon for packages containing base classes).
Package Content
Name |
Description |
BrighteningCoefficient
|
Circumsolar and horizon brightening coefficients |
DiffuseIsotropic
|
Diffuse solar irradiation on a tilted surface with an isotropic model |
DiffusePerez
|
Hemispherical diffuse irradiation on a tilted surface with Perez's anisotropic model |
DirectTiltedSurface
|
Direct solar irradiation on a tilted surface |
PartialSolarIrradiation
|
Partial model that is used to compute the direct and diffuse solar irradiation |
RelativeAirMass
|
Relative air mass |
SkyBrightness
|
Sky brightness |
SkyClearness
|
Sky clearness |
Examples
|
Collection of models that illustrate model use and test models |
Circumsolar and horizon brightening coefficients
Information
This component computes the circumsolar and horizon brightening coefficients.
Extends from Modelica.Blocks.Icons.Block (Basic graphical layout of input/output block).
Connectors
Type | Name | Description |
input RealInput | zen | Zenith angle of the sun beam [rad] |
input RealInput | skyCle | Sky clearness. skyCle=1: overcast sky; skyCle=8 clear sky |
input RealInput | skyBri | Sky brightness [0,1] |
output RealOutput | F1 | Circumsolar brightening coefficient |
output RealOutput | F2 | Horizon brightening coefficient |
Modelica definition
block BrighteningCoefficient
extends Modelica.Blocks.Icons.Block;
import H =
Buildings.Utilities.Math.Functions.regStep;
Modelica.Blocks.Interfaces.RealInput zen(
quantity="Angle",
unit="rad",
displayUnit="degree") ;
Modelica.Blocks.Interfaces.RealInput skyCle ;
Modelica.Blocks.Interfaces.RealInput skyBri ;
Modelica.Blocks.Interfaces.RealOutput F1 ;
Modelica.Blocks.Interfaces.RealOutput F2 ;
protected
Real F11;
Real F12;
Real F13;
Real F21;
Real F22;
Real F23;
Real d=0.01;
Real a1;
Real a2;
Real a3;
Real a4;
Real a5;
Real a6;
Real a7;
Real a8;
Real b1;
Real b2;
Real b3;
Real b4;
Real b5;
Real b6;
Real b7;
Real b8;
equation
b1 =
H(
y1=1,
y2=0,
x=1.065 - skyCle,
x_small=d);
b2 =
H(
y1=1,
y2=0,
x=1.23 - skyCle,
x_small=d);
b3 =
H(
y1=1,
y2=0,
x=1.50 - skyCle,
x_small=d);
b4 =
H(
y1=1,
y2=0,
x=1.95 - skyCle,
x_small=d);
b5 =
H(
y1=1,
y2=0,
x=2.80 - skyCle,
x_small=d);
b6 =
H(
y1=1,
y2=0,
x=4.50 - skyCle,
x_small=d);
b7 =
H(
y1=1,
y2=0,
x=6.20 - skyCle,
x_small=d);
b8 =
H(
y1=1,
y2=0,
x=skyCle - 6.20,
x_small=d);
a1 = b1;
a2 = b2 - b1;
a3 = b3 - b2;
a4 = b4 - b3;
a5 = b5 - b4;
a6 = b6 - b5;
a7 = b7 - b6;
a8 = b8;
F11 = -0.0083117*a1 + 0.1299457*a2 + 0.3296958*a3 + 0.5682053*a4 + 0.8730280*
a5 + 1.1326077*a6 + 1.0601591*a7 + 0.6777470*a8;
F12 = 0.5877285*a1 + 0.6825954*a2 + 0.4868735*a3 + 0.1874525*a4 - 0.3920403*
a5 - 1.2367284*a6 - 1.5999137*a7 - 0.3272588*a8;
F13 = -0.0620636*a1 - 0.1513725*a2 - 0.2210958*a3 - 0.2951290*a4 - 0.3616149*
a5 - 0.4118494*a6 - 0.3589221*a7 - 0.2504286*a8;
F21 = -0.0596012*a1 - 0.0189325*a2 + 0.0554140*a3 + 0.1088631*a4 + 0.2255647*
a5 + 0.2877813*a6 + 0.2642124*a7 + 0.1561313*a8;
F22 = 0.0721249*a1 + 0.0659650*a2 - 0.0639588*a3 - 0.1519229*a4 - 0.4620442*
a5 - 0.8230357*a6 - 1.1272340*a7 - 1.3765031*a8;
F23 = -0.0220216*a1 - 0.0288748*a2 - 0.0260542*a3 - 0.0139754*a4 + 0.0012448*
a5 + 0.0558651*a6 + 0.1310694*a7 + 0.2506212*a8;
F1 =
Buildings.Utilities.Math.Functions.smoothMax(
0,
F11 + F12*skyBri + F13*zen,
0.01);
F2 = F21 + F22*skyBri + F23*zen;
end BrighteningCoefficient;
Diffuse solar irradiation on a tilted surface with an isotropic model
Information
This component computes the hemispherical diffuse irradiation on a tilted surface.
The irradiation is composed of the diffuse horizontal solar irradiation and the irradiation
that has been reflected by the ground. Both components are adjusted to take into account
the tilt of the receiving surface.
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 Modelica.Blocks.Icons.Block (Basic graphical layout of input/output block).
Parameters
Type | Name | Default | Description |
Real | rho | 0.2 | Ground reflectance |
Angle | til | | Surface tilt angle [rad] |
Connectors
Type | Name | Description |
input RealInput | HDifHor | Horizontal diffuse solar radiation [W/m2] |
input RealInput | HGloHor | Horizontal global radiation [W/m2] |
output RealOutput | HGroDifTil | Diffuse solar irradiation on a tilted surface from the ground [W/m2] |
output RealOutput | HSkyDifTil | Diffuse solar irradiation on a tilted surface from the sky [W/m2] |
Modelica definition
Hemispherical diffuse irradiation on a tilted surface with Perez's anisotropic model
Information
This component computes the hemispherical diffuse irradiation on a tilted surface by using an anisotropic model proposed by Perez.
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 Modelica.Blocks.Icons.Block (Basic graphical layout of input/output block).
Parameters
Type | Name | Default | Description |
Real | rho | 0.2 | Ground reflectance |
Angle | til | | Surface tilt angle [rad] |
Connectors
Type | Name | Description |
input RealInput | briCof1 | Brightening Coeffcient F1 |
input RealInput | briCof2 | Brightening Coeffcient F2 |
input RealInput | HDifHor | Diffuse horizontal solar radiation [W/m2] |
input RealInput | HGloHor | Global horizontal radiation [W/m2] |
input RealInput | zen | Zenith angle of the sun beam [rad] |
input RealInput | incAng | Solar incidence angle on the surface [rad] |
output RealOutput | HGroDifTil | Hemispherical diffuse solar irradiation on a tilted surface from the ground [W/m2] |
output RealOutput | HSkyDifTil | Hemispherical diffuse solar irradiation on a tilted surface from the sky [W/m2] |
Modelica definition
block DiffusePerez
extends Modelica.Blocks.Icons.Block;
parameter Real rho=0.2 ;
parameter Modelica.SIunits.Angle til(displayUnit="deg") ;
Modelica.Blocks.Interfaces.RealInput briCof1 ;
Modelica.Blocks.Interfaces.RealInput briCof2 ;
Modelica.Blocks.Interfaces.RealInput HDifHor(quantity=
"RadiantEnergyFluenceRate", unit="W/m2") ;
Modelica.Blocks.Interfaces.RealInput HGloHor(quantity=
"RadiantEnergyFluenceRate", unit="W/m2") ;
Modelica.Blocks.Interfaces.RealInput zen(
quantity="Angle",
unit="rad",
displayUnit="degree") ;
Modelica.Blocks.Interfaces.RealInput incAng(
quantity="Angle",
unit="rad",
displayUnit="degree") ;
Modelica.Blocks.Interfaces.RealOutput HGroDifTil(
final quantity=
"RadiantEnergyFluenceRate",
final unit="W/m2") ;
Modelica.Blocks.Interfaces.RealOutput HSkyDifTil(
final quantity=
"RadiantEnergyFluenceRate",
final unit="W/m2") ;
protected
Real a;
Real b;
constant Real bMin=
Modelica.Math.cos(Modelica.Constants.pi*85/180) ;
equation
a =
Buildings.Utilities.Math.Functions.smoothMax(
0,
Modelica.Math.cos(incAng),
0.01);
b =
Buildings.Utilities.Math.Functions.smoothMax(
bMin,
Modelica.Math.cos(zen),
0.01);
HSkyDifTil = HDifHor*(0.5*(1 - briCof1)*(1 +
Modelica.Math.cos(til)) +
briCof1*a/b + briCof2*
Modelica.Math.sin(til));
HGroDifTil = HGloHor*0.5*rho*(1 -
Modelica.Math.cos(til));
end DiffusePerez;
Direct solar irradiation on a tilted surface
Information
This component computes the direct solar irradiation on a tilted surface.
Extends from Modelica.Blocks.Icons.Block (Basic graphical layout of input/output block).
Connectors
Type | Name | Description |
input RealInput | incAng | Incidence angle of the sun beam on a tilted surface [rad] |
input RealInput | HDirNor | Direct normal radiation [W/m2] |
output RealOutput | HDirTil | Direct solar irradiation on a tilted surface [W/m2] |
Modelica definition
Partial model that is used to compute the direct and diffuse solar irradiation
Information
This is a partial model that is used to implement the direct and diffuse irradiation.
Extends from Modelica.Blocks.Icons.Block (Basic graphical layout of input/output block).
Parameters
Type | Name | Default | Description |
Angle | til | | Surface tilt [rad] |
Connectors
Type | Name | Description |
output RealOutput | H | Radiation per unit area [W/m2] |
Bus | weaBus | Bus with weather data |
Modelica definition
Relative air mass
Information
This component computes the relative air mass for sky brightness.
References
R. Perez (1999).
Fortran Function irrpz.f,
Emailed by R. Perez to F.C. Winkelmann on May 21, 1999.
Extends from Modelica.Blocks.Icons.Block (Basic graphical layout of input/output block).
Connectors
Type | Name | Description |
input RealInput | zen | Zenith angle of the sun beam [rad] |
output RealOutput | relAirMas | Relative air mass |
Modelica definition
Sky brightness
Information
This component computes the sky brightness.
References
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 Modelica.Blocks.Icons.Block (Basic graphical layout of input/output block).
Connectors
Type | Name | Description |
input RealInput | relAirMas | Relative air mass |
input RealInput | HDifHor | Horizontal diffuse solar radiation [W/m2] |
output RealOutput | skyBri | Sky brightness |
Modelica definition
Sky clearness
Information
This component computes the sky clearness.
Extends from Modelica.Blocks.Icons.Block (Basic graphical layout of input/output block).
Connectors
Type | Name | Description |
input RealInput | zen | Zenith angle of the sun beam [rad] |
input RealInput | HDifHor | Horizontal diffuse solar radiation [W/m2] |
input RealInput | HGloHor | Horizontal global solar radiation [W/m2] |
output RealOutput | skyCle | Sky clearness. skyCle=1: overast sky; skyCle=8: clear sky |
Modelica definition
block SkyClearness
extends Modelica.Blocks.Icons.Block;
Modelica.Blocks.Interfaces.RealInput zen(
quantity="Angle",
unit="rad",
displayUnit="degreeC") ;
Modelica.Blocks.Interfaces.RealInput HDifHor(quantity=
"RadiantEnergyFluenceRate", unit="W/m2") ;
Modelica.Blocks.Interfaces.RealInput HGloHor(quantity=
"RadiantEnergyFluenceRate", unit="W/m2") ;
Modelica.Blocks.Interfaces.RealOutput skyCle ;
protected
constant Real k = 5.534e-6*(180/Modelica.Constants.pi)^3 ;
Real tmp1 ;
equation
tmp1 = k*zen^3;
skyCle =
smooth(1,
if (HGloHor < Modelica.Constants.small)
then
1
else
Buildings.Utilities.Math.Functions.smoothLimit(
x= (HGloHor/
Buildings.Utilities.Math.Functions.smoothMax(
x1= HDifHor,
x2= 1e-4,
deltaX= 1e-5) + tmp1)/(1 + tmp1),
l= 1,
u= 8,
deltaX= 0.1));
end SkyClearness;
http://simulationresearch.lbl.gov/modelica