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 |
---|---|
BlackBody | Calculate black body sky temperature |
Examples | 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.SIunits.Temperature TDewPoiK "Dewpoint temperature";
Modelica.SIunits.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;