packageMoistAir

Air: Moist air model (190 ... 647 K)

Extends from Interfaces.PartialCondensingGases (Base class for mixtures of condensing and non-condensing gases).

Information

Thermodynamic Model

This package provides a full thermodynamic model of moist air including the fog region and temperatures below zero degC. The governing assumptions in this model are:

  • the perfect gas law applies
  • water volume other than that of steam is neglected

All extensive properties are expressed in terms of the total mass in order to comply with other media in this library. However, for moist air it is rather common to express the absolute humidity in terms of mass of dry air only, which has advantages when working with charts. In addition, care must be taken, when working with mass fractions with respect to total mass, that all properties refer to the same water content when being used in mathematical operations (which is always the case if based on dry air only). Therefore two absolute humidities are computed in the BaseProperties model: X denotes the absolute humidity in terms of the total mass while x denotes the absolute humidity per unit mass of dry air. In addition, the relative humidity phi is also computed.

At the triple point temperature of water of 0.01 °C or 273.16 K and a relative humidity greater than 1 fog may be present as liquid and as ice resulting in a specific enthalpy somewhere between those of the two isotherms for solid and liquid fog, respectively. For numerical reasons a coexisting mixture of 50% solid and 50% liquid fog is assumed in the fog region at the triple point in this model.

Range of validity

From the assumptions mentioned above it follows that the pressure should be in the region around atmospheric conditions or below (a few bars may still be fine though). Additionally a very high water content at low temperatures would yield incorrect densities, because the volume of the liquid or solid phase would not be negligible anymore. The model does not provide information on limits for water drop size in the fog region or transport information for the actual condensation or evaporation process in combination with surfaces. All excess water which is not in its vapour state is assumed to be still present in the air regarding its energy but not in terms of its spatial extent.

The thermodynamic model may be used for temperatures ranging from 190 ... 647 K. This holds for all functions unless otherwise stated in their description. However, although the model works at temperatures above the saturation temperature it is questionable to use the term "relative humidity" in this region. Please note, that although several functions compute pure water properties, they are designed to be used within the moist air medium model where properties are dominated by air and steam in their vapor states, and not for pure liquid water applications.

Transport Properties

Several additional functions that are not needed to describe the thermodynamic system, but are required to model transport processes, like heat and mass transfer, may be called. They usually neglect the moisture influence unless otherwise stated.

Application

The model's main area of application is all processes that involve moist air cooling under near atmospheric pressure with possible moisture condensation. This is the case in all domestic and industrial air conditioning applications. Another large domain of moist air applications covers all processes that deal with dehydration of bulk material using air as a transport medium. Engineering tasks involving moist air are often performed (or at least visualized) by using charts that contain all relevant thermodynamic data for a moist air system. These so called psychrometric charts can be generated from the medium properties in this package. The model PsychrometricData may be used for this purpose in order to obtain data for figures like those below (the plotting itself is not part of the model though).


Legend: blue - constant specific enthalpy, red - constant temperature, black - constant relative humidity

Parameters

TypeNameDefaultDescription
Modelica.Media.Interfaces.Choices.IndependentVariablesThermoStates (from PartialMedium)Enumeration type for independent variables
StringmediumName (from PartialMedium)"unusablePartialMedium"Name of the medium
String[:]substanceNames (from PartialMedium){mediumName}Names of the mixture substances. Set substanceNames={mediumName} if only one substance.
String[:]extraPropertiesNames (from PartialMedium)fill("", 0)Names of the additional (extra) transported properties. Set extraPropertiesNames=fill("",0) if unused
BooleansingleState (from PartialMedium)= true, if u and d are not a function of pressure
BooleanreducedX (from PartialMedium)true= true, if medium contains the equation sum(X) = 1.0; set reducedX=true, if only one substance (see docu for details)
BooleanfixedX (from PartialMedium)false= true, if medium contains the equation X = reference_X
AbsolutePressurereference_p (from PartialMedium)101325Reference pressure of Medium: default 1 atmosphere
Temperaturereference_T (from PartialMedium)298.15Reference temperature of Medium: default 25 deg Celsius
MassFraction[nX]reference_X (from PartialMedium)fill(1/nX, nX)Default mass fractions of medium
AbsolutePressurep_default (from PartialMedium)101325Default value for pressure of medium (for initialization)
TemperatureT_default (from PartialMedium)Modelica.Units.Conversions.from_degC(20)Default value for temperature of medium (for initialization)
SpecificEnthalpyh_default (from PartialMedium)specificEnthalpy_pTX(p_default, T_default, X_default)Default value for specific enthalpy of medium (for initialization)
MassFraction[nX]X_default (from PartialMedium)reference_XDefault value for mass fractions of medium (for initialization)
ExtraProperty[nC]C_default (from PartialMedium)fill(0, nC)Default value for trace substances of medium (for initialization)
IntegernS (from PartialMedium)size(substanceNames, 1)Number of substances
IntegernX (from PartialMedium)nSNumber of mass fractions
IntegernXi (from PartialMedium)if fixedX then 0 else if reducedX then nS - 1 else nSNumber of structurally independent mass fractions (see docu for details)
IntegernC (from PartialMedium)size(extraPropertiesNames, 1)Number of extra (outside of standard mass-balance) transported properties
Real[nC]C_nominal (from PartialMedium)1.0e-6*ones(nC)Default for the nominal values for the extra properties
FluidConstantsfluidConstants (from PartialMixtureMedium)Constant data for the fluid
IntegerWater1Index of water (in substanceNames, massFractions X, etc.)
IntegerAir2Index of air (in substanceNames, massFractions X, etc.)
Realk_mairsteam.MM/dryair.MMRatio of molar weights
IdealGases.Common.DataRecorddryairIdealGases.Common.SingleGasesData.Air
IdealGases.Common.DataRecordsteamIdealGases.Common.SingleGasesData.H2O
SI.MolarMassMMX{steam.MM, dryair.MM}Molar masses of components

