Buildings.Utilities.Psychrometrics

Library with psychrometric functions

Package Content

NameDescription
Buildings.Utilities.Psychrometrics.DewPointTemperature_pWat DewPointTemperature_pWat Model to compute the dew point temperature of moist air
Buildings.Utilities.Psychrometrics.HumidityRatio_pWat HumidityRatio_pWat Humidity ratio for given water vapor pressure
Buildings.Utilities.Psychrometrics.MassFraction_pTphi MassFraction_pTphi Return steam mass fraction as a function of relative humidity phi and temperature T
Buildings.Utilities.Psychrometrics.ToDryAir ToDryAir Block to convert absolute humidity from [kg/kg total air] to [kg/kg dry air]
Buildings.Utilities.Psychrometrics.ToTotalAir ToTotalAir Block to convert absolute humidity from [kg/kg dry air] to [kg/kg total air]
Buildings.Utilities.Psychrometrics.VaporPressure_TDP VaporPressure_TDP Model to compute the water vapor pressure for a given dew point temperature of moist air
Buildings.Utilities.Psychrometrics.VaporPressure_X VaporPressure_X Water vapor pressure for given humidity ratio
Buildings.Utilities.Psychrometrics.WetBulbTemperature WetBulbTemperature Model to compute the wet bulb temperature
Buildings.Utilities.Psychrometrics.Examples Examples Collection of models that illustrate model use and test models
Buildings.Utilities.Psychrometrics.BaseClasses BaseClasses Library with base classes for psychrometric classes


Buildings.Utilities.Psychrometrics.DewPointTemperature_pWat Buildings.Utilities.Psychrometrics.DewPointTemperature_pWat

Model to compute the dew point temperature of moist air

Buildings.Utilities.Psychrometrics.DewPointTemperature_pWat

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 degC and 200 degC. It is the correlation from 2005 ASHRAE Handbook, p. 6.2. In an earlier version of this model, the equation from Peppers has been used, but this equation yielded about 15 Kelvin lower dew point temperatures.

Extends from Modelica.Blocks.Interfaces.BlockIcon (Basic graphical layout of input/output block).

Connectors

TypeNameDescription
output RealOutputp_wWater vapor partial pressure
input RealInputTDew point temperature [K]

Modelica definition

block DewPointTemperature_pWat 
  "Model to compute the dew point temperature of moist air"
  extends Modelica.Blocks.Interfaces.BlockIcon;
  Modelica.Blocks.Interfaces.RealOutput p_w "Water vapor partial pressure";
  Modelica.Blocks.Interfaces.RealInput T(final quantity="ThermodynamicTemperature",
                                         final unit="K",
                                         min = 0,
                                         displayUnit="degC") 
    "Dew point temperature";

equation 
 p_w = Buildings.Utilities.Psychrometrics.BaseClasses.dewPointTemperature(T=T);
end DewPointTemperature_pWat;

Buildings.Utilities.Psychrometrics.HumidityRatio_pWat Buildings.Utilities.Psychrometrics.HumidityRatio_pWat

Humidity ratio for given water vapor pressure

Buildings.Utilities.Psychrometrics.HumidityRatio_pWat

Information


Block to compute the humidity ratio for a given water vapor partial pressure. of moist air.

If use_p_in is false (default option), the p parameter is used as atmospheric pressure, and the p_in input connector is disabled; if use_p_in is true, then the p parameter is ignored, and the value provided by the input connector is used instead.

Extends from Buildings.Utilities.Psychrometrics.BaseClasses.HumidityRatioVaporPressure (Humidity ratio for given water vapor pressure).

Parameters

TypeNameDefaultDescription
Booleanuse_p_intrueGet the pressure from the input connector
Pressurep101325Fixed value of pressure [Pa]

Connectors

TypeNameDescription
input RealInputp_inAtmospheric Pressure [Pa]
output RealOutputXWatSpecies concentration at dry bulb temperature
input RealInputp_wWater vapor pressure [Pa]

Modelica definition

