Documentation 6b54b78464
Loading...
Searching...
No Matches
CAvgGradScalarBase< Double, Derived, FlowIndices, nDim, nVar > Class Template Reference

Diffusion of a transported scalar, driven by model-supplied coefficients. More...

#include <scalar_edge_flux.hpp>

Inheritance diagram for CAvgGradScalarBase< Double, Derived, FlowIndices, nDim, nVar >:
[legend]

Protected Types

using Int = typename CLaneTraits< Double >::Int
 

Protected Member Functions

template<class VariableType >
void diffusionTerms (const FlowIndices &idx, const ScalarFluxOptions &opt, Int iPoint, const EdgeSide< VariableType > &side_i, Int jPoint, const EdgeSide< VariableType > &side_j, const CPair< Double > &rho, const Vector< Double, nDim > &normal, const Vector< Double, nDim > &vector_ij, EdgeResidual< Double, nVar > &res) const
 
template<class... Ts>
void coefficientJacobians (Ts &&...) const
 Contribution of the derivatives of the coefficients themselves.
 
template<class... Ts>
void extraDiffusionTerms (Ts &&...) const
 Diffusion of a model that transports more than one gradient, of states it synthesises from its own containers.
 

Detailed Description

template<class Double, class Derived, class FlowIndices, int nDim, size_t nVar>
class CAvgGradScalarBase< Double, Derived, FlowIndices, nDim, nVar >

Diffusion of a transported scalar, driven by model-supplied coefficients.

Note
The derived class returns the coefficients of both orientations of the edge, as one object, so that whatever the two share is computed once. A model whose coefficients are the same in both orientations returns the same value twice. A model whose matrix is diagonal declares DiagonalDiffusion and returns a vector instead of a matrix.

Member Typedef Documentation

◆ Int

template<class Double , class Derived , class FlowIndices , int nDim, size_t nVar>
using CAvgGradScalarBase< Double, Derived, FlowIndices, nDim, nVar >::Int = typename CLaneTraits<Double>::Int
protected

Member Function Documentation

◆ coefficientJacobians()

template<class Double , class Derived , class FlowIndices , int nDim, size_t nVar>
template<class... Ts>
void CAvgGradScalarBase< Double, Derived, FlowIndices, nDim, nVar >::coefficientJacobians ( Ts &&  ...) const
inlineprotected

Contribution of the derivatives of the coefficients themselves.

◆ diffusionTerms()

template<class Double , class Derived , class FlowIndices , int nDim, size_t nVar>
template<class VariableType >
void CAvgGradScalarBase< Double, Derived, FlowIndices, nDim, nVar >::diffusionTerms ( const FlowIndices &  idx,
const ScalarFluxOptions &  opt,
Int  iPoint,
const EdgeSide< VariableType > &  side_i,
Int  jPoint,
const EdgeSide< VariableType > &  side_j,
const CPair< Double > &  rho,
const Vector< Double, nDim > &  normal,
const Vector< Double, nDim > &  vector_ij,
EdgeResidual< Double, nVar > &  res 
) const
inlineprotected
Parameters
[in]rho- Density of both endpoints, read once by ComputeFlux.

◆ extraDiffusionTerms()

template<class Double , class Derived , class FlowIndices , int nDim, size_t nVar>
template<class... Ts>
void CAvgGradScalarBase< Double, Derived, FlowIndices, nDim, nVar >::extraDiffusionTerms ( Ts &&  ...) const
inlineprotected

Diffusion of a model that transports more than one gradient, of states it synthesises from its own containers.


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