Buildings.Media.Water

Package with model for liquid water with constant density

Information

This medium package models liquid water.

The mass density is computed using a constant value of 995.586 kg/s. For a medium model in which the density is a function of temperature, use Buildings.Media.Specialized.Water.TemperatureDependentDensity which may have considerably higher computing time.

For the specific heat capacities at constant pressure and at constant volume, a constant value of 4184 J/(kg K), which corresponds to 20°C is used. The figure below shows the relative error of the specific heat capacity that is introduced by this simplification.

Relative variation of specific heat capacity with temperature

The enthalpy is computed using the convention that h=0 if T=0 °C.

Limitations

Density, specific heat capacity, thermal conductivity and viscosity are constant. Water is modeled as an incompressible liquid. There are no phase changes.

Extends from Modelica.Media.Water.ConstantPropertyLiquidWater (Water: Simple liquid water medium (incompressible, constant data)), Modelica.Icons.Package (Icon for standard packages).

Package Content

Name Description
Buildings.Media.Water.BaseProperties BaseProperties Base properties (p, d, T, h, u, R, MM and X and Xi) of a medium
Buildings.Media.Water.enthalpyOfLiquid enthalpyOfLiquid Return the specific enthalpy of liquid
Inherited
simpleWaterConstants  
cp_const=4184 Constant specific heat capacity at constant pressure
cv_const=cp_const Constant specific heat capacity at constant volume
d_const=995.586 Constant density
eta_const=1.e-3 Constant dynamic viscosity
lambda_const=0.598 Constant thermal conductivity
a_const=1484 Constant velocity of sound
T_min=Cv.from_degC(-1) Minimum temperature valid for medium model
T_max=Cv.from_degC(130) Maximum temperature valid for medium model
T0=273.15 Zero enthalpy temperature
MM_const=0.018015268 Molar mass
fluidConstants=simpleWaterConstants Fluid constants
Modelica.Media.Interfaces.PartialSimpleMedium.ThermodynamicState ThermodynamicState Thermodynamic state
Modelica.Media.Interfaces.PartialSimpleMedium.setState_pTX setState_pTX Return thermodynamic state from p, T, and X or Xi
Modelica.Media.Interfaces.PartialSimpleMedium.setState_phX setState_phX Return thermodynamic state from p, h, and X or Xi
Modelica.Media.Interfaces.PartialSimpleMedium.setState_psX setState_psX Return thermodynamic state from p, s, and X or Xi
Modelica.Media.Interfaces.PartialSimpleMedium.setState_dTX setState_dTX Return thermodynamic state from d, T, and X or Xi
Modelica.Media.Interfaces.PartialSimpleMedium.setSmoothState setSmoothState Return thermodynamic state so that it smoothly approximates: if x > 0 then state_a else state_b
Modelica.Media.Interfaces.PartialSimpleMedium.dynamicViscosity dynamicViscosity Return dynamic viscosity
Modelica.Media.Interfaces.PartialSimpleMedium.thermalConductivity thermalConductivity Return thermal conductivity
Modelica.Media.Interfaces.PartialSimpleMedium.pressure pressure Return pressure
Modelica.Media.Interfaces.PartialSimpleMedium.temperature temperature Return temperature
Modelica.Media.Interfaces.PartialSimpleMedium.density density Return density
Modelica.Media.Interfaces.PartialSimpleMedium.specificEnthalpy specificEnthalpy Return specific enthalpy
Modelica.Media.Interfaces.PartialSimpleMedium.specificHeatCapacityCp specificHeatCapacityCp Return specific heat capacity at constant pressure
Modelica.Media.Interfaces.PartialSimpleMedium.specificHeatCapacityCv specificHeatCapacityCv Return specific heat capacity at constant volume
Modelica.Media.Interfaces.PartialSimpleMedium.isentropicExponent isentropicExponent Return isentropic exponent
Modelica.Media.Interfaces.PartialSimpleMedium.velocityOfSound velocityOfSound Return velocity of sound
Modelica.Media.Interfaces.PartialSimpleMedium.specificEnthalpy_pTX specificEnthalpy_pTX Return specific enthalpy from p, T, and X or Xi
Modelica.Media.Interfaces.PartialSimpleMedium.temperature_phX temperature_phX Return temperature from p, h, and X or Xi
Modelica.Media.Interfaces.PartialSimpleMedium.density_phX density_phX Return density from p, h, and X or Xi
Modelica.Media.Interfaces.PartialSimpleMedium.specificInternalEnergy specificInternalEnergy Return specific internal energy
Modelica.Media.Interfaces.PartialSimpleMedium.specificEntropy specificEntropy Return specific entropy
Modelica.Media.Interfaces.PartialSimpleMedium.specificGibbsEnergy specificGibbsEnergy Return specific Gibbs energy
Modelica.Media.Interfaces.PartialSimpleMedium.specificHelmholtzEnergy specificHelmholtzEnergy Return specific Helmholtz energy
Modelica.Media.Interfaces.PartialSimpleMedium.isentropicEnthalpy isentropicEnthalpy Return isentropic enthalpy
Modelica.Media.Interfaces.PartialSimpleMedium.isobaricExpansionCoefficient isobaricExpansionCoefficient Returns overall the isobaric expansion coefficient beta
Modelica.Media.Interfaces.PartialSimpleMedium.isothermalCompressibility isothermalCompressibility Returns overall the isothermal compressibility factor
Modelica.Media.Interfaces.PartialSimpleMedium.density_derp_T density_derp_T Returns the partial derivative of density with respect to pressure at constant temperature
Modelica.Media.Interfaces.PartialSimpleMedium.density_derT_p density_derT_p Returns the partial derivative of density with respect to temperature at constant pressure
Modelica.Media.Interfaces.PartialSimpleMedium.density_derX density_derX Returns the partial derivative of density with respect to mass fractions at constant pressure and temperature
Modelica.Media.Interfaces.PartialSimpleMedium.molarMass molarMass Return the molar mass of the medium
Modelica.Media.Interfaces.PartialPureSubstance.setState_pT setState_pT Return thermodynamic state from p and T
Modelica.Media.Interfaces.PartialPureSubstance.setState_ph setState_ph Return thermodynamic state from p and h
Modelica.Media.Interfaces.PartialPureSubstance.setState_ps setState_ps Return thermodynamic state from p and s
Modelica.Media.Interfaces.PartialPureSubstance.setState_dT setState_dT Return thermodynamic state from d and T
Modelica.Media.Interfaces.PartialPureSubstance.density_ph density_ph Return density from p and h
Modelica.Media.Interfaces.PartialPureSubstance.temperature_ph temperature_ph Return temperature from p and h
Modelica.Media.Interfaces.PartialPureSubstance.pressure_dT pressure_dT Return pressure from d and T
Modelica.Media.Interfaces.PartialPureSubstance.specificEnthalpy_dT specificEnthalpy_dT Return specific enthalpy from d and T
Modelica.Media.Interfaces.PartialPureSubstance.specificEnthalpy_ps specificEnthalpy_ps Return specific enthalpy from p and s
Modelica.Media.Interfaces.PartialPureSubstance.temperature_ps temperature_ps Return temperature from p and s
Modelica.Media.Interfaces.PartialPureSubstance.density_ps density_ps Return density from p and s
Modelica.Media.Interfaces.PartialPureSubstance.specificEnthalpy_pT specificEnthalpy_pT Return specific enthalpy from p and T
Modelica.Media.Interfaces.PartialPureSubstance.density_pT density_pT Return density from p and T
ThermoStates=Modelica.Media.Interfaces.Choices.IndependentVariables.pT Enumeration type for independent variables
mediumName="SimpleLiquidWater" Name of the medium
substanceNames={mediumName} Names of the mixture substances. Set substanceNames={mediumName} if only one substance.
extraPropertiesNames=fill("", 0) Names of the additional (extra) transported properties. Set extraPropertiesNames=fill("",0) if unused
singleState=true = true, if u and d are not a function of pressure
reducedX=true = true if medium contains the equation sum(X) = 1.0; set reducedX=true if only one substance (see docu for details)
fixedX=true = true if medium contains the equation X = reference_X
reference_p=300000 Reference pressure of Medium: default 1 atmosphere
reference_T=273.15 Reference temperature of Medium: default 25 deg Celsius
reference_X={1} Default mass fractions of medium
p_default=300000 Default value for pressure of medium (for initialization)
T_default=Modelica.SIunits.Conversions.from_degC(20) Default value for temperature of medium (for initialization)
h_default=specificEnthalpy_pTX(p_default, T_default, X_default) Default value for specific enthalpy of medium (for initialization)
X_default=reference_X Default value for mass fractions of medium (for initialization)
C_default=fill(0, nC) Default value for trace substances of medium (for initialization)
nS=size(substanceNames, 1) Number of substances
nX=nS Number of mass fractions
nXi=if fixedX then 0 else if reducedX then nS - 1 else nS Number of structurally independent mass fractions (see docu for details)
nC=size(extraPropertiesNames, 1) Number of extra (outside of standard mass-balance) transported properties
C_nominal=1.0e-6*ones(nC) Default for the nominal values for the extra properties
Modelica.Media.Interfaces.PartialMedium.FluidConstants FluidConstants Critical, triple, molecular and other standard data of fluid
Modelica.Media.Interfaces.PartialMedium.prandtlNumber prandtlNumber Return the Prandtl number
Modelica.Media.Interfaces.PartialMedium.heatCapacity_cp heatCapacity_cp Alias for deprecated name
Modelica.Media.Interfaces.PartialMedium.heatCapacity_cv heatCapacity_cv Alias for deprecated name
Modelica.Media.Interfaces.PartialMedium.beta beta Alias for isobaricExpansionCoefficient for user convenience
Modelica.Media.Interfaces.PartialMedium.kappa kappa Alias of isothermalCompressibility for user convenience
Modelica.Media.Interfaces.PartialMedium.density_derp_h density_derp_h Return density derivative w.r.t. pressure at const specific enthalpy
Modelica.Media.Interfaces.PartialMedium.density_derh_p density_derh_p Return density derivative w.r.t. specific enthalpy at constant pressure
Modelica.Media.Interfaces.PartialMedium.specificEntropy_pTX specificEntropy_pTX Return specific enthalpy from p, T, and X or Xi
Modelica.Media.Interfaces.PartialMedium.density_pTX density_pTX Return density from p, T, and X or Xi
Modelica.Media.Interfaces.PartialMedium.temperature_psX temperature_psX Return temperature from p,s, and X or Xi
Modelica.Media.Interfaces.PartialMedium.density_psX density_psX Return density from p, s, and X or Xi
Modelica.Media.Interfaces.PartialMedium.specificEnthalpy_psX specificEnthalpy_psX Return specific enthalpy from p, s, and X or Xi
Modelica.Media.Interfaces.PartialMedium.MassFlowRate MassFlowRate Type for mass flow rate with medium specific attributes
Modelica.Media.Interfaces.Types.AbsolutePressure AbsolutePressure Type for absolute pressure with medium specific attributes
Modelica.Media.Interfaces.Types.Density Density Type for density with medium specific attributes
Modelica.Media.Interfaces.Types.DynamicViscosity DynamicViscosity Type for dynamic viscosity with medium specific attributes
Modelica.Media.Interfaces.Types.EnthalpyFlowRate EnthalpyFlowRate Type for enthalpy flow rate with medium specific attributes
Modelica.Media.Interfaces.Types.MassFraction MassFraction Type for mass fraction with medium specific attributes
Modelica.Media.Interfaces.Types.MoleFraction MoleFraction Type for mole fraction with medium specific attributes
Modelica.Media.Interfaces.Types.MolarMass MolarMass Type for molar mass with medium specific attributes
Modelica.Media.Interfaces.Types.MolarVolume MolarVolume Type for molar volume with medium specific attributes
Modelica.Media.Interfaces.Types.IsentropicExponent IsentropicExponent Type for isentropic exponent with medium specific attributes
Modelica.Media.Interfaces.Types.SpecificEnergy SpecificEnergy Type for specific energy with medium specific attributes
Modelica.Media.Interfaces.Types.SpecificInternalEnergy SpecificInternalEnergy Type for specific internal energy with medium specific attributes
Modelica.Media.Interfaces.Types.SpecificEnthalpy SpecificEnthalpy Type for specific enthalpy with medium specific attributes
Modelica.Media.Interfaces.Types.SpecificEntropy SpecificEntropy Type for specific entropy with medium specific attributes
Modelica.Media.Interfaces.Types.SpecificHeatCapacity SpecificHeatCapacity Type for specific heat capacity with medium specific attributes
Modelica.Media.Interfaces.Types.SurfaceTension SurfaceTension Type for surface tension with medium specific attributes
Modelica.Media.Interfaces.Types.Temperature Temperature Type for temperature with medium specific attributes
Modelica.Media.Interfaces.Types.ThermalConductivity ThermalConductivity Type for thermal conductivity with medium specific attributes
Modelica.Media.Interfaces.Types.PrandtlNumber PrandtlNumber Type for Prandtl number with medium specific attributes
Modelica.Media.Interfaces.Types.VelocityOfSound VelocityOfSound Type for velocity of sound with medium specific attributes
Modelica.Media.Interfaces.Types.ExtraProperty ExtraProperty Type for unspecified, mass-specific property transported by flow
Modelica.Media.Interfaces.Types.CumulativeExtraProperty CumulativeExtraProperty Type for conserved integral of unspecified, mass specific property
Modelica.Media.Interfaces.Types.ExtraPropertyFlowRate ExtraPropertyFlowRate Type for flow rate of unspecified, mass-specific property
Modelica.Media.Interfaces.Types.IsobaricExpansionCoefficient IsobaricExpansionCoefficient Type for isobaric expansion coefficient with medium specific attributes
Modelica.Media.Interfaces.Types.DipoleMoment DipoleMoment Type for dipole moment with medium specific attributes
Modelica.Media.Interfaces.Types.DerDensityByPressure DerDensityByPressure Type for partial derivative of density with respect to pressure with medium specific attributes
Modelica.Media.Interfaces.Types.DerDensityByEnthalpy DerDensityByEnthalpy Type for partial derivative of density with respect to enthalpy with medium specific attributes
Modelica.Media.Interfaces.Types.DerEnthalpyByPressure DerEnthalpyByPressure Type for partial derivative of enthalpy with respect to pressure with medium specific attributes
Modelica.Media.Interfaces.Types.DerDensityByTemperature DerDensityByTemperature Type for partial derivative of density with respect to temperature with medium specific attributes
Modelica.Media.Interfaces.Types.DerTemperatureByPressure DerTemperatureByPressure Type for partial derivative of temperature with respect to pressure with medium specific attributes
Modelica.Media.Interfaces.Types.SaturationProperties SaturationProperties Saturation properties of two phase medium
Modelica.Media.Interfaces.Types.FluidLimits FluidLimits Validity limits for fluid model
Modelica.Media.Interfaces.Types.FixedPhase FixedPhase Phase of the fluid: 1 for 1-phase, 2 for two-phase, 0 for not known, e.g., interactive use
Modelica.Media.Interfaces.Types.Basic Basic The most basic version of a record used in several degrees of detail
Modelica.Media.Interfaces.Types.IdealGas IdealGas The ideal gas version of a record used in several degrees of detail
Modelica.Media.Interfaces.Types.TwoPhase TwoPhase The two phase fluid version of a record used in several degrees of detail