block HumidityRatio_pWat 
  "Humidity ratio for given water vapor pressure"
  extends Buildings.Utilities.Psychrometrics.BaseClasses.HumidityRatioVaporPressure;
  Modelica.Blocks.Interfaces.RealOutput XWat(min=0, max=1, nominal=0.01) 
    "Species concentration at dry bulb temperature";
  Modelica.Blocks.Interfaces.RealInput p_w(final quantity="Pressure",
                                           final unit="Pa",
                                           displayUnit="Pa",
                                           min = 0) "Water vapor pressure";
  output Modelica.SIunits.MassFraction X_dryAir(min=0, max=1, nominal=0.01, start=0.001) 
    "Water mass fraction per mass of dry air";
equation 
  X_dryAir * (1-XWat) = XWat;
 ( p_in_internal - p_w)   * X_dryAir = 0.62198 * p_w;
end HumidityRatio_pWat;

Buildings.Utilities.Psychrometrics.MassFraction_pTphi Buildings.Utilities.Psychrometrics.MassFraction_pTphi

Return steam mass fraction as a function of relative humidity phi and temperature T

Buildings.Utilities.Psychrometrics.MassFraction_pTphi

Information


Block to compute the water vapor concentration based on pressure, temperature and relative humidity.

If use_p_in is false (default option), the p parameter is used as atmospheric pressure, and the p_in input connector is disabled; if use_p_in is true, then the p parameter is ignored, and the value provided by the input connector is used instead.

Extends from Buildings.Utilities.Psychrometrics.BaseClasses.HumidityRatioVaporPressure (Humidity ratio for given water vapor pressure).

Parameters

TypeNameDefaultDescription
Booleanuse_p_intrueGet the pressure from the input connector
Pressurep101325Fixed value of pressure [Pa]
replaceable package MediumModelica.Media.Interfaces.Pa...Medium model

Connectors

TypeNameDescription
input RealInputp_inAtmospheric Pressure [Pa]
replaceable package MediumMedium model
input RealInputTTemperature [K]
input RealInputphiRelative humidity (0...1)
output RealOutputX[Medium.nX]Steam mass fraction

Modelica definition

block MassFraction_pTphi 
  "Return steam mass fraction as a function of relative humidity phi and temperature T"
  extends Buildings.Utilities.Psychrometrics.BaseClasses.HumidityRatioVaporPressure;
 replaceable package Medium = Modelica.Media.Interfaces.PartialCondensingGases 
    "Medium model";

public 
  Modelica.Blocks.Interfaces.RealInput T(final unit="K",
                                           displayUnit="degC",
                                           min = 0) "Temperature";
  Modelica.Blocks.Interfaces.RealInput phi(min = 0, max=1) 
    "Relative humidity (0...1)";
  Modelica.Blocks.Interfaces.RealOutput X[Medium.nX](min = 0, max=1) 
    "Steam mass fraction";
protected 
  constant Real k = 0.621964713077499 "Ratio of molar masses";
  Modelica.SIunits.AbsolutePressure psat "Saturation pressure";
 parameter Integer iWat(min=1, fixed=false) "Index for water substance";

initial algorithm 
  iWat :=1;
    for i in 1:Medium.nXi loop
      if Modelica.Utilities.Strings.isEqual(Medium.substanceNames[i], "Water") then
        iWat :=i;
      end if;
    end for;

algorithm 
  psat := Medium.saturationPressure(T);
  X[iWat] := phi*k/(k*phi+p_in_internal/psat-phi);
  //sum(X[:]) = 1; // The formulation with a sum in an equation section leads to a nonlinear equation system
  X[if iWat == 1 then 2 else 1] := 1 - X[iWat];
end MassFraction_pTphi;

Buildings.Utilities.Psychrometrics.ToDryAir Buildings.Utilities.Psychrometrics.ToDryAir

Block to convert absolute humidity from [kg/kg total air] to [kg/kg dry air]

Buildings.Utilities.Psychrometrics.ToDryAir

Information


Block that converts humidity concentration from [kg/kg total air] to [kg/kg dry air].

Extends from Modelica.Blocks.Interfaces.BlockIcon (Basic graphical layout of input/output block).

Connectors

TypeNameDescription
output RealOutputXiDryWater vapor concentration in [kg/kg dry air]
input RealInputXiTotalAirWater vapor concentration in [kg/kg total air]

Modelica definition

