Appendix: Transport Properties

Transport properties are required for viscous flow simulations. These include both the laminar transport properties due purely to molecular motion as well as the turbulent transport properties due to the turbulent motions of a flow.

The run control file variables for specifying transport properties are the transport_model and the diffusion_model variables.

Where The Gas Transport Properties Come From

For multi-species gas simulations, Stream uses a two-stage model:

  1. Pure-species property models: \(\mu_i(T)\), \(k_i(T)\), and binary diffusion terms (\(D_{ij}\) or \(p_{ref}D_{ij}\)) are supplied from a database file format.

  2. Mixture rules: Stream combines these pure-species values at runtime using mixture rules to obtain mixture viscosity, conductivity, and species diffusion.

At a high level:

  • transport_model: chemkin + diffusion_model: chemkin uses a single .tran file containing polynomial coefficient blocks.

  • transport_model: transportDB + diffusion_model: transportDB uses per-species table-fit files in transport/: *_vis.dat, *_con.dat, *_dif.dat.

Conceptually, both paths provide the same physics categories (pure-species transport + mixture rules), but in different file layouts.

The mixture-rule stage can be viewed as:

  • viscosity: modified Wilke-style mixing from pure-species \(\mu_i(T)\) and composition

  • conductivity: average of arithmetic and harmonic composition-weighted means of \(k_i(T)\)

  • diffusion: mixture-averaged \(D_i\) from pairwise coefficients \(D_{ij}(T)\)

In compact form, Stream uses the following patterns for gas mixtures:

\[\mu \sim \sum_i \frac{x_i\mu_i}{\sum_j x_j\phi_{ij}}\]
\[k = \frac{1}{2}\left(\sum_i x_i k_i + \frac{1}{\sum_i x_i/k_i}\right)\]
\[D_i \sim \frac{\sum_{j\neq i} x_j W_j}{P\,W_{mix}\sum_{j\neq i} x_j/D_{ij}}\]

where \(x_i\) are mole fractions and \(W_i\) are molecular weights.

What Is In A .tran File?

The CHEMKIN-format transport file used by Stream stores:

  • species_count and species name list

  • number_order (polynomial order)

  • patmos (reference pressure)

  • molecular weights

  • polynomial coefficient blocks for: - conductivity - viscosity - binary diffusion

The coefficients are evaluated as polynomials in \(\ln(T)\) for the logarithm of each property. In other words, each property is represented as:

\[\ln(\phi) = a_0 + a_1\ln(T) + a_2\ln(T)^2 + \dots\]

where \(\phi\) is a transport property for a given species (or species pair for diffusion). For CHEMKIN transport usage in Stream, these fits are interpreted in CHEMKIN-style units and converted internally to solver units.

What Is In *_vis.dat, *_con.dat, And *_dif.dat?

The transportDB format uses tabulated cubic-fit files:

  • *_vis.dat: one file per species for pure-species viscosity \(\mu_i(T)\).

  • *_con.dat: one file per species for pure-species conductivity \(k_i(T)\).

  • *_dif.dat: one file per species (for species index \(k>0\)) containing diffusion fits against all species in the model.

Each individual fit function is stored as:

  • first line: T0  dT  nIntervals

  • next nIntervals+1 values: nodal values at uniform temperature intervals

  • next nIntervals pairs: cubic segment coefficients

So *_vis.dat and *_con.dat each contain one fit function, while *_dif.dat contains a header (species_count + species names) followed by multiple fit functions (one for each species pair entry needed by the reader). These transportDB files are consumed directly as tabulated SI-property fits by the transport database model.

How Do I Make These Files For A Simulation?