Buildings.Media.Water.BaseProperties

Base properties (p, d, T, h, u, R, MM and X and Xi) of a medium

Information

Model with basic thermodynamic properties.

This base properties model is identical to Modelica.Media.Water.ConstantPropertyLiquidWater, except that the equation u = cv_const*(T - reference_T) has been replaced by u=h because cp_const=cv_const.

This model provides equation for the following thermodynamic properties:

Variable Unit Description
T K temperature
p Pa absolute pressure
d kg/m3 density
h J/kg specific enthalpy
u J/kg specific internal energy
Xi[nXi] kg/kg independent mass fractions m_i/m
R J/kg.K gas constant
M kg/mol molar mass

Parameters

TypeNameDefaultDescription
Advanced
BooleanpreferredMediumStatesfalse= true if StateSelect.prefer shall be used for the independent property variables of the medium

Modelica definition

redeclare replaceable model BaseProperties "Base properties (p, d, T, h, u, R, MM and X and Xi) of a medium" parameter Boolean preferredMediumStates=false "= true if StateSelect.prefer shall be used for the independent property variables of the medium"; final parameter Boolean standardOrderComponents=true "If true, and reducedX = true, the last element of X will be computed from the other ones"; Modelica.SIunits.Density d=d_const "Density of medium"; Temperature T(stateSelect= if preferredMediumStates then StateSelect.prefer else StateSelect.default) "Temperature of medium"; InputAbsolutePressure p "Absolute pressure of medium"; InputMassFraction[nXi] Xi=fill(0, 0) "Structurally independent mass fractions"; InputSpecificEnthalpy h "Specific enthalpy of medium"; Modelica.SIunits.SpecificInternalEnergy u "Specific internal energy of medium"; Modelica.SIunits.MassFraction[nX] X={1} "Mass fractions (= (component mass)/total mass m_i/m)"; final Modelica.SIunits.SpecificHeatCapacity R=0 "Gas constant (of mixture if applicable)"; final Modelica.SIunits.MolarMass MM=MM_const "Molar mass (of mixture or single fluid)"; ThermodynamicState state "Thermodynamic state record for optional functions"; Modelica.SIunits.Conversions.NonSIunits.Temperature_degC T_degC= Modelica.SIunits.Conversions.to_degC(T) "Temperature of medium in [degC]"; Modelica.SIunits.Conversions.NonSIunits.Pressure_bar p_bar= Modelica.SIunits.Conversions.to_bar(p) "Absolute pressure of medium in [bar]"; // Local connector definition, used for equation balancing check connector InputAbsolutePressure = input Modelica.SIunits.AbsolutePressure "Pressure as input signal connector"; connector InputSpecificEnthalpy = input Modelica.SIunits.SpecificEnthalpy "Specific enthalpy as input signal connector"; connector InputMassFraction = input Modelica.SIunits.MassFraction "Mass fraction as input signal connector"; equation h = cp_const*(T-reference_T); u = h; state.T = T; state.p = p; // Assertions to test for bounds assert(noEvent(T >= T_min), "In " + getInstanceName() + ": Temperature T = " + String(T) + " K exceeded its minimum allowed value of " + String(T_min-273.15) + " degC (" + String(T_min) + " Kelvin) as required from medium model \"Buildings.Media.Water\"."); assert(noEvent(T <= T_max), "In " + getInstanceName() + ": Temperature T = " + String(T) + " K exceeded its maximum allowed value of " + String(T_max-273.15) + " degC (" + String(T_max) + " Kelvin) as required from medium model \"Buildings.Media.Water\"."); assert(noEvent(p >= 0.0), "Pressure (= " + String(p) + " Pa) of medium \"Buildings.Media.Water\" is negative\n(Temperature = " + String(T) + " K)"); end BaseProperties;

