Mallard 0.8.0
Unstructured, GPU accelerated, high-order finite volume CFD solver
Mallard website
Loading...
Searching...
No Matches
MixtureViscousFluxFunctor Struct Reference

Diffusive fluxes of a gas mixture on every face (one-point rule), added to face_flux (momentum and energy) and to the species slots of side 0 (as mass leaving cell 0). More...

#include <mixture_viscous_flux.h>

Classes

struct  Geometry
 Geometry of an interior face: unit normal, centroid offset and its normal component. More...
 

Public Types

enum class  Mode : uint8_t { INTERIOR , CELL , ZERO_NORMAL , NONE }
 

Public Member Functions

KOKKOS_INLINE_FUNCTION Geometry geometry (const uint32_t f) const
 
KOKKOS_INLINE_FUNCTION rtype interior (const Geometry &G, const uint32_t v, rtype *g) const
 Value and gradient of variable v on an interior face.
 
KOKKOS_INLINE_FUNCTION void operator() (const uint32_t i_face) const
 

Public Attributes

Kokkos::View< rtype *[N_DIM]> normals
 
Kokkos::View< rtype * > face_area
 
Kokkos::View< rtype *[N_DIM]> face_coords
 
Kokkos::View< rtype *[N_DIM]> cell_coords
 
Kokkos::View< int32_t *[2]> cells_of_face
 
Kokkos::View< rtype *[N_DIM]> shifts
 
Kokkos::View< uint8_t * > face_shift
 
BoundaryData boundaries
 
Mixture gas
 
ScalarView scalars
 
Kokkos::View< rtype **, Kokkos::LayoutRight > values
 
Kokkos::View< rtype ***, Kokkos::LayoutRight > gradients
 
Kokkos::View< rtype *[3]> coefficients
 
Kokkos::View< double **, Kokkos::LayoutRight > diffusion
 
Kokkos::View< rtype *[N_CONSERVATIVE]> face_flux
 
Kokkos::View< rtype ***, Kokkos::LayoutRight > slots
 
bool axisymmetric = false
 
Kokkos::View< rtype *[3]> covariance
 
Kokkos::View< rtype *[3]> sgs
 
bool sgs_only = false
 

Static Public Attributes

static constexpr uint8_t NQ = N_DIM + 1
 

Detailed Description

Diffusive fluxes of a gas mixture on every face (one-point rule), added to face_flux (momentum and energy) and to the species slots of side 0 (as mass leaving cell 0).

Face values and gradients of u, T and X_k average the two cells' and correct their component along the line between the centroids, as ViscousFluxFunctor; the transport coefficients are the averages of the two cells'. Species fluxes are the mixture-averaged ones with a correction velocity, as Cantera's (Kee, Coltrin & Glarborg): j_k = -rho D_k (W_k / W) grad X_k + Y_k sum_j rho D_j (W_j / W) grad X_j, with Y at the face normalized, so that sum_k j_k = 0 to round-off and rho needs no diffusion term; with thermal diffusion, j_k also has the Soret flux -D^T_k grad T / T (the D^T_k sum to zero, as Cantera's), with the face's T, gradient and averaged D^T_k. The energy flux carries sum_k h_k j_k. Walls and symmetry planes carry no heat or species flux (adiabatic, non-catalytic); transmissive faces take their image face's values, gradients and coefficients; outflow faces and transmissive faces without an image have zero normal derivatives; UPT faces take the cell's values and gradients.

Member Enumeration Documentation

◆ Mode

Enumerator
INTERIOR 
CELL 
ZERO_NORMAL 
NONE 

Member Function Documentation

◆ geometry()

KOKKOS_INLINE_FUNCTION Geometry MixtureViscousFluxFunctor::geometry ( const uint32_t  f) const
inline

◆ interior()

KOKKOS_INLINE_FUNCTION rtype MixtureViscousFluxFunctor::interior ( const Geometry &  G,
const uint32_t  v,
rtype *  g 
) const
inline

Value and gradient of variable v on an interior face.

◆ operator()()

KOKKOS_INLINE_FUNCTION void MixtureViscousFluxFunctor::operator() ( const uint32_t  i_face) const
inline

Member Data Documentation

◆ axisymmetric

bool MixtureViscousFluxFunctor::axisymmetric = false

◆ boundaries

BoundaryData MixtureViscousFluxFunctor::boundaries

◆ cell_coords

Kokkos::View<rtype *[N_DIM]> MixtureViscousFluxFunctor::cell_coords

◆ cells_of_face

Kokkos::View<int32_t *[2]> MixtureViscousFluxFunctor::cells_of_face

◆ coefficients

Kokkos::View<rtype *[3]> MixtureViscousFluxFunctor::coefficients

◆ covariance

Kokkos::View<rtype *[3]> MixtureViscousFluxFunctor::covariance

◆ diffusion

Kokkos::View<double **, Kokkos::LayoutRight> MixtureViscousFluxFunctor::diffusion

◆ face_area

Kokkos::View<rtype *> MixtureViscousFluxFunctor::face_area

◆ face_coords

Kokkos::View<rtype *[N_DIM]> MixtureViscousFluxFunctor::face_coords

◆ face_flux

Kokkos::View<rtype *[N_CONSERVATIVE]> MixtureViscousFluxFunctor::face_flux

◆ face_shift

Kokkos::View<uint8_t *> MixtureViscousFluxFunctor::face_shift

◆ gas

Mixture MixtureViscousFluxFunctor::gas

◆ gradients

Kokkos::View<rtype ***, Kokkos::LayoutRight> MixtureViscousFluxFunctor::gradients

◆ normals

Kokkos::View<rtype *[N_DIM]> MixtureViscousFluxFunctor::normals

◆ NQ

constexpr uint8_t MixtureViscousFluxFunctor::NQ = N_DIM + 1
staticconstexpr

◆ scalars

ScalarView MixtureViscousFluxFunctor::scalars

◆ sgs

Kokkos::View<rtype *[3]> MixtureViscousFluxFunctor::sgs

◆ sgs_only

bool MixtureViscousFluxFunctor::sgs_only = false

◆ shifts

Kokkos::View<rtype *[N_DIM]> MixtureViscousFluxFunctor::shifts

◆ slots

Kokkos::View<rtype ***, Kokkos::LayoutRight> MixtureViscousFluxFunctor::slots

◆ values

Kokkos::View<rtype **, Kokkos::LayoutRight> MixtureViscousFluxFunctor::values

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