packageWater

Package with model for liquid water with constant density

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

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.

Parameters

TypeNameDefaultDescription
Modelica.Media.Interfaces.Types.Basic.FluidConstantssimpleWaterConstants (from ConstantPropertyLiquidWater)
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
SpecificHeatCapacitycp_const (from PartialSimpleMedium)Constant specific heat capacity at constant pressure
SpecificHeatCapacitycv_const (from PartialSimpleMedium)Constant specific heat capacity at constant volume
Densityd_const (from PartialSimpleMedium)Constant density
DynamicViscosityeta_const (from PartialSimpleMedium)Constant dynamic viscosity
ThermalConductivitylambda_const (from PartialSimpleMedium)Constant thermal conductivity
VelocityOfSounda_const (from PartialSimpleMedium)Constant velocity of sound
TemperatureT_min (from PartialSimpleMedium)Minimum temperature valid for medium model
TemperatureT_max (from PartialSimpleMedium)Maximum temperature valid for medium model
TemperatureT0 (from PartialSimpleMedium)reference_TZero enthalpy temperature
MolarMassMM_const (from PartialSimpleMedium)Molar mass
FluidConstantsfluidConstants (from PartialSimpleMedium)Fluid constants

Contents

NameDescription
BasePropertiesBase properties (p, d, T, h, u, R, MM and X and Xi) of a medium
enthalpyOfLiquidReturn the specific enthalpy of liquid

Revisions

  • June 18, 2024, by Michael Wetter:
    Added start and nominal attributes to avoid warnings in OpenModelica due to conflicting values.
    This is for IBPSA, #1890.
  • September 28, 2020, by Michael Wetter:
    Reformulated BaseProperties to avoid event-triggering assertions.
    This is for #1401.
  • October 26, 2018, by Filip Jorissen and Michael Wetter:
    Now printing different messages if temperature is above or below its limit, and adding instance name as JModelica does not print the full instance name in the assertion. This is for #1045.
  • June 6, 2015, by Michael Wetter:
    Set AbsolutePressure(start=p_default) to avoid a translation error if Buildings.Fluid.Sources.Examples.TraceSubstancesFlowSource (if used with water instead of air) is translated in pedantic mode in Dymola 2016. The reason is that pressures use Medium.p_default as start values, but Modelica.Media.Interfaces.Types sets a default value of 1E-5. A similar change has been done for pressure and density. This fixes #266.
  • June 6, 2015, by Michael Wetter:
    Changed type of BaseProperties.T from Modelica.Units.SI.Temperature to Temperature. Otherwise, it has a different start value than Medium.T, which causes an error if Buildings.Media.Examples.WaterProperties is translated in pedantic mode. This fixes #266.
  • June 5, 2015, by Michael Wetter:
    Added stateSelect attribute in BaseProperties.T to allow correct use of preferredMediumState as described in Modelica.Media.Interfaces.PartialMedium, and set preferredMediumState=false to keep the same states as were used before. This is for #260.
  • June 5, 2015, by Michael Wetter:
    Removed ThermodynamicState declaration as this lead to the error "Attempting to redeclare record ThermodynamicState when the original was not replaceable." in Dymola 2016 using the pedantic model check.
  • May 1, 2015, by Michael Wetter:
    Added Inline=true for issue 227.
  • February 25, 2015, by Michael Wetter:
    Removed stateSelect attribute on pressure as this caused Buildings.Examples.Tutorial.SpaceCooling.System3 to fail with the error message "differentiated if-then-else was not continuous".
  • October 15, 2014, by Michael Wetter:
    Reimplemented media based on 446aa83.
  • November 15, 2013, by Michael Wetter:
    Complete new reimplementation because the previous version had the option to add a compressibility to the medium, which has never been used.