Generic pure liquid model with constant cp, compressibility and thermal expansion coefficients
This linear compressibility fluid model is based on the assumptions that:
That means that the density is a linear function in temperature and in pressure. In order to define the complete model, a number of constant reference values are needed which are computed at the reference values of the states pressure p and temperature T. The model can be interpreted as a linearization of a full non-linear fluid model (but it is not linear in all thermodynamic coordinates). Reference values are needed for
Apart from that, a user needs to define the molar mass, MM_const. Note that it is possible to define a fluid by computing the reference values from a full non-linear fluid model by computing the package constants using the standard functions defined in a fluid package (see example in liquids package).
In order to avoid numerical inversion of the temperature in the T_ph and T_ps functions, the density is always taken to be the reference density in the computation of h, s, u and cv. For liquids (and this model is intended only for liquids) the relative error of doing so is 1e-3 to 1e-4 at most. The model would be more "correct" based on the other assumptions, if occurrences of reference_d in the computations of h,s,u and cv would be replaced by a call to density(state). That would require a numerical solution for T_ps, while T_ph can be solved symbolically from a quadratic function. Errors from this approximation are small because liquid density varies little.
One of the main reasons to use a simple, linear fluid model is to achieve high performance in simulations. There are a number of possible compromises and possibilities to improve performance. Some of them can be influenced by a flag. The following rules where used in this model:
Extends from Interfaces.PartialPureSubstance (Base class for pure substances of one chemical substance).
Name | Description |
---|---|
cp_const | Specific heat capacity at constant pressure |
beta_const | Thermal expansion coefficient at constant pressure |
kappa_const | Isothermal compressibility |
MM_const | Molar mass |
reference_d | Density in reference conditions |
reference_h | Specific enthalpy in reference conditions |
reference_s | Specific entropy in reference conditions |
constantJacobian | If true, entries in thermodynamic Jacobian are constant, taken at reference conditions |
ThermodynamicState | A selection of variables that uniquely defines the thermodynamic state |
BaseProperties | Base properties of medium |
setState_pTX | Set the thermodynamic state record from p and T (X not needed) |
setState_phX | Set the thermodynamic state record from p and h (X not needed) |
setState_psX | Set the thermodynamic state record from p and s (X not needed) |
setState_dTX | Set the thermodynamic state record from d and T (X not needed) |
setSmoothState | Return thermodynamic state so that it smoothly approximates: if x > 0 then state_a else state_b |
pressure | Return the pressure from the thermodynamic state |
temperature | Return the temperature from the thermodynamic state |
density | Return the density from the thermodynamic state |
specificEnthalpy | Return the specific enthalpy from the thermodynamic state |
specificEntropy | Return the specific entropy from the thermodynamic state |
specificInternalEnergy | Return the specific internal energy from the thermodynamic state |
specificGibbsEnergy | Return specific Gibbs energy from the thermodynamic state |
specificHelmholtzEnergy | Return specific Helmholtz energy from the thermodynamic state |
velocityOfSound | Return velocity of sound from the thermodynamic state |
isentropicExponent | Return isentropic exponent from the thermodynamic state |
isentropicEnthalpy | Return isentropic enthalpy |
specificHeatCapacityCp | Return specific heat capacity at constant volume |
specificHeatCapacityCv | Return specific heat capacity at constant volume from the thermodynamic state |
isothermalCompressibility | Return the isothermal compressibility kappa |
isobaricExpansionCoefficient | Return the isobaric expansion coefficient |
density_derp_h | Return density derivative w.r.t. pressure at const specific enthalpy |
density_derh_p | Return density derivative w.r.t. specific enthalpy at constant pressure |
density_derp_T | Return density derivative w.r.t. pressure at const temperature |
density_derT_p | Return density derivative w.r.t. temperature at constant pressure |
density_derX | Returns the partial derivative of density with respect to mass fractions at constant pressure and temperature |
molarMass | Return molar mass |
T_ph | Return temperature from pressure and specific enthalpy |
T_ps | Return temperature from pressure and specific entropy |
Inherited | |
setState_pT | Return thermodynamic state from p and T |
setState_ph | Return thermodynamic state from p and h |
setState_ps | Return thermodynamic state from p and s |
setState_dT | Return thermodynamic state from d and T |
density_ph | Return density from p and h |
temperature_ph | Return temperature from p and h |
pressure_dT | Return pressure from d and T |
specificEnthalpy_dT | Return specific enthalpy from d and T |
specificEnthalpy_ps | Return specific enthalpy from p and s |
temperature_ps | Return temperature from p and s |
density_ps | Return density from p and s |
specificEnthalpy_pT | Return specific enthalpy from p and T |
density_pT | Return density from p and T |
ThermoStates | Enumeration type for independent variables |
mediumName="unusablePartialMedium" | 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, 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=false | = true if medium contains the equation X = reference_X |
reference_p=101325 | Reference pressure of Medium: default 1 atmosphere |
reference_T=298.15 | Reference temperature of Medium: default 25 deg Celsius |
reference_X=fill(1/nX, nX) | Default mass fractions of medium |
p_default=101325 | 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) |
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 |
FluidConstants | Critical, triple, molecular and other standard data of fluid |
dynamicViscosity | Return dynamic viscosity |
thermalConductivity | Return thermal conductivity |
prandtlNumber | Return the Prandtl number |
heatCapacity_cp | Alias for deprecated name |
heatCapacity_cv | Alias for deprecated name |
beta | Alias for isobaricExpansionCoefficient for user convenience |
kappa | Alias of isothermalCompressibility for user convenience |
specificEnthalpy_pTX | Return specific enthalpy from p, T, and X or Xi |
specificEntropy_pTX | Return specific enthalpy from p, T, and X or Xi |
density_pTX | Return density from p, T, and X or Xi |
temperature_phX | Return temperature from p, h, and X or Xi |
density_phX | Return density from p, h, and X or Xi |
temperature_psX | Return temperature from p,s, and X or Xi |
density_psX | Return density from p, s, and X or Xi |
specificEnthalpy_psX | Return specific enthalpy from p, s, and X or Xi |
MassFlowRate | Type for mass flow rate with medium specific attributes |
AbsolutePressure | Type for absolute pressure with medium specific attributes |
Density | Type for density with medium specific attributes |
DynamicViscosity | Type for dynamic viscosity with medium specific attributes |
EnthalpyFlowRate | Type for enthalpy flow rate with medium specific attributes |
MassFraction | Type for mass fraction with medium specific attributes |
MoleFraction | Type for mole fraction with medium specific attributes |
MolarMass | Type for molar mass with medium specific attributes |
MolarVolume | Type for molar volume with medium specific attributes |
IsentropicExponent | Type for isentropic exponent with medium specific attributes |
SpecificEnergy | Type for specific energy with medium specific attributes |
SpecificInternalEnergy | Type for specific internal energy with medium specific attributes |
SpecificEnthalpy | Type for specific enthalpy with medium specific attributes |
SpecificEntropy | Type for specific entropy with medium specific attributes |
SpecificHeatCapacity | Type for specific heat capacity with medium specific attributes |
SurfaceTension | Type for surface tension with medium specific attributes |
Temperature | Type for temperature with medium specific attributes |
ThermalConductivity | Type for thermal conductivity with medium specific attributes |
PrandtlNumber | Type for Prandtl number with medium specific attributes |
VelocityOfSound | Type for velocity of sound with medium specific attributes |
ExtraProperty | Type for unspecified, mass-specific property transported by flow |
CumulativeExtraProperty | Type for conserved integral of unspecified, mass specific property |
ExtraPropertyFlowRate | Type for flow rate of unspecified, mass-specific property |
IsobaricExpansionCoefficient | Type for isobaric expansion coefficient with medium specific attributes |
DipoleMoment | Type for dipole moment with medium specific attributes |
DerDensityByPressure | Type for partial derivative of density with respect to pressure with medium specific attributes |
DerDensityByEnthalpy | Type for partial derivative of density with respect to enthalpy with medium specific attributes |
DerEnthalpyByPressure | Type for partial derivative of enthalpy with respect to pressure with medium specific attributes |
DerDensityByTemperature | Type for partial derivative of density with respect to temperature with medium specific attributes |
DerTemperatureByPressure | Type for partial derivative of temperature with respect to pressure with medium specific attributes |
SaturationProperties | Saturation properties of two phase medium |
FluidLimits | Validity limits for fluid model |
FixedPhase | Phase of the fluid: 1 for 1-phase, 2 for two-phase, 0 for not known, e.g., interactive use |
Basic | The most basic version of a record used in several degrees of detail |
IdealGas | The ideal gas version of a record used in several degrees of detail |
TwoPhase | The two phase fluid version of a record used in several degrees of detail |
A selection of variables that uniquely defines the thermodynamic state
Extends from Modelica.Icons.Record (Icon for records).
Base properties of medium
Name | Description |
---|---|
Advanced | |
preferredMediumStates | = true if StateSelect.prefer shall be used for the independent property variables of the medium |
Set the thermodynamic state record from p and T (X not needed)
Extends from (Return thermodynamic state as function of p, T and composition X or Xi).
Name | Description |
---|---|
p | Pressure [Pa] |
T | Temperature [K] |
X[:] | Mass fractions [kg/kg] |
Name | Description |
---|---|
state | Thermodynamic state record |
Set the thermodynamic state record from p and h (X not needed)
Extends from (Return thermodynamic state as function of p, h and composition X or Xi).
Name | Description |
---|---|
p | Pressure [Pa] |
h | Specific enthalpy [J/kg] |
X[:] | Mass fractions [kg/kg] |
Name | Description |
---|---|
state | Thermodynamic state record |
Set the thermodynamic state record from p and s (X not needed)
Extends from (Return thermodynamic state as function of p, s and composition X or Xi).
Name | Description |
---|---|
p | Pressure [Pa] |
s | Specific entropy [J/(kg.K)] |
X[:] | Mass fractions [kg/kg] |
Name | Description |
---|---|
state | Thermodynamic state record |
Set the thermodynamic state record from d and T (X not needed)
Extends from (Return thermodynamic state as function of d, T and composition X or Xi).
Name | Description |
---|---|
d | Density [kg/m3] |
T | Temperature [K] |
X[:] | Mass fractions [kg/kg] |
Name | Description |
---|---|
state | Thermodynamic state record |
Return thermodynamic state so that it smoothly approximates: if x > 0 then state_a else state_b
Extends from (Return thermodynamic state so that it smoothly approximates: if x > 0 then state_a else state_b).
Name | Description |
---|---|
x | m_flow or dp |
state_a | Thermodynamic state if x > 0 |
state_b | Thermodynamic state if x < 0 |
x_small | Smooth transition in the region -x_small < x < x_small |
Name | Description |
---|---|
state | Smooth thermodynamic state for all x (continuous and differentiable) |
Return the pressure from the thermodynamic state
Extends from (Return pressure).
Name | Description |
---|---|
state | Thermodynamic state record |
Name | Description |
---|---|
p | Pressure [Pa] |
Return the temperature from the thermodynamic state
Extends from (Return temperature).
Name | Description |
---|---|
state | Thermodynamic state record |
Name | Description |
---|---|
T | Temperature [K] |
Return the density from the thermodynamic state
Extends from (Return density).
Name | Description |
---|---|
state | Thermodynamic state record |
Name | Description |
---|---|
d | Density [kg/m3] |
Return the specific enthalpy from the thermodynamic state
Extends from (Return specific enthalpy).
Name | Description |
---|---|
state | Thermodynamic state record |
Name | Description |
---|---|
h | Specific enthalpy [J/kg] |
Return the specific entropy from the thermodynamic state
Extends from (Return specific entropy).
Name | Description |
---|---|
state | Thermodynamic state record |
Name | Description |
---|---|
s | Specific entropy [J/(kg.K)] |
Return the specific internal energy from the thermodynamic state
Extends from (Return specific internal energy).
Name | Description |
---|---|
state | Thermodynamic state record |
Name | Description |
---|---|
u | Specific internal energy [J/kg] |
Return specific Gibbs energy from the thermodynamic state
Extends from Modelica.Icons.Function (Icon for functions), (Return specific Gibbs energy).
Name | Description |
---|---|
state | Thermodynamic state record |
Name | Description |
---|---|
g | Specific Gibbs energy [J/kg] |
Return specific Helmholtz energy from the thermodynamic state
Extends from Modelica.Icons.Function (Icon for functions), (Return specific Helmholtz energy).
Name | Description |
---|---|
state | Thermodynamic state record |
Name | Description |
---|---|
f | Specific Helmholtz energy [J/kg] |
Return velocity of sound from the thermodynamic state
Extends from Modelica.Icons.Function (Icon for functions), (Return velocity of sound).
Name | Description |
---|---|
state | Thermodynamic state record |
Name | Description |
---|---|
a | Velocity of sound [m/s] |
Return isentropic exponent from the thermodynamic state
Extends from Modelica.Icons.Function (Icon for functions), (Return isentropic exponent).
Name | Description |
---|---|
state | Thermodynamic state record |
Name | Description |
---|---|
gamma | Isentropic exponent [1] |
Return isentropic enthalpy
A minor approximation is used: the reference density is used instead of the real one, which would require a numeric solution.
Extends from (Return isentropic enthalpy).
Name | Description |
---|---|
p_downstream | Downstream pressure [Pa] |
refState | Reference state for entropy |
Name | Description |
---|---|
h_is | Isentropic enthalpy [J/kg] |
Return specific heat capacity at constant volume
Extends from (Return specific heat capacity at constant pressure).
Name | Description |
---|---|
state | Thermodynamic state record |
Name | Description |
---|---|
cp | Specific heat capacity at constant pressure [J/(kg.K)] |
Return specific heat capacity at constant volume from the thermodynamic state
Extends from (Return specific heat capacity at constant volume).
Name | Description |
---|---|
state | Thermodynamic state record |
Name | Description |
---|---|
cv | Specific heat capacity at constant volume [J/(kg.K)] |
Return the isothermal compressibility kappa
Extends from (Return overall the isothermal compressibility factor).
Name | Description |
---|---|
state | Thermodynamic state record |
Name | Description |
---|---|
kappa | Isothermal compressibility [1/Pa] |
Return the isobaric expansion coefficient
Extends from (Return overall the isobaric expansion coefficient beta).
Name | Description |
---|---|
state | Thermodynamic state record |
Name | Description |
---|---|
beta | Isobaric expansion coefficient [1/K] |
Return density derivative w.r.t. pressure at const specific enthalpy
Extends from (Return density derivative w.r.t. pressure at const specific enthalpy).
Name | Description |
---|---|
state | Thermodynamic state record |
Name | Description |
---|---|
ddph | Density derivative w.r.t. pressure [s2/m2] |
Return density derivative w.r.t. specific enthalpy at constant pressure
Extends from (Return density derivative w.r.t. specific enthalpy at constant pressure).
Name | Description |
---|---|
state | Thermodynamic state record |
Name | Description |
---|---|
ddhp | Density derivative w.r.t. specific enthalpy [kg.s2/m5] |
Return density derivative w.r.t. pressure at const temperature
Extends from (Return density derivative w.r.t. pressure at const temperature).
Name | Description |
---|---|
state | Thermodynamic state record |
Name | Description |
---|---|
ddpT | Density derivative w.r.t. pressure [s2/m2] |
Return density derivative w.r.t. temperature at constant pressure
Extends from (Return density derivative w.r.t. temperature at constant pressure).
Name | Description |
---|---|
state | Thermodynamic state record |
Name | Description |
---|---|
ddTp | Density derivative w.r.t. temperature [kg/(m3.K)] |
Returns the partial derivative of density with respect to mass fractions at constant pressure and temperature
Extends from (Return density derivative w.r.t. mass fraction).
Name | Description |
---|---|
state | Thermodynamic state record |
Name | Description |
---|---|
dddX[nX] | Derivative of density w.r.t. mass fraction [kg/m3] |
Return molar mass
Extends from (Return the molar mass of the medium).
Name | Description |
---|---|
state | Thermodynamic state record |
Name | Description |
---|---|
MM | Mixture molar mass [kg/mol] |
Return temperature from pressure and specific enthalpy
Extends from Modelica.Icons.Function (Icon for functions).
Name | Description |
---|---|
h | Specific enthalpy [J/kg] |
p | Pressure [Pa] |
Name | Description |
---|---|
T | Temperature [K] |
Return temperature from pressure and specific entropy
Extends from Modelica.Icons.Function (Icon for functions).
Name | Description |
---|---|
p | Pressure [Pa] |
s | Specific entropy [J/(kg.K)] |
Name | Description |
---|---|
T | Temperature [K] |