Mallard 0.8.0
Unstructured, GPU accelerated, high-order finite volume CFD solver
Mallard website
Loading...
Searching...
No Matches
chemistry::TransportTable< MemorySpace > Struct Template Reference

Transport properties of a mechanism's mixtures on the device, in double precision in every build: Wilke's viscosity, the conductivity of Mathur, Tondon & Saxena, and the species diffusion coefficients D_k of the model (Cantera's "mixture-averaged" and "unity-Lewis-number" models, and constant Lewis numbers), to be used with mole-fraction gradients and a correction velocity; with the mixture-averaged model optionally also Cantera's thermal diffusion coefficients (Soret effect). More...

#include <transport.h>

Public Member Functions

KOKKOS_INLINE_FUNCTION double species_viscosity (const uint32_t k, const double T) const
 
KOKKOS_INLINE_FUNCTION double species_conductivity (const uint32_t k, const double T) const
 
KOKKOS_INLINE_FUNCTION double binary_diffusion (const uint32_t k, const uint32_t j, const double T, const double p) const
 Binary diffusion coefficient D_kj [m^2/s] at T and p.
 
template<typename F_Y >
KOKKOS_INLINE_FUNCTION void properties (const double T, const double p, const double rho, const double cp, const F_Y &y, double &mu, double &lambda, double *D, double *DT=nullptr) const
 Mixture viscosity mu [Pa s], conductivity lambda [W/(m K)] and species diffusion coefficients D [m^2/s] (n_species values, also used as work memory) at temperature T, pressure p, density rho and cp [J/(kg K)], for mass fractions y(k). As Cantera, mole fractions below 1e-20 count as 1e-20 in the mixing rules.
 

Static Public Member Functions

static KOKKOS_INLINE_FUNCTION double poly (const double *c, const double L)
 

Public Attributes

uint32_t n_species = 0
 
TransportModel model = TransportModel::MIXTURE_AVERAGED
 
Kokkos::View< double *, MemorySpace > W
 
Kokkos::View< double *, MemorySpace > inv_Lewis
 
Kokkos::View< double *[5], Kokkos::LayoutRight, MemorySpace > visc
 
Kokkos::View< double *[5], Kokkos::LayoutRight, MemorySpace > cond
 
Kokkos::View< double **[5], Kokkos::LayoutRight, MemorySpace > diff
 
Kokkos::View< double **, Kokkos::LayoutRight, MemorySpace > wilke_w
 
Kokkos::View< double **, Kokkos::LayoutRight, MemorySpace > wilke_d
 
bool thermal_diffusion = false
 
Kokkos::View< double **[9], Kokkos::LayoutRight, MemorySpace > cstar
 
Kokkos::View< double **, Kokkos::LayoutRight, MemorySpace > log_eps
 

Static Public Attributes

static constexpr double TINY = 1.0e-20
 

Detailed Description

template<typename MemorySpace = Kokkos::DefaultExecutionSpace::memory_space>
struct chemistry::TransportTable< MemorySpace >

Transport properties of a mechanism's mixtures on the device, in double precision in every build: Wilke's viscosity, the conductivity of Mathur, Tondon & Saxena, and the species diffusion coefficients D_k of the model (Cantera's "mixture-averaged" and "unity-Lewis-number" models, and constant Lewis numbers), to be used with mole-fraction gradients and a correction velocity; with the mixture-averaged model optionally also Cantera's thermal diffusion coefficients (Soret effect).

A plain aggregate of Views in MemorySpace, captured by value in kernels.

Member Function Documentation

◆ binary_diffusion()

template<typename MemorySpace = Kokkos::DefaultExecutionSpace::memory_space>
KOKKOS_INLINE_FUNCTION double chemistry::TransportTable< MemorySpace >::binary_diffusion ( const uint32_t  k,
const uint32_t  j,
const double  T,
const double  p 
) const
inline

Binary diffusion coefficient D_kj [m^2/s] at T and p.

◆ poly()

template<typename MemorySpace = Kokkos::DefaultExecutionSpace::memory_space>
static KOKKOS_INLINE_FUNCTION double chemistry::TransportTable< MemorySpace >::poly ( const double *  c,
const double  L 
)
inlinestatic

◆ properties()

template<typename MemorySpace = Kokkos::DefaultExecutionSpace::memory_space>
template<typename F_Y >
KOKKOS_INLINE_FUNCTION void chemistry::TransportTable< MemorySpace >::properties ( const double  T,
const double  p,
const double  rho,
const double  cp,
const F_Y &  y,
double &  mu,
double &  lambda,
double *  D,
double *  DT = nullptr 
) const
inline

Mixture viscosity mu [Pa s], conductivity lambda [W/(m K)] and species diffusion coefficients D [m^2/s] (n_species values, also used as work memory) at temperature T, pressure p, density rho and cp [J/(kg K)], for mass fractions y(k). As Cantera, mole fractions below 1e-20 count as 1e-20 in the mixing rules.

With DT (n_species values; mixture-averaged model with thermal_diffusion only), also Cantera's mixture-averaged thermal diffusion coefficients D^T_k [kg/(m s)] (Chapman & Cowling's model as Zirwes & Kronenburg give it), for the fluxes -D^T_k grad T / T; they sum to zero.

◆ species_conductivity()

template<typename MemorySpace = Kokkos::DefaultExecutionSpace::memory_space>
KOKKOS_INLINE_FUNCTION double chemistry::TransportTable< MemorySpace >::species_conductivity ( const uint32_t  k,
const double  T 
) const
inline

◆ species_viscosity()

template<typename MemorySpace = Kokkos::DefaultExecutionSpace::memory_space>
KOKKOS_INLINE_FUNCTION double chemistry::TransportTable< MemorySpace >::species_viscosity ( const uint32_t  k,
const double  T 
) const
inline

Member Data Documentation

◆ cond

template<typename MemorySpace = Kokkos::DefaultExecutionSpace::memory_space>
Kokkos::View<double *[5], Kokkos::LayoutRight, MemorySpace> chemistry::TransportTable< MemorySpace >::cond

◆ cstar

template<typename MemorySpace = Kokkos::DefaultExecutionSpace::memory_space>
Kokkos::View<double **[9], Kokkos::LayoutRight, MemorySpace> chemistry::TransportTable< MemorySpace >::cstar

◆ diff

template<typename MemorySpace = Kokkos::DefaultExecutionSpace::memory_space>
Kokkos::View<double **[5], Kokkos::LayoutRight, MemorySpace> chemistry::TransportTable< MemorySpace >::diff

◆ inv_Lewis

template<typename MemorySpace = Kokkos::DefaultExecutionSpace::memory_space>
Kokkos::View<double *, MemorySpace> chemistry::TransportTable< MemorySpace >::inv_Lewis

◆ log_eps

template<typename MemorySpace = Kokkos::DefaultExecutionSpace::memory_space>
Kokkos::View<double **, Kokkos::LayoutRight, MemorySpace> chemistry::TransportTable< MemorySpace >::log_eps

◆ model

template<typename MemorySpace = Kokkos::DefaultExecutionSpace::memory_space>
TransportModel chemistry::TransportTable< MemorySpace >::model = TransportModel::MIXTURE_AVERAGED

◆ n_species

template<typename MemorySpace = Kokkos::DefaultExecutionSpace::memory_space>
uint32_t chemistry::TransportTable< MemorySpace >::n_species = 0

◆ thermal_diffusion

template<typename MemorySpace = Kokkos::DefaultExecutionSpace::memory_space>
bool chemistry::TransportTable< MemorySpace >::thermal_diffusion = false

◆ TINY

template<typename MemorySpace = Kokkos::DefaultExecutionSpace::memory_space>
constexpr double chemistry::TransportTable< MemorySpace >::TINY = 1.0e-20
staticconstexpr

◆ visc

template<typename MemorySpace = Kokkos::DefaultExecutionSpace::memory_space>
Kokkos::View<double *[5], Kokkos::LayoutRight, MemorySpace> chemistry::TransportTable< MemorySpace >::visc

◆ W

template<typename MemorySpace = Kokkos::DefaultExecutionSpace::memory_space>
Kokkos::View<double *, MemorySpace> chemistry::TransportTable< MemorySpace >::W

◆ wilke_d

template<typename MemorySpace = Kokkos::DefaultExecutionSpace::memory_space>
Kokkos::View<double **, Kokkos::LayoutRight, MemorySpace> chemistry::TransportTable< MemorySpace >::wilke_d

◆ wilke_w

template<typename MemorySpace = Kokkos::DefaultExecutionSpace::memory_space>
Kokkos::View<double **, Kokkos::LayoutRight, MemorySpace> chemistry::TransportTable< MemorySpace >::wilke_w

The documentation for this struct was generated from the following file: