Buildings.Controls.OBC.CDL.Psychrometrics

Package with psychrometric blocks

Information

This package contains blocks for psychrometric calculations.

Package Content

Name Description
Buildings.Controls.OBC.CDL.Psychrometrics.DewPoint_TDryBulPhi DewPoint_TDryBulPhi Block to compute the dew point temperature based on relative humidity
Buildings.Controls.OBC.CDL.Psychrometrics.SpecificEnthalpy_TDryBulPhi SpecificEnthalpy_TDryBulPhi Block to compute the specific enthalpy based on relative humidity
Buildings.Controls.OBC.CDL.Psychrometrics.WetBulb_TDryBulPhi WetBulb_TDryBulPhi Block to compute the wet bulb temperature based on relative humidity
Buildings.Controls.OBC.CDL.Psychrometrics.Validation Validation Collection of models that validate the psychrometrics blocks of the CDL

Buildings.Controls.OBC.CDL.Psychrometrics.DewPoint_TDryBulPhi Buildings.Controls.OBC.CDL.Psychrometrics.DewPoint_TDryBulPhi

Block to compute the dew point temperature based on relative humidity

Buildings.Controls.OBC.CDL.Psychrometrics.DewPoint_TDryBulPhi

Information

Dew point temperature calculation for moist air above freezing temperature.

The correlation used in this model is valid for dew point temperatures between 0°C and 93°C. It is the correlation from 2009 ASHRAE Handbook Fundamentals, p. 1.9, equation 39.

Connectors

TypeNameDescription
input RealInputTDryBulDry bulb temperature [K]
input RealInputphiRelative air humidity [1]
output RealOutputTDewPoiDew point temperature [K]

Modelica definition

block DewPoint_TDryBulPhi "Block to compute the dew point temperature based on relative humidity" Interfaces.RealInput TDryBul( final quantity="ThermodynamicTemperature", final unit="K", final min=100) "Dry bulb temperature"; Interfaces.RealInput phi( final min=0, final max=1, unit="1") "Relative air humidity"; Interfaces.RealOutput TDewPoi( final quantity="ThermodynamicTemperature", final unit="K", final min=100) "Dew point temperature"; protected Real p_w( final quantity="Pressure", final unit="Pa", displayUnit="Pa") "Water vapor pressure"; constant Real C14=6.54 "Constant used in the equation"; constant Real C15=14.526 "Constant used in the equation"; constant Real C16=0.7389 "Constant used in the equation"; constant Real C17=0.09486 "Constant used in the equation"; constant Real C18=0.4569 "Constant used in the equation"; Real alpha "Variable used in the equation"; equation p_w=phi*Buildings.Utilities.Psychrometrics.Functions.saturationPressure(TDryBul); alpha=Modelica.Math.log( p_w/1000.0); TDewPoi=(C14+C15*alpha+C16*alpha^2+C17*alpha^3+C18*(p_w/1000.0)^0.1984)+273.15; end DewPoint_TDryBulPhi;

Buildings.Controls.OBC.CDL.Psychrometrics.SpecificEnthalpy_TDryBulPhi Buildings.Controls.OBC.CDL.Psychrometrics.SpecificEnthalpy_TDryBulPhi

Block to compute the specific enthalpy based on relative humidity

Buildings.Controls.OBC.CDL.Psychrometrics.SpecificEnthalpy_TDryBulPhi

Information

This block computes the specific enthalpy for a given dry bulb temperature, relative air humidity and atmospheric pressure. The specific enthalpy is zero if the temperature is 0°C and if there is no moisture.

The correlation used in this model is from the 2009 ASHRAE Handbook Fundamentals, p. 1.9, equation 32.

Parameters

TypeNameDefaultDescription
RealpAtm101325Atmospheric pressure [Pa]

Connectors

TypeNameDescription
input RealInputTDryBulDry bulb temperature [K]
input RealInputphiRelative air humidity
output RealOutputhSpecific enthalpy [J/kg]

Modelica definition

