Modelica.Media.Water

Medium models for water

Information


This package contains different medium models for water:

Overview of WaterIF97 derived water models

The WaterIF97 models calculate medium properties for water in the liquid, gas and two phase regions according to the IAPWS/IF97 standard, i.e., the accepted industrial standard and best compromise between accuracy and computation time. It has been part of the ThermoFluid Modelica library and been extended, reorganized and documented to become part of the Modelica Standard library.

An important feature that distinguishes this implementation of the IF97 steam property standard is that this implementation has been explicitly designed to work well in dynamic simulations. Computational performance has been of high importance. This means that there often exist several ways to get the same result from different functions if one of the functions is called often but can be optimized for that purpose.

Three variable pairs can be the independent variables of the model:

  1. Pressure p and specific enthalpy h are the most natural choice for general applications. This is the recommended choice for most general purpose applications, in particular for power plants.
  2. Pressure p and temperature T are the most natural choice for applications where water is always in the same phase, both for liquid water and steam.
  3. Density d and temperature T are explicit variables of the Helmholtz function in the near-critical region and can be the best choice for applications with super-critical or near-critial states.

The following quantities are always computed in Medium.Baseproperties:

Variable Unit Description
T K temperature
u J/kg specific internal energy
d kg/m^3 density
p Pa pressure
h J/kg specific enthalpy

In some cases additional medium properties are needed. A component that needs these optional properties has to call one of the following functions:

Function call Unit Description
Medium.dynamicViscosity(medium.state) Pa.s dynamic viscosity
Medium.thermalConductivity(medium.state) W/(m.K) thermal conductivity
Medium.prandtlNumber(medium.state) 1 Prandtl number
Medium.specificEntropy(medium.state) J/(kg.K) specific entropy
Medium.heatCapacity_cp(medium.state) J/(kg.K) specific heat capacity at constant pressure
Medium.heatCapacity_cv(medium.state) J/(kg.K) specific heat capacity at constant density
Medium.isentropicExponent(medium.state) 1 isentropic exponent
Medium.isentropicEnthalpy(pressure, medium.state) J/kg isentropic enthalpy
Medium.velocityOfSound(medium.state) m/s velocity of sound
Medium.isobaricExpansionCoefficient(medium.state) 1/K isobaric expansion coefficient
Medium.isothermalCompressibility(medium.state) 1/Pa isothermal compressibility
Medium.density_derp_h(medium.state) kg/(m3.Pa) derivative of density by pressure at constant enthalpy
Medium.density_derh_p(medium.state) kg2/(m3.J) derivative of density by enthalpy at constant pressure
Medium.density_derp_T(medium.state) kg/(m3.Pa) derivative of density by pressure at constant temperature
Medium.density_derT_p(medium.state) kg/(m3.K) derivative of density by temperature at constant pressure
Medium.density_derX(medium.state) kg/m3 derivative of density by mass fraction
Medium.molarMass(medium.state) kg/mol molar mass

More details are given in Modelica.Media.UsersGuide.MediumUsage.OptionalProperties. Many additional optional functions are defined to compute properties of saturated media, either liquid (bubble point) or vapour (dew point). The argument to such functions is a SaturationProperties record, which can be set starting from either the saturation pressure or the saturation temperature. With reference to a model defining a pressure p, a temperature T, and a SaturationProperties record sat, the following functions are provided:

Function call Unit Description
Medium.saturationPressure(T) Pa Saturation pressure at temperature T
Medium.saturationTemperature(p) K Saturation temperature at pressure p
Medium.saturationTemperature_derp(p) K/Pa Derivative of saturation temperature with respect to pressure
Medium.bubbleEnthalpy(sat) J/kg Specific enthalpy at bubble point
Medium.dewEnthalpy(sat) J/kg Specific enthalpy at dew point
Medium.bubbleEntropy(sat) J/(kg.K) Specific entropy at bubble point
Medium.dewEntropy(sat) J/(kg.K) Specific entropy at dew point
Medium.bubbleDensity(sat) kg/m3 Density at bubble point
Medium.dewDensity(sat) kg/m3 Density at dew point
Medium.dBubbleDensity_dPressure(sat) kg/(m3.Pa) Derivative of density at bubble point with respect to pressure
Medium.dDewDensity_dPressure(sat) kg/(m3.Pa) Derivative of density at dew point with respect to pressure
Medium.dBubbleEnthalpy_dPressure(sat) J/(kg.Pa) Derivative of specific enthalpy at bubble point with respect to pressure
Medium.dDewEnthalpy_dPressure(sat) J/(kg.Pa) Derivative of specific enthalpy at dew point with respect to pressure
Medium.surfaceTension(sat) N/m Surface tension between liquid and vapour phase

