Medium model of an ideal gas based on NASA source
This model calculates medium properties for an ideal gas of a single substance, or for an ideal gas consisting of several substances where the mass fractions are fixed. Independent variables are temperature T and pressure p. Only density is a function of T and p. All other quantities are solely a function of T. The properties are valid in the range:
200 K ≤ T ≤ 6000 K
The following quantities are always computed:
Variable | Unit | Description |
h | J/kg | specific enthalpy h = h(T) |
u | J/kg | specific internal energy u = u(T) |
d | kg/m^3 | density d = d(p,T) |
For the other variables, see the functions in Modelica.Media.IdealGases.Common.SingleGasNasa. Note, dynamic viscosity and thermal conductivity are only provided for gases that use a data record from Modelica.Media.IdealGases.FluidData. Currently these are the following gases:
Ar C2H2_vinylidene C2H4 C2H5OH C2H6 C3H6_propylene C3H7OH C3H8 C4H8_1_butene C4H9OH C4H10_n_butane C5H10_1_pentene C5H12_n_pentane C6H6 C6H12_1_hexene C6H14_n_heptane C7H14_1_heptene C8H10_ethylbenz CH3OH CH4 CL2 CO CO2 F2 H2 H2O He N2 N2O NH3 NO O2 SO2 SO3
Sources for model and literature:
Original Data: Computer program for calculation of complex chemical
equilibrium compositions and applications. Part 1: Analysis
Document ID: 19950013764 N (95N20180) File Series: NASA Technical Reports
Report Number: NASA-RP-1311 E-8017 NAS 1.61:1311
Authors: Gordon, Sanford (NASA Lewis Research Center)
Mcbride, Bonnie J. (NASA Lewis Research Center)
Published: Oct 01, 1994.
Known limits of validity: The data is valid for temperatures between 200K and 6000K. A few of the data sets for monatomic gases have a discontinuous 1st derivative at 1000K, but this never caused problems so far.
This model has been copied from the ThermoFluid library and adapted to the Modelica.Media package.
Extends from Interfaces.PartialPureSubstance (Base class for pure substances of one chemical substance).
Name | Description |
---|---|
ThermodynamicState | Thermodynamic state variables for ideal gases |
data | Data record of ideal gas substance |
fluidConstants | Constant data for the fluid |
BaseProperties | Base properties of ideal gas medium |
setState_pTX | Return thermodynamic state as function of p, T and composition X |
setState_phX | Return thermodynamic state as function of p, h and composition X |
setState_psX | Return thermodynamic state as function of p, s and composition X |
setState_dTX | Return thermodynamic state as function of d, T and composition X |
setSmoothState | Return thermodynamic state so that it smoothly approximates: if x > 0 then state_a else state_b |
pressure | Return pressure of ideal gas |
temperature | Return temperature of ideal gas |
density | Return density of ideal gas |
specificEnthalpy | Return specific enthalpy |
specificInternalEnergy | Return specific internal energy |
specificEntropy | Return specific entropy |
specificGibbsEnergy | Return specific Gibbs energy |
specificHelmholtzEnergy | Return specific Helmholtz energy |
specificHeatCapacityCp | Return specific heat capacity at constant pressure |
specificHeatCapacityCv | Compute specific heat capacity at constant volume from temperature and gas data |
isentropicExponent | Return isentropic exponent |
velocityOfSound | Return velocity of sound |
isentropicEnthalpyApproximation | Approximate method of calculating h_is from upstream properties and downstream pressure |
isentropicEnthalpy | Return isentropic enthalpy |
isobaricExpansionCoefficient | Returns overall the isobaric expansion coefficient beta |
isothermalCompressibility | Returns overall the isothermal compressibility factor |
density_derp_T | Returns the partial derivative of density with respect to pressure at constant temperature |
density_derT_p | Returns the partial derivative of density with respect to temperature at constant pressure |
density_derX | Returns the partial derivative of density with respect to mass fractions at constant pressure and temperature |
dynamicViscosity | Dynamic viscosity |
thermalConductivity | Thermal conductivity of gas |
molarMass | Return the molar mass of the medium |
T_h | Compute temperature from specific enthalpy |
T_ps | Compute temperature from pressure and specific entropy |
dynamicViscosityLowPressure | Dynamic viscosity of low pressure gases |
thermalConductivityEstimate | Thermal conductivity of polyatomic gases(Eucken and Modified Eucken correlation) |
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 |
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 |
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 |
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 |
Thermodynamic state variables for ideal gases
Extends from (Minimal variable set that is available as input argument to every medium function).
Base properties of ideal gas medium
Name | Description |
---|---|
Advanced | |
preferredMediumStates | = true if StateSelect.prefer shall be used for the independent property variables of the medium |
Return thermodynamic state as function of p, T and composition X
Extends from Modelica.Icons.Function (Icon for functions).
Name | Description |
---|---|
p | Pressure [Pa] |
T | Temperature [K] |
X[:] | Mass fractions [kg/kg] |
Name | Description |
---|---|
state |
Return thermodynamic state as function of p, h and composition X
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 |
Return thermodynamic state as function of p, s and composition X
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 |
Return thermodynamic state as function of d, T and composition X
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 |
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 pressure of ideal gas
Extends from (Return pressure).
Name | Description |
---|---|
state | Thermodynamic state record |
Name | Description |
---|---|
p | Pressure [Pa] |
Return temperature of ideal gas
Extends from (Return temperature).
Name | Description |
---|---|
state | Thermodynamic state record |
Name | Description |
---|---|
T | Temperature [K] |
Return density of ideal gas
Extends from (Return density).
Name | Description |
---|---|
state | Thermodynamic state record |
Name | Description |
---|---|
d | Density [kg/m3] |
Return specific enthalpy
Extends from Modelica.Icons.Function (Icon for functions), (Return specific enthalpy).
Name | Description |
---|---|
state | Thermodynamic state record |
Name | Description |
---|---|
h | Specific enthalpy [J/kg] |
Return specific internal energy
Extends from Modelica.Icons.Function (Icon for functions), (Return specific internal energy).
Name | Description |
---|---|
state | Thermodynamic state record |
Name | Description |
---|---|
u | Specific internal energy [J/kg] |
Return specific entropy
Extends from Modelica.Icons.Function (Icon for functions), (Return specific entropy).
Name | Description |
---|---|
state | Thermodynamic state record |
Name | Description |
---|---|
s | Specific entropy [J/(kg.K)] |
Return specific Gibbs energy
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
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 specific heat capacity at constant pressure
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)] |
Compute specific heat capacity at constant volume from temperature and gas data
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 isentropic exponent
Extends from (Return isentropic exponent).
Name | Description |
---|---|
state | Thermodynamic state record |
Name | Description |
---|---|
gamma | Isentropic exponent [1] |
Return velocity of sound
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] |
Approximate method of calculating h_is from upstream properties and downstream pressure
Extends from Modelica.Icons.Function (Icon for functions).
Name | Description |
---|---|
p2 | Downstream pressure [Pa] |
state | Properties at upstream location |
exclEnthForm | If true, enthalpy of formation Hf is not included in specific enthalpy h |
refChoice | Choice of reference enthalpy |
h_off | User defined offset for reference enthalpy, if referenceChoice = UserDefined [J/kg] |
Name | Description |
---|---|
h_is | Isentropic enthalpy [J/kg] |
Return isentropic enthalpy
Extends from (Return isentropic enthalpy).
Name | Description |
---|---|
p_downstream | Downstream pressure [Pa] |
refState | Reference state for entropy |
exclEnthForm | If true, enthalpy of formation Hf is not included in specific enthalpy h |
refChoice | Choice of reference enthalpy |
h_off | User defined offset for reference enthalpy, if referenceChoice = UserDefined [J/kg] |
Name | Description |
---|---|
h_is | Isentropic enthalpy [J/kg] |
Returns overall the isobaric expansion coefficient beta
Extends from (Return overall the isobaric expansion coefficient beta).
Name | Description |
---|---|
state | Thermodynamic state record |
Name | Description |
---|---|
beta | Isobaric expansion coefficient [1/K] |
Returns overall the isothermal compressibility factor
Extends from (Return overall the isothermal compressibility factor).
Name | Description |
---|---|
state | Thermodynamic state record |
Name | Description |
---|---|
kappa | Isothermal compressibility [1/Pa] |
Returns the partial derivative of density with respect to pressure at constant 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] |
Returns the partial derivative of density with respect to 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] |
Dynamic viscosity
Extends from (Return dynamic viscosity).
Name | Description |
---|---|
state | Thermodynamic state record |
Name | Description |
---|---|
eta | Dynamic viscosity [Pa.s] |
Thermal conductivity of gas
Extends from (Return thermal conductivity).
Name | Description |
---|---|
state | Thermodynamic state record |
method | 1: Eucken Method, 2: Modified Eucken Method |
Name | Description |
---|---|
lambda | Thermal conductivity [W/(m.K)] |
Return the molar mass of the medium
Extends from (Return the molar mass of the medium).
Name | Description |
---|---|
state | Thermodynamic state record |
Name | Description |
---|---|
MM | Mixture molar mass [kg/mol] |
Compute temperature from specific enthalpy
Extends from Modelica.Icons.Function (Icon for functions).
Name | Description |
---|---|
h | Specific enthalpy [J/kg] |
Name | Description |
---|---|
T | Temperature [K] |
Compute 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] |
Dynamic viscosity of low pressure gases
The used formula are based on the method of Chung et al (1984, 1988) referred to in ref [1] chapter 9. The formula 9-4.10 is the one being used. The Formula is given in non-SI units, the following conversion constants were used to transform the formula to SI units:
[1] Bruce E. Poling, John E. Prausnitz, John P. O'Connell, "The Properties of Gases and Liquids" 5th Ed. Mc Graw Hill.
T. Skoglund, Lund, Sweden, 2004-08-31
Extends from Modelica.Icons.Function (Icon for functions).
Name | Description |
---|---|
T | Gas temperature [K] |
Tc | Critical temperature of gas [K] |
M | Molar mass of gas [kg/mol] |
Vc | Critical molar volume of gas [m3/mol] |
w | Acentric factor of gas |
mu | Dipole moment of gas molecule [debye] |
k | Special correction for highly polar substances |
Name | Description |
---|---|
eta | Dynamic viscosity of gas [Pa.s] |
Thermal conductivity of polyatomic gases(Eucken and Modified Eucken correlation)
This function provides two similar methods for estimating the
thermal conductivity of polyatomic gases.
The Eucken method (input method == 1) gives good results for low temperatures,
but it tends to give an underestimated value of the thermal conductivity
(lambda) at higher temperatures.
The Modified Eucken method (input method == 2) gives good results for
high-temperatures, but it tends to give an overestimated value of the
thermal conductivity (lambda) at low temperatures.
Extends from Modelica.Icons.Function (Icon for functions).
Name | Description |
---|---|
Cp | Constant pressure heat capacity [J/(kg.K)] |
eta | Dynamic viscosity [Pa.s] |
method | 1: Eucken Method, 2: Modified Eucken Method |
data | Ideal gas data |
Name | Description |
---|---|
lambda | Thermal conductivity [W/(m.k)] [W/(m.K)] |