block ToDryAir 
  "Block to convert absolute humidity from [kg/kg total air] to [kg/kg dry air]"
  extends Modelica.Blocks.Interfaces.BlockIcon;
  Modelica.Blocks.Interfaces.RealOutput XiDry 
    "Water vapor concentration in [kg/kg dry air]";
  Modelica.Blocks.Interfaces.RealInput XiTotalAir 
    "Water vapor concentration in [kg/kg total air]";

equation 
  XiDry = XiTotalAir / (1-XiTotalAir);
end ToDryAir;

Buildings.Utilities.Psychrometrics.ToTotalAir Buildings.Utilities.Psychrometrics.ToTotalAir

Block to convert absolute humidity from [kg/kg dry air] to [kg/kg total air]

Buildings.Utilities.Psychrometrics.ToTotalAir

Information


Block that converts humidity concentration from [kg/kg dry air] to [kg/kg total air].

This block may be used, for example, to convert absolute humidity that is received from EnergyPlus to [kg/kg total air], which is the convention used by Modelica.Media.

Extends from Modelica.Blocks.Interfaces.BlockIcon (Basic graphical layout of input/output block).

Connectors

TypeNameDescription
output RealOutputXiTotalAirWater vapor concentration in [kg/kg total air]
input RealInputXiDryWater vapor concentration in [kg/kg dry air]
output RealOutputXNonVaporMass fraction of remaining substances

Modelica definition

block ToTotalAir 
  "Block to convert absolute humidity from [kg/kg dry air] to [kg/kg total air]"
  extends Modelica.Blocks.Interfaces.BlockIcon;
  Modelica.Blocks.Interfaces.RealOutput XiTotalAir 
    "Water vapor concentration in [kg/kg total air]";
  Modelica.Blocks.Interfaces.RealInput XiDry 
    "Water vapor concentration in [kg/kg dry air]";

  Modelica.Blocks.Interfaces.RealOutput XNonVapor 
    "Mass fraction of remaining substances";
equation 
  XiTotalAir = XiDry / (1+XiDry);
  XNonVapor = 1 - XiTotalAir;
end ToTotalAir;

Buildings.Utilities.Psychrometrics.VaporPressure_TDP Buildings.Utilities.Psychrometrics.VaporPressure_TDP

Model to compute the water vapor pressure for a given dew point temperature of moist air

Buildings.Utilities.Psychrometrics.VaporPressure_TDP

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 degC and 200 degC. It is the correlation from 2005 ASHRAE Handbook, p. 6.2. In an earlier version of this model, the equation from Peppers has been used, but this equation yielded about 15 Kelvin lower dew point temperatures.

Extends from Modelica.Blocks.Interfaces.BlockIcon (Basic graphical layout of input/output block).

Connectors

TypeNameDescription
input RealInputp_wWater vapor partial pressure
output RealOutputTDew point temperature [K]

Modelica definition

block VaporPressure_TDP 
  "Model to compute the water vapor pressure for a given dew point temperature of moist air"
  extends Modelica.Blocks.Interfaces.BlockIcon;
  Modelica.Blocks.Interfaces.RealInput p_w "Water vapor partial pressure";
  Modelica.Blocks.Interfaces.RealOutput T(start=278.15,
                                         final quantity="ThermodynamicTemperature",
                                         final unit="K",
                                         min = 0,
                                         displayUnit="degC") 
    "Dew point temperature";

equation 
 p_w = Buildings.Utilities.Psychrometrics.BaseClasses.dewPointTemperature(T=T);
end VaporPressure_TDP;

Buildings.Utilities.Psychrometrics.VaporPressure_X Buildings.Utilities.Psychrometrics.VaporPressure_X

Water vapor pressure for given humidity ratio

Buildings.Utilities.Psychrometrics.VaporPressure_X

Information


Block to compute the water vapor partial pressure for a given humidity ratio.

If use_p_in is false (default option), the p parameter is used as atmospheric pressure, and the p_in input connector is disabled; if use_p_in is true, then the p parameter is ignored, and the value provided by the input connector is used instead.

Extends from Buildings.Utilities.Psychrometrics.BaseClasses.HumidityRatioVaporPressure (Humidity ratio for given water vapor pressure).

Parameters

TypeNameDefaultDescription
Booleanuse_p_intrueGet the pressure from the input connector
Pressurep101325Fixed value of pressure [Pa]

