| Name | Description |
|---|---|
| Diffuse solar irradiation on a tilted surface with an isotropic sky model | |
| Hemispherical diffuse irradiation on a tilted surface using Perez's anisotropic sky model | |
| Direct solar irradiation on a tilted surface | |
| Collection of models that illustrate model use and test models | |
| Package with base classes for Buildings.BoundaryConditions.SolarIrradiation |
Buildings.BoundaryConditions.SolarIrradiation.DiffuseIsotropic
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.
Extends from Buildings.BoundaryConditions.SolarIrradiation.BaseClasses.PartialSolarIrradiation (Partial model that is used to compute the direct and diffuse solar irradiation).
| 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 |
| 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 |
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
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.
Extends from Buildings.BoundaryConditions.SolarIrradiation.BaseClasses.PartialSolarIrradiation (Partial model that is used to compute the direct and diffuse solar irradiation).
| 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 |
| 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 |
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.sol.zen, skyCle.zen);
connect(weaBus.sol.zen, relAirMas.zen);
connect(weaBus.sol.zen, 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.sol.zen, 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
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).
| Type | Name | Default | Description |
|---|---|---|---|
| Angle | til | Surface tilt [rad] | |
| Angle | lat | Latitude [rad] | |
| Angle | azi | Surface azimuth [rad] |
| Type | Name | Description |
|---|---|---|
| output RealOutput | H | Radiation per unit area [W/m2] |
| Bus | weaBus | Bus with weather data |
| output RealOutput | inc | Incidence angle [rad] |
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; equationconnect(incAng.y, HDirTil.incAng); connect(weaBus.HDirNor, HDirTil.HDirNor); connect(incAng.y, inc); connect(HDirTil.HDirTil, H); connect(weaBus, incAng.weaBus); end DirectTiltedSurface;