The correlations for transport properties are available in [McBride1996, McBride2002]. For more information, please see the Characteristic package.
Extends from Characteristic (Package of thermodynamic and diffusive properties).Name | Description |
---|---|
T_lim_eta_theta={0,Modelica.Constants.inf} | Temperature limits for the rows of bη and bθ (Tlim η θ) |
b_eta | Correlation constants for fluidity (bη) |
b_theta | Correlation constants for thermal resistivity (bθ) |
fromNASAViscosity | Return constants for fluidity given NASA CEA constants for viscosity |
fromNASAThermalConductivity | Return constants for thermal resistivity given NASA CEA constants for thermal conductivity |
eta | Fluidity (η) as a function of temperature |
theta | Thermal resistivity (θ) as a function of temperature |
Inherited | |
formula | Chemical formula |
phase | Material phase |
m | Specific mass |
d | Specific diameter |
z=charge(formula) | Charge number |
referenceEnthalpy=ReferenceEnthalpy.enthalpyOfFormationAt25degC | Choice of enthalpy reference |
Deltah0_f | Enthalpy of formation at 298.15 K, po (Δhof) |
Deltah0 | ho(298.15 K) - ho(0 K) (Δho) |
h_offset=0 | Additional enthalpy offset (hoffset) |
n_c=-2 | Power of T for 1st column of bc (nc) |
T_lim_c={0,Modelica.Constants.inf} | Temperature limits for the rows of bc and Bc (Tlim c) |
b_c | Coefficients of isobaric specific heat capacity at po as a polynomial in T (bc) |
B_c | Integration constants for specific enthalpy and entropy (Bc) |
alpha=1.5*U.pi^1.5*d^2*U.q | Scaled specific intercept area |
omega | Root mean square of thermal velocity in one dimension as a function of temperature (ω = √ T/m ) |
c_p | Isobaric specific heat capacity (cp) as a function of temperature and pressure |
c_v | Isochoric specific heat capacity (cv) as a function of temperature and pressure |
D | Diffusivity as a function of temperature and specific volume |
g | Gibbs potential as a function of temperature and pressure |
h | Specific enthalpy as a function of temperature and pressure |
s | Specific entropy as a function of temperature and pressure |
zeta | ** (ζ) as a function of temperature |
tauprime | Phase change interval (τ′) as a function of temperature and specific volume |
mu | Mobility (μ) as a function of temperature and specific volume |
nu | Thermal independity (ν) as a function of temperature and specific volume |
p0=U.bar | Reference pressure (po) |
n_v={-1,0} | Powers of p/T and T for 1st row and column of bv (nv) |
b_v=[1] | Coefficients for specific volume as a polynomial in p/T and T (bv) |
isCompressible=anyTrue({anyTrue({abs(b_v[i, j]) > Modelica.Constants.small and n_v[1] + i - 1 <> 0 for i in 1:size(b_v, 1)}) for j in 1:size(b_v, 2)}) | true , if density depends on pressure |
hasThermalExpansion=anyTrue({anyTrue({abs(b_v[i, j]) > Modelica.Constants.small and n_v[2] + j - n_v[1] - i <> 0 for i in 1:size(b_v, 1)}) for j in 1:size(b_v, 2)}) | true , if density depends on temperature |
n_p={n_v[1] - size(b_v, 1) + 1,n_v[2] + 1} | Powers of v and T for 1st row and column of bp |
b_p=if size(b_v, 1) == 1 then b_v .^ (-n_p[1]) else {(if n_v[1] + i == 0 or n_v[1] + i == 1 or size(b_v, 1) == 1 then b_v[i, :] else (if n_v[1] + i == 2 and n_v[1] <= 0 then b_v[i, :] + b_v[i - 1, :] .^ 2 else (if n_v[1] + i == 3 and n_v[1] <= 0 then b_v[i, :] + b_v[i - 2, :] .* (b_v[i - 2, :] .^ 2 + 3*b_v[i - 1, :]) else zeros(size(b_v, 2))))) for i in size(b_v, 1):-1:1} | Coefficients of p as a polynomial in v and T |
dp_Tv | Derivative of pressure as defined by pT v() |
dv_Tp | Derivative of specific volume as defined by vT p() |
p_Tv | Pressure as a function of temperature and specific volume (pT v()) |
v_Tp | Specific volume as a function of temperature and pressure (vT p()) |
beta | Isothermal compressibility as a function of temperature and pressure (β) |
constant Q.TemperatureAbsolute T_lim_eta_theta[:]={0,Modelica.Constants.inf} "Temperature limits for the rows of bη and bθ (Tlim η θ)";
constant Real b_eta[size(T_lim_eta_theta, 1) - 1, 4] "Correlation constants for fluidity (bη)";
constant Real b_theta[size(T_lim_eta_theta, 1) - 1, 4] "Correlation constants for thermal resistivity (bθ)";
Type | Name | Default | Description |
---|---|---|---|
Real | b[4] | NASA CEA constants for viscosity |
Type | Name | Description |
---|---|---|
Real | b_eta[4] | Constants for fluidity |
function fromNASAViscosity "Return constants for fluidity given NASA CEA constants for viscosity" extends Modelica.Icons.Function; input Real b[4] "NASA CEA constants for viscosity"; output Real b_eta[4] "Constants for fluidity"; algorithm b_eta := {-b[1],-b[2]*U.K,-b[3]*U.K^2,-b[4] + b[1]*log(U.K) + log(1e4*U.m*U.s/ U.g)}; end fromNASAViscosity;
Type | Name | Default | Description |
---|---|---|---|
Real | b[4] | NASA CEA constants for thermal conductivity |
Type | Name | Description |
---|---|---|
Real | b_theta[4] | Constants for thermal resistivity |
function fromNASAThermalConductivity "Return constants for thermal resistivity given NASA CEA constants for thermal conductivity" extends Modelica.Icons.Function; input Real b[4] "NASA CEA constants for thermal conductivity"; output Real b_theta[4] "Constants for thermal resistivity"; algorithm b_theta := {-b[1],-b[2]*U.K,-b[3]*U.K^2,-b[4] + b[1]*log(U.K) + log(1e4*U.m*U.K /U.W)}; end fromNASAThermalConductivity;
This function is based on based on NASA CEA [McBride1996, Svehla1995]
Although specific volume is an input to this function, the result is independent of specific volume.
Extends from Modelica.Icons.Function (Icon for functions).
Type | Name | Default | Description |
---|---|---|---|
TemperatureAbsolute | T | 298.15*U.K | Temperature [L2.M/(N.T2)] |
VolumeSpecific | v | 298.15*U.K/U.atm | Specific volume [L3/N] |
Type | Name | Description |
---|---|---|
Resistivity | eta | Fluidity [L.T/N] |
redeclare function eta "Fluidity (η) as a function of temperature" extends Modelica.Icons.Function; input Q.TemperatureAbsolute T=298.15*U.K "Temperature"; input Q.VolumeSpecific v=298.15*U.K/U.atm "Specific volume"; // Note: Specific volume isn't used here but is included for generality. output Q.Resistivity eta "Fluidity"; algorithm /* assert(T_lim_eta_theta[1] <= T and T <= T_lim_eta_theta[end], "Temperature " + String(T/(U.K)) + " K is out of range for the resistivities ([" + String(T_lim_eta_theta[1]/U.K) + ", " + String(T_lim_eta_theta[end] /U.K) + "] K)."); */ // Note: This is commented out so that the function can be inlined. eta := smooth(0, exp(sum(if (T_lim_eta_theta[i] <= T or i == 1) and (T < T_lim_eta_theta[i + 1] or i == size(T_lim_eta_theta, 1) - 1) then b_eta[i, 1] *log(T) + (b_eta[i, 2] + b_eta[i, 3]/T)/T + b_eta[i, 4] else 0 for i in 1: size(T_lim_eta_theta, 1) - 1))); end eta;
This function is based on based on NASA CEA [McBride1996, Svehla1995]
Although specific volume is an input to this function, the result is independent of specific volume.
Extends from Modelica.Icons.Function (Icon for functions).
Type | Name | Default | Description |
---|---|---|---|
TemperatureAbsolute | T | 298.15*U.K | Temperature [L2.M/(N.T2)] |
VolumeSpecific | v | 298.15*U.K/U.atm | Specific volume [L3/N] |
Type | Name | Description |
---|---|---|
ResistivityThermal | theta | Thermal resistivity [L.T/N] |
redeclare function theta "Thermal resistivity (θ) as a function of temperature" extends Modelica.Icons.Function; input Q.TemperatureAbsolute T=298.15*U.K "Temperature"; input Q.VolumeSpecific v=298.15*U.K/U.atm "Specific volume"; // Note: Specific volume isn't used here but is included for generality. output Q.ResistivityThermal theta "Thermal resistivity"; algorithm /* assert(T_lim_eta_theta[1] <= T and T <= T_lim_eta_theta[end], "Temperature " + String(T/(U.K)) + " K is out of range for the resistivities ([" + String(T_lim_eta_theta[1]/U.K) + ", " + String(T_lim_eta_theta[end] /U.K) + "] K)."); */ // Note: This is commented out so that the function can be inlined. theta := smooth(0, exp(sum(if (T_lim_eta_theta[i] <= T or i == 1) and (T < T_lim_eta_theta[i + 1] or i == size(T_lim_eta_theta, 1) - 1) then b_theta[i, 1]*log(T) + (b_theta[i, 2] + b_theta[i, 3]/T)/T + b_theta[i, 4] else 0 for i in 1:size(T_lim_eta_theta, 1) - 1))); end theta;