Connectors

TypeNameDescription
input RealInputp_inAtmospheric Pressure [Pa]
input RealInputXWatSpecies concentration at dry bulb temperature
output RealOutputp_wWater vapor pressure [Pa]

Modelica definition

block VaporPressure_X "Water vapor pressure for given humidity ratio"
  extends Buildings.Utilities.Psychrometrics.BaseClasses.HumidityRatioVaporPressure;
  Modelica.Blocks.Interfaces.RealInput XWat(min=0, max=1, nominal=0.01) 
    "Species concentration at dry bulb temperature";
  Modelica.Blocks.Interfaces.RealOutput p_w(final quantity="Pressure",
                                           final unit="Pa",
                                           displayUnit="Pa",
                                           min = 0) "Water vapor pressure";

  output Modelica.SIunits.MassFraction X_dryAir(min=0, max=1, nominal=0.01, start=0.001) 
    "Water mass fraction per mass of dry air";

equation 
  X_dryAir * (1-XWat) = XWat;
 ( p_in_internal - p_w)   * X_dryAir = 0.62198 * p_w;
end VaporPressure_X;

Buildings.Utilities.Psychrometrics.WetBulbTemperature Buildings.Utilities.Psychrometrics.WetBulbTemperature

Model to compute the wet bulb temperature

Buildings.Utilities.Psychrometrics.WetBulbTemperature

Information


Given a moist are medium model, this component computes the states of the medium at its wet bulb temperature.

For a use of this model, see for example Buildings.Fluid.Sensors.WetBulbTemperature

Extends from Buildings.BaseClasses.BaseIcon (Base icon).

Connectors

TypeNameDescription
RealSignalTDryBulDry bulb temperature [K]
RealSignalpPressure [Pa]
RealSignalTWetBulWet bulb temperature [K]
RealSignalXi[Medium.nXi]Species concentration at dry bulb temperature
RealSignalphiRelative humidity (at dry-bulb state) in [0, 1]

Modelica definition

model WetBulbTemperature "Model to compute the wet bulb temperature"
  extends Buildings.BaseClasses.BaseIcon;
  replaceable package Medium = 
    Modelica.Media.Interfaces.PartialCondensingGases "Medium model";

  Medium.BaseProperties dryBul "Medium state at dry bulb temperature";
  Medium.BaseProperties wetBul(Xi(nominal=0.01*ones(Medium.nXi))) 
    "Medium state at wet bulb temperature";
  ObsoleteModelica3.Blocks.Interfaces.RealSignal TDryBul(
                                           start=303,
                                           final quantity="ThermodynamicTemperature",
                                           final unit="K",
                                           min = 0) "Dry bulb temperature";
  ObsoleteModelica3.Blocks.Interfaces.RealSignal p(
                                           final quantity="Pressure",
                                           final unit="Pa",
                                           min = 0) "Pressure";
  ObsoleteModelica3.Blocks.Interfaces.RealSignal TWetBul(
                                           start=293,
                                           final quantity="ThermodynamicTemperature",
                                           final unit="K",
                                           min = 0) "Wet bulb temperature";
  ObsoleteModelica3.Blocks.Interfaces.RealSignal Xi[
                                          Medium.nXi] 
    "Species concentration at dry bulb temperature";
  ObsoleteModelica3.Blocks.Interfaces.RealSignal phi 
    "Relative humidity (at dry-bulb state) in [0, 1]";
protected 
 parameter Integer iWat(min=1, fixed=false) "Index for water substance";
initial algorithm 
  iWat :=1;
    for i in 1:Medium.nXi loop
      if Modelica.Utilities.Strings.isEqual(Medium.substanceNames[i], "Water") then
        iWat :=i;
      end if;
    end for;

equation 
  dryBul.p = p;
  dryBul.T = TDryBul;
  dryBul.Xi = Xi;
  wetBul.phi = 1;
  wetBul.p = dryBul.p;
  wetBul.h = dryBul.h + (wetBul.X[iWat] - dryBul.X[iWat])
         * Medium.enthalpyOfLiquid(dryBul.T);
  TWetBul = wetBul.T;
  phi     = dryBul.phi;
end WetBulbTemperature;

HTML-documentation generated by Dymola Sat Feb 6 17:41:42 2010.