Use one of the following workflows.

  1. CHEMKIN transport workflow (single .tran file): Required inputs: chem.inp, therm.dat, tran.dat. Command: chemkin-converter --casename case --chemkin. Output: case.mdl and case.tran. Use with: transport_model: chemkin and diffusion_model: chemkin.

  2. transportDB table workflow from CHEMKIN conversion: Required inputs: same as above. Command: chemkin-converter --casename case --chemkin --transport_tables. Output: transport/*_vis.dat and transport/*_con.dat. Note: this path does not automatically create *_dif.dat.

  3. transportDB table workflow directly from Cantera YAML: Required input: Cantera mechanism (for example chem.yaml). Command: cantera_to_transport chem.yaml. Output: complete transport/ folder including *_vis.dat, *_con.dat, and *_dif.dat.

  4. Species-list only workflow (no reaction mechanism file): Required inputs: species_subset.txt and a source Stream-format .tran file (for example $CHEMISTRY_DATABASE/data_base/chemkin/air_5s17r.tran). Optional input: source .mdl file to inherit species definitions. Command: chemkin-converter --casename case --species_only --species_subset species_subset.txt --source_tran source.tran [--source_mdl source.mdl]. Output: case.mdl with empty reactions and a subset case.tran.

For creating/maintaining the chemistry model file (.mdl), see Appendix: Thermodynamic Data.

A high-level summary of the available options for the transport_model variable is given below:

Transport Model Options

Option

Description

none or module

no transport model applied.

sutherland

Sutherland’s law (with default properties for air).

powerLaw

A Power law dependence on temperature.

const_viscosity

Constant viscosity and thermal conductivity.

chemkin

Use a CHEMKIN formatted transport file (.tran) for multi-component flow viscosity and thermal conductivity properties.

transportDB

Use a set of data files that have curve fits of viscosity, thermal conductivity, and diffusion coefficients (*_con.dat, *_vis.dat, *_dif.dat)

database

Species p,T database using Wilke’s mixture rule.

tabularEoS

Use a database of files that contain a tabular fit of transport data from the tabularEoS module.

A high-level summary of the available options for the diffusion_model variable is given below:

Diffusion Model Options

Option

Description

const_diffusivity

Constant diffusivity.

chemkin

Use a CHEMKIN formatted transport file (.tran) for multi-component flow diffusion coefficient properties.

laminarSchmidt

Diffusivity based on viscosity and a specified Schmidt number.

unityLewisNumber

Use the unity Lewis number assumption for computing the diffusion coefficient.

transportDB

Use a database of files that contain a tabular fit of transport data from the tabularEoS module.

default

Selects the diffusion model based on the transport model: chemkin when Chemkin is selected for transport_model, or laminarSchmidt otherwise.

The following sections go into more detail on the available options for the different specification types of transport properties.

Laminar Transport Properties

Laminar transport properties include the laminar viscosity, the thermal conductivity, and the mass diffusivity for each of the species for multi-species simulations. The run control file variable transport_model is used to specify the form of transport properties desired. One must always include transport_model in the run control file because there is no default value. Based on the value of this variable, other auxiliary variables may also be used. Several methods of specification are possible, as detailed in the following sub-sections.

Inviscid Flow

Inviscid flow is activated by setting the value of transport_model to none.

transport_model: none

No other transport property variables are required with this specification.

Constant Properties

Constant transport properties for viscous flow simulations can be specified in the run control file.

Constant transport property specification
transport_model: none
mu: 1.0e-04
kcond: 0.1

The variable mu is used to set the laminar dynamic viscosity value (units \(\frac{N \cdot s}{m^{2}}\)). This variable has no default value and must be included in the run control file. The variable kcond is required only for compressible flows and is used to set the thermal conductivity value (units \(\frac{W}{m \cdot K}\)). This is also a required variable as there is no default value. For multi-species simulations with constant laminar viscosity and thermal conductivity, one should specify the laminar mass diffusivity using the laminar Schmidt number as follows:

laminarSchmidtNumber: 0.9

This variable need not be present in the run control file if the default value of 1.0 is desired.

Power Law Model

An option for specifying the viscosity and thermal conductivity variation with a power law dependence on temperature is available. The power law model is a simple model that is defined by the following relation.

\[\mu = \mu_{ref} \left( \frac{T}{T_{ref}} \right)^{n}\]

The required run control file variables for the power law model are as follows:

Power Law Options

Variable

Description

T_ref

Reference temperature

power

The exponent in the power law model

mu_ref

Reference viscosity

Power law transport properties for viscous flow simulations can be specified in the run control file as follows.

Power law transport property specification
powerLawParam: <mu_ref=1.8e-5, T_ref=300, power=0.7>

Turbulent Transport Properties

The turbulent dynamic viscosity is computed directly from the turbulence models. Turbulent thermal conductivity and mass diffusivity are computed using turbulent Prandtl and Schmidt numbers, respectively. The default values are shown below along with the way to specify the variables in the run control file.

Default turbulent transport property values
turbulentPrandtlNumber: 0.7
turbulentSchmidtNumber: 0.95

These variables need not be present in the run control file if the default values are desired.

Multi-Species CHEMKIN Transport Properties

For multi-species simulations, a more detailed specification of the transport properties is required. A thermodynamic model file (.mdl) file is required and a dataset containing transport properties is required. The methods for generation of the thermodynamic model file as well as some of the transport properties databases is outlined here.

CHEMKIN Transport Properties

Specifying the chemkin option for the transport_model or diffusion_model run control file variables will result in transport property data being obtained from a CHEMKIN formatted transport file (called *.tran). The method for generating the CHEMKIN transport .tran file is outlined here.

Curve Fit Transport Properties

Specifying the transportDB option for the transport_model or diffusion_model run control file variables will result in transport property data being obtained from a set of data files that have curve fits of viscosity, thermal conductivity, and diffusion coefficients (*_con.dat, *_vis.dat, *_dif.dat). These files are expected to be in the same directory as the run control file, and located in a folder named transport. The method for generating the curve fit transport data files is outlined here , specifically the section regarding the --transport_tables flag passed to the chemkin-converter utility.

Direct Cantera YAML to transportDB Tables

For users who already have a Cantera YAML mechanism, a direct utility is available to generate the transport/ folder expected by transport_model: transportDB and diffusion_model: transportDB.

The utility is installed with Stream as:

<StreamInstallDirPath>/bin/cantera_to_transport

Run it in your case directory where you want the transport folder created:

cantera_to_transport chem.yaml

The command writes:

transport/*_vis.dat, transport/*_con.dat, and transport/*_dif.dat

An example with explicit controls is shown below:

Cantera to transportDB table generation
cantera_to_transport chem.yaml \
  --output_dir transport \
  --tmin 250 \
  --tmax 6000 \
  --n_intervals 64 \
  --pressure_pa 101325 \
  --species_subset species_subset.txt

Notes:

  • The generated files use the same FitFunction table layout read by Stream transport database readers.

  • By default, species names are uppercased (except names beginning with _) so file names match transportDB lookup behavior.

  • The diffusion tables store \(p_{ref}D_{ij}\) using the pressure given by --pressure_pa.