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.TDewPoi_TDryBulPhi TDewPoi_TDryBulPhi Block to compute the dew point temperature based on relative humidity
Buildings.Controls.OBC.CDL.Psychrometrics.TWetBul_TDryBulPhi TWetBul_TDryBulPhi Block to compute the wet bulb temperature based on relative humidity
Buildings.Controls.OBC.CDL.Psychrometrics.h_TDryBulPhi h_TDryBulPhi Block to compute the specific enthalpy 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.TDewPoi_TDryBulPhi Buildings.Controls.OBC.CDL.Psychrometrics.TDewPoi_TDryBulPhi

Block to compute the dew point temperature based on relative humidity

Buildings.Controls.OBC.CDL.Psychrometrics.TDewPoi_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 2005 ASHRAE Handbook Fundamentals, p. 6.9.

Connectors

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

Modelica definition

block TDewPoi_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.RealInput p(final quantity="Pressure", final unit="Pa", final min = 0) "Pressure"; Interfaces.RealOutput TDewPoi( final quantity="ThermodynamicTemperature", final unit="K", final min=100) "Dew point temperature"; protected Modelica.SIunits.Pressure p_w(displayUnit="Pa") "Water vapor pressure"; constant Real C14=6.54; constant Real C15=14.526; constant Real C16=0.7389; constant Real C17=0.09486; constant Real C18=0.4569; Real alpha; 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 TDewPoi_TDryBulPhi;

Buildings.Controls.OBC.CDL.Psychrometrics.TWetBul_TDryBulPhi Buildings.Controls.OBC.CDL.Psychrometrics.TWetBul_TDryBulPhi

Block to compute the wet bulb temperature based on relative humidity

Buildings.Controls.OBC.CDL.Psychrometrics.TWetBul_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.TWetBul_TDryBulPhi.

For a model that takes the mass fraction instead of the relative humidity as an input, see Buildings.Utilities.Psychrometrics.TWetBul_TDryBulXi.

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
input RealInputpPressure [Pa]
output RealOutputTWetBulWet bulb temperature [K]

Modelica definition

block TWetBul_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.RealInput p( final quantity="Pressure", final unit="Pa", final min = 0) "Pressure"; Interfaces.RealOutput TWetBul( final quantity="ThermodynamicTemperature", final unit="K", final min=100) "Wet bulb temperature"; protected Modelica.SIunits.Conversions.NonSIunits.Temperature_degC TDryBul_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 * Modelica.Math.atan(0.151977 * sqrt(rh_per + 8.313659)) + 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 TWetBul_TDryBulPhi;

Buildings.Controls.OBC.CDL.Psychrometrics.h_TDryBulPhi Buildings.Controls.OBC.CDL.Psychrometrics.h_TDryBulPhi

Block to compute the specific enthalpy based on relative humidity

Buildings.Controls.OBC.CDL.Psychrometrics.h_TDryBulPhi

Information

The correlation used in this model is from 2005 ASHRAE Handbook Fundamentals, p. 6.9.

Connectors

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

Modelica definition

block h_TDryBulPhi "Block to compute the specific enthalpy 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.RealInput p( final quantity="Pressure", final unit="Pa", final min = 0) "Pressure"; Interfaces.RealOutput h( final quantity="SpecificEnergy", final unit="J/kg") "Specific enthalpy"; protected Modelica.SIunits.Conversions.NonSIunits.Temperature_degC TDryBul_degC "Dry bulb temperature in degree Celsius"; Modelica.SIunits.Pressure p_w(displayUnit="Pa") "Water vapor pressure"; Modelica.SIunits.MassFraction XiDryBul(nominal=0.01) "Water vapor mass fraction at dry bulb state"; // Modelica.SIunits.Temperature T_ref = 273.15 // "Reference temperature for psychrometric calculations" // constant Modelica.SIunits.SpecificHeatCapacity cpAir=1006 // "Specific heat capacity of air"; // constant Modelica.SIunits.SpecificHeatCapacity cpSte=1860 // "Specific heat capacity of water vapor"; // constant Modelica.SIunits.SpecificHeatCapacity cpWatLiq = 4184 // "Specific heat capacity of liquid water"; // constant Modelica.SIunits.SpecificEnthalpy h_fg = 2501014.5 // "Enthalpy of evaporation of water at the reference temperature"; // constant Real k_mair = 0.6219647130774989 "Ratio of molar weights"; equation TDryBul_degC = TDryBul - 273.15; p_w = phi * Buildings.Utilities.Psychrometrics.Functions.saturationPressure(TDryBul); XiDryBul = 0.6219647130774989*p_w/(p-p_w); h = 1006*TDryBul_degC + XiDryBul*(2501014.5+1860*TDryBul_degC); end h_TDryBulPhi;