# .Modelica.Media.Interfaces.PartialLinearFluid

## Information

#### Linear Compressibility Fluid Model

This linear compressibility fluid model is based on the assumptions that:

• The specific heat capacity at constant pressure (cp) is constant
• The isobaric expansion coefficient (beta) is constant
• The isothermal compressibility (kappa) is constant
• Pressure and temperature are used as states
• The influence of density on specific enthalpy (h), entropy (s), inner energy (u) and heat capacity (cv) at constant volume is neglected.

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

1. the density (reference_d),
2. the specific enthalpy (reference_h),
3. the specific entropy (reference_s).

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.

#### Efficiency considerations

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:

• All forward evaluations (using the ThermodynamicState record as input) are exactly following the assumptions above.
• If the flag constantJacobian is set to true in the package, all functions that typically appear in thermodynamic Jacobians (specificHeatCapacityCv, density_derp_h, density_derh_p, density_derp_T, density_derT_p) are evaluated at reference conditions (that means using the reference density) instead of the density of the current pressure and temperature. This makes it possible to evaluate the thermodynamic Jacobian at compile time.
• For inverse functions using other inputs than the states (e.g pressure p and specific enthalpy h), the inversion is using the reference state whenever that is necessary to achieve a symbolic inversion.
• If constantJacobian is set to false, the above list of functions is computed exactly according to the above list of assumptions
Authors:
Francesco Casella
Dipartimento di Elettronica e Informazione
Politecnico di Milano
Via Ponzio 34/5
I-20133 Milano, Italy
email: casella@elet.polimi.it
and
Hubertus Tummescheit
Modelon AB
Ideon Science Park
SE-22730 Lund, Sweden
email: Hubertus.Tummescheit@Modelon.se

## Contents

NameDescription
ThermodynamicStateA selection of variables that uniquely defines the thermodynamic state
BasePropertiesBase properties of medium
setState_pTXSet the thermodynamic state record from p and T (X not needed)
setState_phXSet the thermodynamic state record from p and h (X not needed)
setState_psXSet the thermodynamic state record from p and s (X not needed)
setState_dTXSet the thermodynamic state record from d and T (X not needed)
setSmoothStateReturn thermodynamic state so that it smoothly approximates: if x > 0 then state_a else state_b
pressureReturn the pressure from the thermodynamic state
temperatureReturn the temperature from the thermodynamic state
densityReturn the density from the thermodynamic state
specificEnthalpyReturn the specific enthalpy from the thermodynamic state
specificEntropyReturn the specific entropy from the thermodynamic state
specificInternalEnergyReturn the specific internal energy from the thermodynamic state
specificGibbsEnergyReturn specific Gibbs energy from the thermodynamic state
specificHelmholtzEnergyReturn specific Helmholtz energy from the thermodynamic state
velocityOfSoundReturn velocity of sound from the thermodynamic state
isentropicExponentReturn isentropic exponent from the thermodynamic state
isentropicEnthalpyReturn isentropic enthalpy
specificHeatCapacityCpReturn specific heat capacity at constant volume
specificHeatCapacityCvReturn specific heat capacity at constant volume from the thermodynamic state
isothermalCompressibilityReturn the isothermal compressibility kappa
isobaricExpansionCoefficientReturn the isobaric expansion coefficient
density_derp_hReturn density derivative w.r.t. pressure at const specific enthalpy
density_derh_pReturn density derivative w.r.t. specific enthalpy at constant pressure
density_derp_TReturn density derivative w.r.t. pressure at const temperature
density_derT_pReturn density derivative w.r.t. temperature at constant pressure
density_derXReturns the partial derivative of density with respect to mass fractions at constant pressure and temperature
molarMassReturn molar mass
T_phReturn temperature from pressure and specific enthalpy
T_psReturn temperature from pressure and specific entropy

Generated at 2023-09-21T00:33:23Z by OpenModelicaOpenModelica 1.22.0~dev-51-ge506fbc using GenerateDoc.mos