Buildings.Media.Water.enthalpyOfLiquid Buildings.Media.Water.enthalpyOfLiquid

Return the specific enthalpy of liquid

Information

Enthalpy of the water.

Extends from Modelica.Icons.Function (Icon for functions).

Inputs

TypeNameDefaultDescription
TemperatureT Temperature [K]

Outputs

TypeNameDescription
SpecificEnthalpyhSpecific enthalpy [J/kg]

Modelica definition

function enthalpyOfLiquid "Return the specific enthalpy of liquid" extends Modelica.Icons.Function; input Modelica.SIunits.Temperature T "Temperature"; output Modelica.SIunits.SpecificEnthalpy h "Specific enthalpy"; algorithm h := cp_const*(T-reference_T); end enthalpyOfLiquid;

Buildings.Media.Water.BaseProperties.InputAbsolutePressure

Pressure as input signal connector

Modelica definition

connector InputAbsolutePressure = input Modelica.SIunits.AbsolutePressure "Pressure as input signal connector";

Buildings.Media.Water.BaseProperties.InputMassFraction

Mass fraction as input signal connector

Modelica definition

connector InputMassFraction = input Modelica.SIunits.MassFraction "Mass fraction as input signal connector";

Buildings.Media.Water.BaseProperties.InputSpecificEnthalpy

Specific enthalpy as input signal connector

Modelica definition

connector InputSpecificEnthalpy = input Modelica.SIunits.SpecificEnthalpy "Specific enthalpy as input signal connector";