Contents

NameDescription
ThermodynamicStateThermodynamicState record for moist air
BasePropertiesMoist air base properties record
setState_pTXReturn thermodynamic state as function of pressure p, temperature T and composition X
setState_phXReturn thermodynamic state as function of pressure p, specific enthalpy h and composition X
setState_dTXReturn thermodynamic state as function of density d, temperature T and composition X
setSmoothStateReturn thermodynamic state so that it smoothly approximates: if x > 0 then state_a else state_b
XsaturationReturn absolute humidity per unit mass of moist air at saturation as a function of the thermodynamic state record
xsaturationReturn absolute humidity per unit mass of dry air at saturation as a function of the thermodynamic state record
xsaturation_pTReturn absolute humidity per unit mass of dry air at saturation as a function of pressure p and temperature T
massFraction_pTphiReturn steam mass fraction as a function of relative humidity phi and temperature T
relativeHumidity_pTXReturn relative humidity as a function of pressure p, temperature T and composition X
relativeHumidityReturn relative humidity as a function of the thermodynamic state record
gasConstantReturn ideal gas constant as a function from thermodynamic state, only valid for phi<1
gasConstant_XReturn ideal gas constant as a function from composition X
saturationPressureLiquidReturn saturation pressure of water as a function of temperature T in the range of 273.16 to 647.096 K
saturationPressureLiquid_derDerivative function for 'saturationPressureLiquid'
sublimationPressureIceReturn sublimation pressure of water as a function of temperature T between 190 and 273.16 K
sublimationPressureIce_derDerivative function for 'sublimationPressureIce'
saturationPressureReturn saturation pressure of water as a function of temperature T between 190 and 647.096 K
saturationPressure_derDerivative function for 'saturationPressure'
saturationTemperatureReturn saturation temperature of water as a function of (partial) pressure p
enthalpyOfVaporizationReturn enthalpy of vaporization of water as a function of temperature T, 273.16 to 647.096 K
HeatCapacityOfWaterReturn specific heat capacity of water (liquid only) as a function of temperature T
enthalpyOfLiquidReturn enthalpy of liquid water as a function of temperature T(use enthalpyOfWater instead)
enthalpyOfGasReturn specific enthalpy of gas (air and steam) as a function of temperature T and composition X
enthalpyOfCondensingGasReturn specific enthalpy of steam as a function of temperature T
enthalpyOfNonCondensingGasReturn specific enthalpy of dry air as a function of temperature T
enthalpyOfWaterComputes specific enthalpy of water (solid/liquid) near atmospheric pressure from temperature T
enthalpyOfWater_derDerivative function of enthalpyOfWater
pressureReturns pressure of ideal gas as a function of the thermodynamic state record
temperatureReturn temperature of ideal gas as a function of the thermodynamic state record
T_phXReturn temperature as a function of pressure p, specific enthalpy h and composition X
densityReturns density of ideal gas as a function of the thermodynamic state record
specificEnthalpyReturn specific enthalpy of moist air as a function of the thermodynamic state record
h_pTXReturn specific enthalpy of moist air as a function of pressure p, temperature T and composition X
h_pTX_derDerivative function of h_pTX
isentropicExponentReturn isentropic exponent (only for gas fraction!)
isentropicEnthalpyApproximationApproximate calculation of h_is from upstream properties, downstream pressure, gas part only
specificInternalEnergyReturn specific internal energy of moist air as a function of the thermodynamic state record
specificInternalEnergy_pTXReturn specific internal energy of moist air as a function of pressure p, temperature T and composition X
specificInternalEnergy_pTX_derDerivative function for specificInternalEnergy_pTX
specificEntropyReturn specific entropy from thermodynamic state record, only valid for phi<1
specificGibbsEnergyReturn specific Gibbs energy as a function of the thermodynamic state record, only valid for phi<1
specificHelmholtzEnergyReturn specific Helmholtz energy as a function of the thermodynamic state record, only valid for phi<1
specificHeatCapacityCpReturn specific heat capacity at constant pressure as a function of the thermodynamic state record
specificHeatCapacityCvReturn specific heat capacity at constant volume as a function of the thermodynamic state record
dynamicViscosityReturn dynamic viscosity as a function of the thermodynamic state record, valid from 123.15 K to 1273.15 K
thermalConductivityReturn thermal conductivity as a function of the thermodynamic state record, valid from 123.15 K to 1273.15 K
velocityOfSound
isobaricExpansionCoefficient
isothermalCompressibility
density_derp_h
density_derh_p
density_derp_T
density_derT_p
density_derX
molarMass
T_psXReturn temperature as a function of pressure p, specific entropy s and composition X
setState_psX
s_pTXReturn specific entropy of moist air as a function of pressure p, temperature T and composition X (only valid for phi<1)
s_pTX_derReturn specific entropy of moist air as a function of pressure p, temperature T and composition X (only valid for phi<1)
isentropicEnthalpyIsentropic enthalpy (only valid for phi<1)
UtilitiesUtility functions