From charlesreid1

Cantera treats diffusion using either a multicomponent, species-by-species diffusion rate, or using a mixture-averaged diffusion rate for each species.

More information and context is available at


Notation for some diffusivities should be defined before describing models for multicomponent or mixture-averaged diffusive fluxes. Three diffusivities are defined:

  • D_{kj} - multicomponent species diffusivity
  • D_{km} - mixture-averaged diffusivity
  • \mathbb{D}_{jk} - binary diffusivity

The diffusive flux  \mathbf{J} is modeled as being proportional to species gradients. The diffusivities are the proportionality constants of that relationship.


The multicomponent diffusive flux model assumes the diffusive flux  \mathbf{J} is proportional to every species gradient. This means that each species has a distinct contribution to the diffusive flux from the gradient of each species in the mixture:

(Assuming domain/diffusion is one-dimensional)

\mathbf{J}_k = J_k = \rho V_{k}

where V_{k} is the diffusive flux velocity for species k.

There are two contributions to the diffusion velocity V_{k}: the multicomponent diffusion velocity, and a contribution to diffusion velocity via thermal gradients:

V_k = V_{km} + V_{kT}

These are defined (assuming the one dimension is denoted x) as:

V_{km} = \dfrac{1}{X_k \overline{W}} \sum_{j=1}^{K} W_j D_{kj} \dfrac{ d X_j }{dx}

or more generally,

V_{km} = \dfrac{1}{X_k \overline{W}} \sum_{j=1}^{K} W_j D_{kj} \nabla X_j

and the thermal diffusion term is:

V_{kT} - \dfrac{D_k^T }{ \rho Y_k } \dfrac{1}{T} \dfrac{dT}{dx}


V_{kT} = - \dfrac{D_k^T }{ \rho Y_k } \dfrac{1}{T} \nabla T


The mixture-averaged diffusive flux model assumes the diffusive flux for species k, J_k, depends only on the gradient of species k:

V_{km} = - \dfrac{1}{X_k} D_{km} \dfrac{d X_k}{dx}

V_{km} = - \dfrac{1}{X_k} D_{km} \nabla X_k

and the thermal diffusion term is:

V_{kT} = - \dfrac{D_k^T}{\rho Y_k} \dfrac{1}{T} \dfrac{dT}{dx}

V_{kT} = - \dfrac{D_k^T}{\rho Y_k} \dfrac{1}{T} \nabla T

The mixture-averaged diffusivities are computed from the binary diffusivities as follows:

D_{km} = 
\dfrac{ 1 - Y_k }{ \sum_{j \neq k}{K} \dfrac{ X_j }{ \mathbb{D}_{jk} } }