block SpecificEnthalpy_TDryBulPhi "Block to compute the specific enthalpy based on relative humidity" parameter Real pAtm( final quantity="Pressure", final unit="Pa")=101325 "Atmospheric pressure"; Interfaces.RealInput TDryBul( final quantity="ThermodynamicTemperature", final unit="K", final min=100) "Dry bulb temperature"; Interfaces.RealInput phi( final min=0, final max=1) "Relative air humidity"; Interfaces.RealOutput h( final quantity="SpecificEnergy", final unit="J/kg") "Specific enthalpy"; protected Real TDryBul_degC( final unit="degC", displayUnit="degC") "Dry bulb temperature in degree Celsius"; Real p_w( final quantity="Pressure", final unit="Pa", displayUnit="Pa") "Water vapor pressure"; Real w( final unit="1", nominal=0.01) "Water vapor mass fraction in kg per kg dry air"; equation TDryBul_degC=TDryBul-273.15; p_w=phi*Buildings.Utilities.Psychrometrics.Functions.saturationPressure(TDryBul); w=0.6219647130774989*p_w/(pAtm-p_w); h=1006*TDryBul_degC+w*(2501014.5+1860*TDryBul_degC); end SpecificEnthalpy_TDryBulPhi;

Buildings.Controls.OBC.CDL.Psychrometrics.WetBulb_TDryBulPhi Buildings.Controls.OBC.CDL.Psychrometrics.WetBulb_TDryBulPhi

Block to compute the wet bulb temperature based on relative humidity

Buildings.Controls.OBC.CDL.Psychrometrics.WetBulb_TDryBulPhi

Information

This block computes the wet bulb temperature for a given dry bulb temperature, relative air humidity and atmospheric pressure.

The block uses the approximation of Stull (2011) to compute the wet bulb temperature without requiring a nonlinear equation. The approximation by Stull is valid for a relative humidity of 5% to 99%, a temperature range from -20°C to 50°C and standard sea level pressure. For this range of data, the approximation error is -1 Kelvin to +0.65 Kelvin, with a mean error of less than 0.3 Kelvin.

The model is validated in Buildings.Controls.OBC.CDL.Psychrometrics.Validation.WetBulb_TDryBulPhi.

References

Stull, Roland. Wet-Bulb Temperature from Relative Humidity and Air Temperature Roland Stull. Journal of Applied Meteorology and Climatology. Volume 50, Issue 11, pp. 2267-2269. November 2011 DOI: 10.1175/JAMC-D-11-0143.1

Connectors

TypeNameDescription
input RealInputTDryBulDry bulb temperature [K]
input RealInputphiRelative air humidity
output RealOutputTWetBulWet bulb temperature [K]

Modelica definition

block WetBulb_TDryBulPhi "Block to compute the wet bulb temperature based on relative humidity" Interfaces.RealInput TDryBul( final quantity="ThermodynamicTemperature", final unit="K", final min=100) "Dry bulb temperature"; Interfaces.RealInput phi( final min=0, final max=1) "Relative air humidity"; Interfaces.RealOutput TWetBul( final quantity="ThermodynamicTemperature", final unit="K", final min=100) "Wet bulb temperature"; protected constant Real uniCon(final unit="1/rad") = 1 "Unit conversion to satisfy unit check"; Real TDryBul_degC( final unit="degC", displayUnit="degC") "Dry bulb temperature in degree Celsius"; Real rh_per( min=0) "Relative humidity in percentage"; equation TDryBul_degC=TDryBul-273.15; rh_per=100*phi; TWetBul=273.15 + TDryBul_degC * uniCon * Modelica.Math.atan(0.151977*sqrt(rh_per+8.313659)) + uniCon * ( Modelica.Math.atan(TDryBul_degC+rh_per) - Modelica.Math.atan(rh_per-1.676331) + 0.00391838*rh_per^(1.5)*Modelica.Math.atan(0.023101*rh_per)) -4.686035; end WetBulb_TDryBulPhi;