Partial medium properties (base package of all media packages)
PartialMedium is a package and contains all declarations for a medium. This means that constants, models, and functions are defined that every medium is supposed to support (some of them are optional). A medium package inherits from PartialMedium and provides the equations for the medium. The details of this package are described in Modelica.Media.UsersGuide.
Extends from Modelica.Media.Interfaces.Types (Types to be used in fluid models), Modelica.Icons.MaterialPropertiesPackage (Icon for package containing property classes).
| Name | Description |
|---|---|
| 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) |
| 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 | |
| Minimal variable set that is available as input argument to every medium function | |
| Base properties (p, d, T, h, u, R, MM and, if applicable, X and Xi) of a medium | |
| Return thermodynamic state as function of p, T and composition X or Xi | |
| Return thermodynamic state as function of p, h and composition X or Xi | |
| Return thermodynamic state as function of p, s and composition X or Xi | |
| Return thermodynamic state as function of d, T and composition X or Xi | |
| Return thermodynamic state so that it smoothly approximates: if x > 0 then state_a else state_b | |
| Return dynamic viscosity | |
| Return thermal conductivity | |
| Return the Prandtl number | |
| Return pressure | |
| Return temperature | |
| Return density | |
| Return specific enthalpy | |
| Return specific internal energy | |
| Return specific entropy | |
| Return specific Gibbs energy | |
| Return specific Helmholtz energy | |
| Return specific heat capacity at constant pressure | |
| Alias for deprecated name | |
| Return specific heat capacity at constant volume | |
| Alias for deprecated name | |
| Return isentropic exponent | |
| Return isentropic enthalpy | |
| Return velocity of sound | |
| Return overall the isobaric expansion coefficient beta | |
| Alias for isobaricExpansionCoefficient for user convenience | |
| Return overall the isothermal compressibility factor | |
| Alias of isothermalCompressibility for user convenience | |
| 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 | |
| Return density derivative w.r.t. mass fraction | |
| Return the molar mass of the medium | |
| 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 | |
| Inherited | |
| 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.PartialMedium.FluidConstantsCritical, triple, molecular and other standard data of fluid
Modelica.Media.Interfaces.PartialMedium.ThermodynamicStateMinimal variable set that is available as input argument to every medium function
Extends from Modelica.Icons.Record (Icon for records).
Modelica.Media.Interfaces.PartialMedium.BasePropertiesBase properties (p, d, T, h, u, R, MM and, if applicable, X and Xi) of a medium
Model BaseProperties is a model within package PartialMedium and contains the declarations of the minimum number of variables that every medium model is supposed to support. A specific medium inherits from model BaseProperties and provides the equations for the basic properties.
The BaseProperties model contains the following 7+nXi variables (nXi is the number of independent mass fractions defined in package PartialMedium):
| Variable | Unit | Description |
| T | K | temperature |
| p | Pa | absolute pressure |
| d | kg/m3 | density |
| h | J/kg | specific enthalpy |
| u | J/kg | specific internal energy |
| Xi[nXi] | kg/kg | independent mass fractions m_i/m |
| R | J/kg.K | gas constant |
| M | kg/mol | molar mass |
In order to implement an actual medium model, one can extend from this base model and add 5 equations that provide relations among these variables. Equations will also have to be added in order to set all the variables within the ThermodynamicState record state.
If standardOrderComponents=true, the full composition vector X[nX] is determined by the equations contained in this base class, depending on the independent mass fraction vector Xi[nXi].
Additional 2 + nXi equations will have to be provided when using the BaseProperties model, in order to fully specify the thermodynamic conditions. The input connector qualifier applied to p, h, and nXi indirectly declares the number of missing equations, permitting advanced equation balance checking by Modelica tools. Please note that this doesn't mean that the additional equations should be connection equations, nor that exactly those variables should be supplied, in order to complete the model. For further information, see the Modelica.Media User's guide, and Section 4.7 (Balanced Models) of the Modelica 3.0 specification.
| Name | Description |
|---|---|
| standardOrderComponents | If true, and reducedX = true, the last element of X will be computed from the other ones |
| Advanced | |
| preferredMediumStates | = true if StateSelect.prefer shall be used for the independent property variables of the medium |
Modelica.Media.Interfaces.PartialMedium.setState_pTXReturn thermodynamic state as function of p, T and composition X or Xi
Extends from Modelica.Icons.Function (Icon for functions).
| Name | Description |
|---|---|
| p | Pressure [Pa] |
| T | Temperature [K] |
| X[:] | Mass fractions [kg/kg] |
| Name | Description |
|---|---|
| state | Thermodynamic state record |
Modelica.Media.Interfaces.PartialMedium.setState_phXReturn thermodynamic state as function of p, h and composition X or Xi
Extends from Modelica.Icons.Function (Icon for functions).
| Name | Description |
|---|---|
| p | Pressure [Pa] |
| h | Specific enthalpy [J/kg] |
| X[:] | Mass fractions [kg/kg] |
| Name | Description |
|---|---|
| state | Thermodynamic state record |
Modelica.Media.Interfaces.PartialMedium.setState_psXReturn thermodynamic state as function of p, s and composition X or Xi
Extends from Modelica.Icons.Function (Icon for functions).
| 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.PartialMedium.setState_dTXReturn thermodynamic state as function of d, T and composition X or Xi
Extends from Modelica.Icons.Function (Icon for functions).
| Name | Description |
|---|---|
| d | Density [kg/m3] |
| T | Temperature [K] |
| X[:] | Mass fractions [kg/kg] |
| Name | Description |
|---|---|
| state | Thermodynamic state record |
Modelica.Media.Interfaces.PartialMedium.setSmoothStateReturn thermodynamic state so that it smoothly approximates: if x > 0 then state_a else state_b
This function is used to approximate the equation
state = if x > 0 then state_a else state_b;
by a smooth characteristic, so that the expression is continuous and differentiable:
state := smooth(1, if x > x_small then state_a else
if x < -x_small then state_b else f(state_a, state_b));
This is performed by applying function Media.Common.smoothStep(..) on every element of the thermodynamic state record.
If mass fractions X[:] are approximated with this function then this can be performed for all nX mass fractions, instead of applying it for nX-1 mass fractions and computing the last one by the mass fraction constraint sum(X)=1. The reason is that the approximating function has the property that sum(state.X) = 1, provided sum(state_a.X) = sum(state_b.X) = 1. This can be shown by evaluating the approximating function in the abs(x) < x_small region (otherwise state.X is either state_a.X or state_b.X):
X[1] = smoothStep(x, X_a[1] , X_b[1] , x_small);
X[2] = smoothStep(x, X_a[2] , X_b[2] , x_small);
...
X[nX] = smoothStep(x, X_a[nX], X_b[nX], x_small);
or
X[1] = c*(X_a[1] - X_b[1]) + (X_a[1] + X_b[1])/2
X[2] = c*(X_a[2] - X_b[2]) + (X_a[2] + X_b[2])/2;
...
X[nX] = c*(X_a[nX] - X_b[nX]) + (X_a[nX] + X_b[nX])/2;
c = (x/x_small)*((x/x_small)^2 - 3)/4
Summing all mass fractions together results in
sum(X) = c*(sum(X_a) - sum(X_b)) + (sum(X_a) + sum(X_b))/2
= c*(1 - 1) + (1 + 1)/2
= 1
Extends from Modelica.Icons.Function (Icon for functions).
| 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.PartialMedium.dynamicViscosityReturn dynamic viscosity
Extends from Modelica.Icons.Function (Icon for functions).
| Name | Description |
|---|---|
| state | Thermodynamic state record |
| Name | Description |
|---|---|
| eta | Dynamic viscosity [Pa.s] |
Modelica.Media.Interfaces.PartialMedium.thermalConductivityReturn thermal conductivity
Extends from Modelica.Icons.Function (Icon for functions).
| Name | Description |
|---|---|
| state | Thermodynamic state record |
| Name | Description |
|---|---|
| lambda | Thermal conductivity [W/(m.K)] |
Modelica.Media.Interfaces.PartialMedium.prandtlNumberReturn the Prandtl number
Extends from Modelica.Icons.Function (Icon for functions).
| Name | Description |
|---|---|
| state | Thermodynamic state record |
| Name | Description |
|---|---|
| Pr | Prandtl number [1] |
Modelica.Media.Interfaces.PartialMedium.pressureReturn pressure
Extends from Modelica.Icons.Function (Icon for functions).
| Name | Description |
|---|---|
| state | Thermodynamic state record |
| Name | Description |
|---|---|
| p | Pressure [Pa] |
Modelica.Media.Interfaces.PartialMedium.temperatureReturn temperature
Extends from Modelica.Icons.Function (Icon for functions).
| Name | Description |
|---|---|
| state | Thermodynamic state record |
| Name | Description |
|---|---|
| T | Temperature [K] |
Modelica.Media.Interfaces.PartialMedium.densityReturn density
Extends from Modelica.Icons.Function (Icon for functions).
| Name | Description |
|---|---|
| state | Thermodynamic state record |
| Name | Description |
|---|---|
| d | Density [kg/m3] |
Modelica.Media.Interfaces.PartialMedium.specificEnthalpyReturn specific enthalpy
Extends from Modelica.Icons.Function (Icon for functions).
| Name | Description |
|---|---|
| state | Thermodynamic state record |
| Name | Description |
|---|---|
| h | Specific enthalpy [J/kg] |
Modelica.Media.Interfaces.PartialMedium.specificInternalEnergyReturn specific internal energy
Extends from Modelica.Icons.Function (Icon for functions).
| Name | Description |
|---|---|
| state | Thermodynamic state record |
| Name | Description |
|---|---|
| u | Specific internal energy [J/kg] |
Modelica.Media.Interfaces.PartialMedium.specificEntropyReturn specific entropy
Extends from Modelica.Icons.Function (Icon for functions).
| Name | Description |
|---|---|
| state | Thermodynamic state record |
| Name | Description |
|---|---|
| s | Specific entropy [J/(kg.K)] |
Modelica.Media.Interfaces.PartialMedium.specificGibbsEnergyReturn specific Gibbs energy
Extends from Modelica.Icons.Function (Icon for functions).
| Name | Description |
|---|---|
| state | Thermodynamic state record |
| Name | Description |
|---|---|
| g | Specific Gibbs energy [J/kg] |
Modelica.Media.Interfaces.PartialMedium.specificHelmholtzEnergyReturn specific Helmholtz energy
Extends from Modelica.Icons.Function (Icon for functions).
| Name | Description |
|---|---|
| state | Thermodynamic state record |
| Name | Description |
|---|---|
| f | Specific Helmholtz energy [J/kg] |
Modelica.Media.Interfaces.PartialMedium.specificHeatCapacityCpReturn specific heat capacity at constant pressure
Extends from Modelica.Icons.Function (Icon for functions).
| Name | Description |
|---|---|
| state | Thermodynamic state record |
| Name | Description |
|---|---|
| cp | Specific heat capacity at constant pressure [J/(kg.K)] |
Modelica.Media.Interfaces.PartialMedium.heatCapacity_cpAlias for deprecated name
| Name | Description |
|---|---|
| state | Thermodynamic state record |
| Name | Description |
|---|---|
| cp | Specific heat capacity at constant pressure [J/(kg.K)] |
Modelica.Media.Interfaces.PartialMedium.specificHeatCapacityCvReturn specific heat capacity at constant volume
Extends from Modelica.Icons.Function (Icon for functions).
| Name | Description |
|---|---|
| state | Thermodynamic state record |
| Name | Description |
|---|---|
| cv | Specific heat capacity at constant volume [J/(kg.K)] |
Modelica.Media.Interfaces.PartialMedium.heatCapacity_cvAlias for deprecated name
| Name | Description |
|---|---|
| state | Thermodynamic state record |
| Name | Description |
|---|---|
| cv | Specific heat capacity at constant volume [J/(kg.K)] |
Modelica.Media.Interfaces.PartialMedium.isentropicExponentReturn isentropic exponent
Extends from Modelica.Icons.Function (Icon for functions).
| Name | Description |
|---|---|
| state | Thermodynamic state record |
| Name | Description |
|---|---|
| gamma | Isentropic exponent [1] |
Modelica.Media.Interfaces.PartialMedium.isentropicEnthalpyReturn isentropic enthalpy
This function computes an isentropic state transformation:
Extends from Modelica.Icons.Function (Icon for functions).
| Name | Description |
|---|---|
| p_downstream | Downstream pressure [Pa] |
| refState | Reference state for entropy |
| Name | Description |
|---|---|
| h_is | Isentropic enthalpy [J/kg] |
Modelica.Media.Interfaces.PartialMedium.velocityOfSoundReturn velocity of sound
Extends from Modelica.Icons.Function (Icon for functions).
| Name | Description |
|---|---|
| state | Thermodynamic state record |
| Name | Description |
|---|---|
| a | Velocity of sound [m/s] |
Modelica.Media.Interfaces.PartialMedium.isobaricExpansionCoefficientReturn overall the isobaric expansion coefficient beta
beta is defined as 1/v * der(v,T), with v = 1/d, at constant pressure p.
Extends from Modelica.Icons.Function (Icon for functions).
| Name | Description |
|---|---|
| state | Thermodynamic state record |
| Name | Description |
|---|---|
| beta | Isobaric expansion coefficient [1/K] |
Modelica.Media.Interfaces.PartialMedium.betaAlias for isobaricExpansionCoefficient for user convenience
| Name | Description |
|---|---|
| state | Thermodynamic state record |
| Name | Description |
|---|---|
| beta | Isobaric expansion coefficient [1/K] |
Modelica.Media.Interfaces.PartialMedium.isothermalCompressibilityReturn overall the isothermal compressibility factor
kappa is defined as - 1/v * der(v,p), with v = 1/d at constant temperature T.
Extends from Modelica.Icons.Function (Icon for functions).
| Name | Description |
|---|---|
| state | Thermodynamic state record |
| Name | Description |
|---|---|
| kappa | Isothermal compressibility [1/Pa] |
Modelica.Media.Interfaces.PartialMedium.kappaAlias of isothermalCompressibility for user convenience
| Name | Description |
|---|---|
| state | Thermodynamic state record |
| Name | Description |
|---|---|
| kappa | Isothermal compressibility [1/Pa] |
Modelica.Media.Interfaces.PartialMedium.density_derp_hReturn density derivative w.r.t. pressure at const specific enthalpy
Extends from Modelica.Icons.Function (Icon for functions).
| Name | Description |
|---|---|
| state | Thermodynamic state record |
| Name | Description |
|---|---|
| ddph | Density derivative w.r.t. pressure [s2/m2] |
Modelica.Media.Interfaces.PartialMedium.density_derh_pReturn density derivative w.r.t. specific enthalpy at constant pressure
Extends from Modelica.Icons.Function (Icon for functions).
| Name | Description |
|---|---|
| state | Thermodynamic state record |
| Name | Description |
|---|---|
| ddhp | Density derivative w.r.t. specific enthalpy [kg.s2/m5] |
Modelica.Media.Interfaces.PartialMedium.density_derp_TReturn density derivative w.r.t. pressure at const temperature
Extends from Modelica.Icons.Function (Icon for functions).
| Name | Description |
|---|---|
| state | Thermodynamic state record |
| Name | Description |
|---|---|
| ddpT | Density derivative w.r.t. pressure [s2/m2] |
Modelica.Media.Interfaces.PartialMedium.density_derT_pReturn density derivative w.r.t. temperature at constant pressure
Extends from Modelica.Icons.Function (Icon for functions).
| Name | Description |
|---|---|
| state | Thermodynamic state record |
| Name | Description |
|---|---|
| ddTp | Density derivative w.r.t. temperature [kg/(m3.K)] |
Modelica.Media.Interfaces.PartialMedium.density_derXReturn density derivative w.r.t. mass fraction
Extends from Modelica.Icons.Function (Icon for functions).
| Name | Description |
|---|---|
| state | Thermodynamic state record |
| Name | Description |
|---|---|
| dddX[nX] | Derivative of density w.r.t. mass fraction [kg/m3] |
Modelica.Media.Interfaces.PartialMedium.molarMassReturn the molar mass of the medium
Extends from Modelica.Icons.Function (Icon for functions).
| Name | Description |
|---|---|
| state | Thermodynamic state record |
| Name | Description |
|---|---|
| MM | Mixture molar mass [kg/mol] |
Modelica.Media.Interfaces.PartialMedium.specificEnthalpy_pTXReturn specific enthalpy from p, T, and X or Xi
Extends from Modelica.Icons.Function (Icon for functions).
| Name | Description |
|---|---|
| p | Pressure [Pa] |
| T | Temperature [K] |
| X[:] | Mass fractions [kg/kg] |
| Name | Description |
|---|---|
| h | Specific enthalpy [J/kg] |
Modelica.Media.Interfaces.PartialMedium.specificEntropy_pTXReturn specific enthalpy from p, T, and X or Xi
Extends from Modelica.Icons.Function (Icon for functions).
| Name | Description |
|---|---|
| p | Pressure [Pa] |
| T | Temperature [K] |
| X[:] | Mass fractions [kg/kg] |
| Name | Description |
|---|---|
| s | Specific entropy [J/(kg.K)] |
Modelica.Media.Interfaces.PartialMedium.density_pTXReturn density from p, T, and X or Xi
Extends from Modelica.Icons.Function (Icon for functions).
| Name | Description |
|---|---|
| p | Pressure [Pa] |
| T | Temperature [K] |
| X[:] | Mass fractions [kg/kg] |
| Name | Description |
|---|---|
| d | Density [kg/m3] |
Modelica.Media.Interfaces.PartialMedium.temperature_phXReturn temperature from p, h, and X or Xi
Extends from Modelica.Icons.Function (Icon for functions).
| Name | Description |
|---|---|
| p | Pressure [Pa] |
| h | Specific enthalpy [J/kg] |
| X[:] | Mass fractions [kg/kg] |
| Name | Description |
|---|---|
| T | Temperature [K] |
Modelica.Media.Interfaces.PartialMedium.density_phXReturn density from p, h, and X or Xi
Extends from Modelica.Icons.Function (Icon for functions).
| Name | Description |
|---|---|
| p | Pressure [Pa] |
| h | Specific enthalpy [J/kg] |
| X[:] | Mass fractions [kg/kg] |
| Name | Description |
|---|---|
| d | Density [kg/m3] |
Modelica.Media.Interfaces.PartialMedium.temperature_psXReturn temperature from p,s, and X or Xi
Extends from Modelica.Icons.Function (Icon for functions).
| Name | Description |
|---|---|
| p | Pressure [Pa] |
| s | Specific entropy [J/(kg.K)] |
| X[:] | Mass fractions [kg/kg] |
| Name | Description |
|---|---|
| T | Temperature [K] |
Modelica.Media.Interfaces.PartialMedium.density_psXReturn density from p, s, and X or Xi
Extends from Modelica.Icons.Function (Icon for functions).
| Name | Description |
|---|---|
| p | Pressure [Pa] |
| s | Specific entropy [J/(kg.K)] |
| X[:] | Mass fractions [kg/kg] |
| Name | Description |
|---|---|
| d | Density [kg/m3] |
Modelica.Media.Interfaces.PartialMedium.specificEnthalpy_psXReturn specific enthalpy from p, s, and X or Xi
Extends from Modelica.Icons.Function (Icon for functions).
| Name | Description |
|---|---|
| p | Pressure [Pa] |
| s | Specific entropy [J/(kg.K)] |
| X[:] | Mass fractions [kg/kg] |
| Name | Description |
|---|---|
| h | Specific enthalpy [J/kg] |
Type for mass flow rate with medium specific attributes
| Name | Value |
|---|---|
| Custom Parameters | |
| quantity | "MassFlowRate." + mediumName |
| min | -1.0e5 |
| max | 1.e5 |