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 |
| A selection of variables that uniquely defines the thermodynamic state | |
| Base properties of medium | |
| Set the thermodynamic state record from p and T (X not needed) | |
| Set the thermodynamic state record from p and h (X not needed) | |
| Set the thermodynamic state record from p and s (X not needed) | |
| Set the thermodynamic state record from d and T (X not needed) | |
| Return thermodynamic state so that it smoothly approximates: if x > 0 then state_a else state_b | |
| Return the pressure from the thermodynamic state | |
| Return the temperature from the thermodynamic state | |
| Return the density from the thermodynamic state | |
| Return the specific enthalpy from the thermodynamic state | |
| Return the specific entropy from the thermodynamic state | |
| Return the specific internal energy from the thermodynamic state | |
| Return specific Gibbs energy from the thermodynamic state | |
| Return specific Helmholtz energy from the thermodynamic state | |
| Return velocity of sound from the thermodynamic state | |
| Return isentropic exponent from the thermodynamic state | |
| Return isentropic enthalpy | |
| Return specific heat capacity at constant volume | |
| Return specific heat capacity at constant volume from the thermodynamic state | |
| Return the isothermal compressibility kappa | |
| Return the isobaric expansion coefficient | |
| Return density derivative w.r.t. pressure at const specific enthalpy | |
| Return density derivative w.r.t. specific enthalpy at constant pressure | |
| Return density derivative w.r.t. pressure at const temperature | |
| Return density derivative w.r.t. temperature at constant pressure | |
| Returns the partial derivative of density with respect to mass fractions at constant pressure and temperature | |
| Return molar mass | |
| Return temperature from pressure and specific enthalpy | |
| Return temperature from pressure and specific entropy | |
| Inherited | |
| Return thermodynamic state from p and T | |
| Return thermodynamic state from p and h | |
| Return thermodynamic state from p and s | |
| Return thermodynamic state from d and T | |
| Return density from p and h | |
| Return temperature from p and h | |
| Return pressure from d and T | |
| Return specific enthalpy from d and T | |
| Return specific enthalpy from p and s | |
| Return temperature from p and s | |
| Return density from p and s | |
| Return specific enthalpy from p and T | |
| Return density from p and T | |
| ThermoStates=Modelica.Media.Interfaces.Choices.IndependentVariables.pTX | 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=false | = 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=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.Units.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 |
| Critical, triple, molecular and other standard data of fluid | |
| Return dynamic viscosity | |
| Return thermal conductivity | |
| Return the Prandtl number | |
| Alias for deprecated name | |
| Alias for deprecated name | |
| Alias for isobaricExpansionCoefficient for user convenience | |
| Alias of isothermalCompressibility for user convenience | |
| Return specific enthalpy from p, T, and X or Xi | |
| Return specific enthalpy from p, T, and X or Xi | |
| Return density from p, T, and X or Xi | |
| Return temperature from p, h, and X or Xi | |
| Return density from p, h, and X or Xi | |
| Return temperature from p,s, and X or Xi | |
| Return density from p, s, and X or Xi | |
| Return specific enthalpy from p, s, and X or Xi | |
| Type for mass flow rate with medium specific attributes | |
| Type for absolute pressure with medium specific attributes | |
| Type for density with medium specific attributes | |
| Type for dynamic viscosity with medium specific attributes | |
| Type for enthalpy flow rate with medium specific attributes | |
| Type for mass fraction with medium specific attributes | |
| Type for mole fraction with medium specific attributes | |
| Type for molar mass with medium specific attributes | |
| Type for molar volume with medium specific attributes | |
| Type for isentropic exponent with medium specific attributes | |
| Type for specific energy with medium specific attributes | |
| Type for specific internal energy with medium specific attributes | |
| Type for specific enthalpy with medium specific attributes | |
| Type for specific entropy with medium specific attributes | |
| Type for specific heat capacity with medium specific attributes | |
| Type for surface tension with medium specific attributes | |
| Type for temperature with medium specific attributes | |
| Type for thermal conductivity with medium specific attributes | |
| Type for Prandtl number with medium specific attributes | |
| Type for velocity of sound with medium specific attributes | |
| Type for unspecified, mass-specific property transported by flow | |
| Type for conserved integral of unspecified, mass specific property | |
| Type for flow rate of unspecified, mass-specific property | |
| Type for isobaric expansion coefficient with medium specific attributes | |
| Type for dipole moment with medium specific attributes | |
| Type for partial derivative of density with respect to pressure with medium specific attributes | |
| Type for partial derivative of density with respect to enthalpy with medium specific attributes | |
| Type for partial derivative of enthalpy with respect to pressure with medium specific attributes | |
| Type for partial derivative of density with respect to temperature with medium specific attributes | |
| Type for partial derivative of temperature with respect to pressure with medium specific attributes | |
| Saturation properties of two phase medium | |
| Validity limits for fluid model | |
| Phase of the fluid: 1 for 1-phase, 2 for two-phase, 0 for not known, e.g., interactive use | |
| The most basic version of a record used in several degrees of detail | |
| The ideal gas version of a record used in several degrees of detail | |
| The two phase fluid version of a record used in several degrees of detail | |
Modelica.Media.Interfaces.PartialLinearFluid.ThermodynamicStateA selection of variables that uniquely defines the thermodynamic state
Extends from Modelica.Icons.Record (Icon for records).
Modelica.Media.Interfaces.PartialLinearFluid.BasePropertiesBase properties of medium
| Name | Description |
|---|---|
| Advanced | |
| preferredMediumStates | = true if StateSelect.prefer shall be used for the independent property variables of the medium |
Modelica.Media.Interfaces.PartialLinearFluid.setState_pTXSet 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 |
Modelica.Media.Interfaces.PartialLinearFluid.setState_phXSet 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 |
Modelica.Media.Interfaces.PartialLinearFluid.setState_psXSet 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 |
Modelica.Media.Interfaces.PartialLinearFluid.setState_dTXSet 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 |
Modelica.Media.Interfaces.PartialLinearFluid.setSmoothStateReturn 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) |
Modelica.Media.Interfaces.PartialLinearFluid.pressureReturn the pressure from the thermodynamic state
Extends from (Return pressure).
| Name | Description |
|---|---|
| state | Thermodynamic state record |
| Name | Description |
|---|---|
| p | Pressure [Pa] |
Modelica.Media.Interfaces.PartialLinearFluid.temperatureReturn the temperature from the thermodynamic state
Extends from (Return temperature).
| Name | Description |
|---|---|
| state | Thermodynamic state record |
| Name | Description |
|---|---|
| T | Temperature [K] |
Modelica.Media.Interfaces.PartialLinearFluid.densityReturn the density from the thermodynamic state
Extends from (Return density).
| Name | Description |
|---|---|
| state | Thermodynamic state record |
| Name | Description |
|---|---|
| d | Density [kg/m3] |
Modelica.Media.Interfaces.PartialLinearFluid.specificEnthalpyReturn 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] |
Modelica.Media.Interfaces.PartialLinearFluid.specificEntropyReturn 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)] |
Modelica.Media.Interfaces.PartialLinearFluid.specificInternalEnergyReturn 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] |
Modelica.Media.Interfaces.PartialLinearFluid.specificGibbsEnergyReturn 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] |
Modelica.Media.Interfaces.PartialLinearFluid.specificHelmholtzEnergyReturn 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] |
Modelica.Media.Interfaces.PartialLinearFluid.velocityOfSoundReturn 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] |
Modelica.Media.Interfaces.PartialLinearFluid.isentropicExponentReturn 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] |
Modelica.Media.Interfaces.PartialLinearFluid.isentropicEnthalpyReturn 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] |
Modelica.Media.Interfaces.PartialLinearFluid.specificHeatCapacityCpReturn 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)] |
Modelica.Media.Interfaces.PartialLinearFluid.specificHeatCapacityCvReturn 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)] |
Modelica.Media.Interfaces.PartialLinearFluid.isothermalCompressibilityReturn 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] |
Modelica.Media.Interfaces.PartialLinearFluid.isobaricExpansionCoefficientReturn 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] |
Modelica.Media.Interfaces.PartialLinearFluid.density_derp_hReturn 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] |
Modelica.Media.Interfaces.PartialLinearFluid.density_derh_pReturn 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] |
Modelica.Media.Interfaces.PartialLinearFluid.density_derp_TReturn 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] |
Modelica.Media.Interfaces.PartialLinearFluid.density_derT_pReturn 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)] |
Modelica.Media.Interfaces.PartialLinearFluid.density_derXReturns 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] |
Modelica.Media.Interfaces.PartialLinearFluid.molarMassReturn 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] |
Modelica.Media.Interfaces.PartialLinearFluid.T_phReturn 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] |
Modelica.Media.Interfaces.PartialLinearFluid.T_psReturn 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] |