Name | Description |
---|---|
BlackBody | Calculate black body sky temperature |
Examples | Collection of models that illustrate model use and test models |
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.Interfaces.BlockIcon (Basic graphical layout of input/output block).
Type | Name | Default | Description |
---|---|---|---|
SkyTemperatureCalculation | calTSky | SkyTemperatureCalculation.Te... | Computation of black-body sky temperature |
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 |
output RealOutput | TBlaSky | Black-body sky temperature [K] |
input RealInput | radHorIR | Horizontal infrared irradiation [W/m2] |
block BlackBody "Calculate black body sky temperature" extends Modelica.Blocks.Interfaces.BlockIcon; import Buildings.BoundaryConditions.Types.SkyTemperatureCalculation; parameter Buildings.BoundaryConditions.Types.SkyTemperatureCalculation calTSky= 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 "Opaque sky cover"; Modelica.Blocks.Interfaces.RealOutput TBlaSky( final quantity="ThermodynamicTemperature", displayUnit="degC", final unit="K") "Black-body sky temperature"; Modelica.Blocks.Interfaces.RealInput radHorIR( 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"; algorithm 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 := (radHorIR/Modelica.Constants.sigma)^0.25; end if;end BlackBody;