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
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;
