Buildings.BoundaryConditions.SkyTemperature
Package with models to compute the sky temperature
Information
This package contains models to compute the black body sky temperature.Extends from Modelica.Icons.VariantsPackage (Icon for package containing variants).
Package Content
| Name | Description |
|---|---|
| Calculate black body sky temperature | |
| Collection of models that illustrate model use and test models |
Buildings.BoundaryConditions.SkyTemperature.BlackBody
Calculate black body sky temperature
Information
This component computes the black-body sky temperature.
For calTSky = 0, the model uses horizontal infrared irradiation.
Otherwise, it uses dry buld temperature, dew point temperature and opaque sky cover.
Extends from Modelica.Blocks.Icons.Block (Basic graphical layout of input/output block).
Parameters
| Type | Name | Default | Description |
|---|---|---|---|
| SkyTemperatureCalculation | calTSky | Buildings.BoundaryConditions... | Computation of black-body sky temperature |
Connectors
| Type | Name | Description |
|---|---|---|
| input RealInput | TDryBul | Dry bulb temperature at ground level [K] |
| input RealInput | TDewPoi | Dew point temperature [K] |
| input RealInput | nOpa | Opaque sky cover [0, 1] [1] |
| output RealOutput | TBlaSky | Black-body sky temperature [K] |
| input RealInput | HHorIR | Horizontal infrared irradiation [W/m2] |
Modelica definition
block BlackBody "Calculate black body sky temperature"
extends Modelica.Blocks.Icons.Block;
parameter Buildings.BoundaryConditions.Types.SkyTemperatureCalculation calTSky=
Buildings.BoundaryConditions.Types.SkyTemperatureCalculation.TemperaturesAndSkyCover
"Computation of black-body sky temperature";
Modelica.Blocks.Interfaces.RealInput TDryBul(
final quantity="ThermodynamicTemperature",
final unit="K",
displayUnit="degC") "Dry bulb temperature at ground level";
Modelica.Blocks.Interfaces.RealInput TDewPoi(
final quantity="ThermodynamicTemperature",
final unit="K",
displayUnit="degC") "Dew point temperature";
Modelica.Blocks.Interfaces.RealInput nOpa( min=0, max=1, unit="1")
"Opaque sky cover [0, 1]";
Modelica.Blocks.Interfaces.RealOutput TBlaSky(
final quantity="ThermodynamicTemperature",
displayUnit="degC",
final unit="K") "Black-body sky temperature";
Modelica.Blocks.Interfaces.RealInput HHorIR(
unit="W/m2",
min=0,
nominal=100) "Horizontal infrared irradiation";
protected
Modelica.Units.SI.Temperature TDewPoiK "Dewpoint temperature";
Modelica.Units.SI.Emissivity epsSky "Black-body absorptivity of sky";
Real nOpa10(min=0, max=10) "Opaque sky cover in [0, 10]";
equation
if calTSky == Buildings.BoundaryConditions.Types.SkyTemperatureCalculation.TemperaturesAndSkyCover then
TDewPoiK = Buildings.Utilities.Math.Functions.smoothMin(TDryBul, TDewPoi, 0.1);
nOpa10 = 10*nOpa "Input nOpa is scaled to [0,1] instead of [0,10]";
epsSky = (0.787 + 0.764*Modelica.Math.log(-TDewPoiK/Modelica.Constants.T_zero))*(1 + 0.0224*nOpa10 -
0.0035*(nOpa10^2) + 0.00028*(nOpa10^3));
TBlaSky = TDryBul*(epsSky^0.25);
else
TDewPoiK = 273.15;
nOpa10 = 0.0;
epsSky = 0.0;
TBlaSky = (HHorIR/Modelica.Constants.sigma)^0.25;
end if;
end BlackBody;