Details on usage and some examples are given in: Modelica.Media.UsersGuide.MediumUsage.TwoPhase.

Many further properties can be computed. Using the well-known Bridgman's Tables, all first partial derivatives of the standard thermodynamic variables can be computed easily.

The documentation of the IAPWS/IF97 steam properties can be freely distributed with computer implementations and are included here (in directory Modelica\help\Documentation\IF97documentation):

Extends from Modelica.Icons.Library (Icon for library).

Package Content

NameDescription
waterConstants 
simpleWaterConstants 
Modelica.Media.Water.ConstantPropertyLiquidWater ConstantPropertyLiquidWater Water: Simple liquid water medium (incompressible, constant data)
Modelica.Media.Water.IdealSteam IdealSteam Water: Steam as ideal gas from NASA source
Modelica.Media.Water.WaterIF97OnePhase_ph WaterIF97OnePhase_ph Water using the IF97 standard, explicit in p and h, and only valid outside the two-phase dome
Modelica.Media.Water.WaterIF97_ph WaterIF97_ph Water using the IF97 standard, explicit in p and h
Modelica.Media.Water.WaterIF97_base WaterIF97_base Water: Steam properties as defined by IAPWS/IF97 standard
Modelica.Media.Water.WaterIF97_fixedregion WaterIF97_fixedregion Water: Steam properties as defined by IAPWS/IF97 standard
Modelica.Media.Water.WaterIF97_R1ph WaterIF97_R1ph region 1 (liquid) water according to IF97 standard
Modelica.Media.Water.WaterIF97_R2ph WaterIF97_R2ph region 2 (steam) water according to IF97 standard
Modelica.Media.Water.WaterIF97_R3ph WaterIF97_R3ph region 3 water according to IF97 standard
Modelica.Media.Water.WaterIF97_R4ph WaterIF97_R4ph region 4 water according to IF97 standard
Modelica.Media.Water.WaterIF97_R5ph WaterIF97_R5ph region 5 water according to IF97 standard
Modelica.Media.Water.WaterIF97_R1pT WaterIF97_R1pT region 1 (liquid) water according to IF97 standard
Modelica.Media.Water.WaterIF97_R2pT WaterIF97_R2pT region 2 (steam) water according to IF97 standard
Modelica.Media.Water.IF97_Utilities IF97_Utilities Low level and utility computation for high accuracy water properties according to the IAPWS/IF97 standard

Types and constants

  constant Interfaces.PartialTwoPhaseMedium.FluidConstants[1] waterConstants(
     each chemicalFormula = "H2O",
     each structureFormula="H2O",
     each casRegistryNumber="7732-18-5",
     each iupacName="oxidane",
     each molarMass=0.018015268,
     each criticalTemperature=647.096,
     each criticalPressure=22064.0e3,
     each criticalMolarVolume=1/322.0*0.018015268,
     each normalBoilingPoint=373.124,
     each meltingPoint=273.15,
     each triplePointTemperature=273.16,
     each triplePointPressure=611.657,
     each acentricFactor = 0.344,
     each dipoleMoment = 1.8,
     each hasCriticalData=true);

  constant Interfaces.PartialMedium.FluidConstants[1] simpleWaterConstants(
     each chemicalFormula = "H2O",
     each structureFormula="H2O",
     each casRegistryNumber="7732-18-5",
     each iupacName="oxidane",
     each molarMass=0.018015268);

package StandardWater = WaterIF97_ph 
  "Water using the IF97 standard, explicit in p and h. Recommended for most applications";

package StandardWaterOnePhase = WaterIF97_pT 
  "Water using the IF97 standard, explicit in p and T. Recommended for one-phase applications";

package WaterIF97_pT 
  "Water using the IF97 standard, explicit in p and T"
  extends WaterIF97_base(
    ThermoStates = Choices.IndependentVariables.pT,
    final ph_explicit=false,
    final dT_explicit=false,
    final pT_explicit=true,
    final smoothModel=true,
    final onePhase=true);
end WaterIF97_pT;


HTML-documentation generated by Dymola Sun Jan 17 21:12:29 2010.