TwoPhaseWaterExtension of the StandardWater package 
Make StandardWater.BaseProperties non replaceable in order that inheritance is possible in model ExtendedProperties 

Plenty of twophase properties 

Test the above model 
ThermoStates 
Value: Modelica.Media.Interfaces.Choices.IndependentVariables.ph Type: IndependentVariables Description: Enumeration type for independent variables 

mediumName 
Value: "WaterIF97" Type: String Description: Name of the medium 
substanceNames 
Value: {"water"} Type: String[:] Description: Names of the mixture substances. Set substanceNames={mediumName} if only one substance. 
extraPropertiesNames 
Value: fill("", 0) Type: String[:] Description: Names of the additional (extra) transported properties. Set extraPropertiesNames=fill("",0) if unused 
singleState 
Value: false Type: Boolean Description: = true, if u and d are not a function of pressure 
reducedX 
Value: true Type: Boolean Description: = true if medium contains the equation sum(X) = 1.0; set reducedX=true if only one substance (see docu for details) 
fixedX 
Value: true Type: Boolean Description: = true if medium contains the equation X = reference_X 
reference_p 
Value: 101325 Type: AbsolutePressure (Pa) Description: Reference pressure of Medium: default 1 atmosphere 
reference_T 
Value: 298.15 Type: Temperature (K) Description: Reference temperature of Medium: default 25 deg Celsius 
reference_X 
Value: fill(1 / nX, nX) Type: MassFraction[nX] (kg/kg) Description: Default mass fractions of medium 
p_default 
Value: 101325 Type: AbsolutePressure (Pa) Description: Default value for pressure of medium (for initialization) 
T_default 
Value: Modelica.SIunits.Conversions.from_degC(20) Type: Temperature (K) Description: Default value for temperature of medium (for initialization) 
h_default 
Value: specificEnthalpy_pTX(p_default, T_default, X_default) Type: SpecificEnthalpy (J/kg) Description: Default value for specific enthalpy of medium (for initialization) 
X_default 
Value: reference_X Type: MassFraction[nX] (kg/kg) Description: Default value for mass fractions of medium (for initialization) 
C_default 
Value: fill(0, nC) Type: ExtraProperty[nC] Description: Default value for trace substances of medium (for initialization) 
nS 
Value: size(substanceNames, 1) Type: Integer Description: Number of substances 
nX 
Value: nS Type: Integer Description: Number of mass fractions 
nXi 
Value: if fixedX then 0 else if reducedX then nS  1 else nS Type: Integer Description: Number of structurally independent mass fractions (see docu for details) 
nC 
Value: size(extraPropertiesNames, 1) Type: Integer Description: Number of extra (outside of standard massbalance) transported properties 
C_nominal 
Value: 1.0e6 * ones(nC) Type: Real[nC] Description: Default for the nominal values for the extra properties 
smoothModel 
Value: false Type: Boolean Description: True if the (derived) model should not generate state events 
onePhase 
Value: false Type: Boolean Description: True if the (derived) model should never be called with twophase inputs 
fluidConstants 
Value: waterConstants Type: FluidConstants[nS] Description: Constant data for the fluid 
Region 
Value: 0 Type: Integer Description: Region of IF97, if known, zero otherwise 
ph_explicit 
Value: true Type: Boolean Description: True if explicit in pressure and specific enthalpy 
dT_explicit 
Value: false Type: Boolean Description: True if explicit in density and temperature 
pT_explicit 
Value: false Type: Boolean Description: True if explicit in pressure and temperature 
This information is part of the Modelica Standard Library maintained by the Modelica Association.
The sample model TestTwoPhaseStates test the extended properties
The same procedure can be used to compute properties at other state points, e.g., when an isentropic reference state is computed.