Documentation 6b54b78464
Loading...
Searching...
No Matches
CScalarFlux_Flamelet< Double, FlowIndices, nDim, nVar > Class Template Referencefinal

Convection and diffusion of the flamelet controlling variables and passive species, which is species transport plus two preferential diffusion terms. More...

#include <flamelet_edge_flux.hpp>

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

Public Types

using Base = CScalarFluxSpeciesBase< Double, CScalarFlux_Flamelet, FlowIndices, nDim, nVar >
 
using Int = typename Base::Int
 
- Public Types inherited from CScalarFluxSpeciesBase< Double, Derived, FlowIndices, nDim, nVar >
using Base = CUpwScalarBase< Double, Derived, FlowIndices, nDim, nVar >
 
using Int = typename Base::Int
 
- Public Types inherited from CUpwScalarBase< Double, Derived, FlowIndices, nDim, nVar >
using Double = Double
 
using Int = typename CLaneTraits< Double >::Int
 

Public Member Functions

 CScalarFlux_Flamelet (const CConfig &config)
 
template<class VariableType >
void extraDiffusionTerms (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
 Preferential diffusion, two terms with the shape of the ordinary diffusion but of states the model synthesises: div(D grad(beta - phi)) for each controlling variable, and a thermal term div(beta_T D grad(T)) on the enthalpy equation.
 
- Public Member Functions inherited from CScalarFluxSpeciesBase< Double, Derived, FlowIndices, nDim, nVar >
 CScalarFluxSpeciesBase (const CConfig &config)
 
template<class VariableType >
CPair< Vector< Double, Base::Size > > coefficients (const FlowIndices &idx, Int iPoint, const EdgeSide< VariableType > &side_i, Int jPoint, const EdgeSide< VariableType > &side_j, const CPair< Double > &rho) const
 Diffusion coefficients, an i/j average of (rho * mass diffusivity) per species, plus a turbulent (mu_t/Sc_t) contribution shared by every species, when a turbulence model is active; identical for both edge sides.
 
- Public Member Functions inherited from CUpwScalarBase< Double, Derived, FlowIndices, nDim, nVar >
 CUpwScalarBase (const CConfig &config, size_t nEqn_=nVar_)
 Constructor, inherited by the model with using Base::Base.
 
EdgeResidual< Double, nVar > ComputeFlux (const ScalarFluxOptions &opt, Int iPoint, const EdgeSide< VariableType > &side_i, Int jPoint, const EdgeSide< VariableType > &side_j, const Vector< Double, nDim > &normal, const Double &massFlux) const
 
void ComputeFlux (const ScalarFluxOptions &opt, Int iEdge, Int iPoint, const EdgeSide< VariableType > &side_i, Int jPoint, const EdgeSide< VariableType > &side_j, const Vector< Double, nDim > &normal, const Double &massFlux, UpdateType updateType, Double updateMask, CSysVector< su2double > &vector, CSysVector< su2double > &vectorDiff, SparseMatrixType &matrix) const
 Compute the flux of an edge and write it to the linear system.
 

Additional Inherited Members

- Static Public Attributes inherited from CScalarFluxSpeciesBase< Double, Derived, FlowIndices, nDim, nVar >
static constexpr bool Conservative = true
 
static constexpr bool DiagonalDiffusion = true
 
- Static Public Attributes inherited from CUpwScalarBase< Double, Derived, FlowIndices, nDim, nVar >
static constexpr int nDim
 
static constexpr size_t nVar
 
static constexpr size_t Size
 Backing size, for the model to size the containers its coefficients() returns; nVar itself is Dynamic for a runtime model and never usable as a container size.
 
static constexpr bool DiffusionReadsDensity
 Whether the model's diffusion coefficients read the density, beyond the reading that Conservative already implies. A model that declares neither never gathers it.
 
- Protected Types inherited from CUpwScalarBase< Double, Derived, FlowIndices, nDim, nVar >
using Base = CUpwScalarFlux< Double, Derived, FlowIndices, nDim_, nVar_ >
 
- Protected Types inherited from CUpwScalarFlux< Double, Derived, FlowIndices, nDim, nVar >
using Int = typename CLaneTraits< Double >::Int
 
- Protected Types inherited from CAvgGradScalarBase< Double, Derived, FlowIndices, nDim, nVar >
using Int = typename CLaneTraits< Double >::Int
 
- Protected Member Functions inherited from CScalarFluxSpeciesBase< Double, Derived, FlowIndices, nDim, nVar >
template<class VariableType >
Double turbulentDiffusivity (const FlowIndices &idx, Int iPoint, const EdgeSide< VariableType > &side_i, Int jPoint, const EdgeSide< VariableType > &side_j) const
 Turbulent contribution to the diffusivity, shared by every species and, in the flamelet model, by the preferential diffusion terms.
 
- Protected Member Functions inherited from CUpwScalarFlux< Double, Derived, FlowIndices, nDim, nVar >
 CUpwScalarFlux (const CConfig &)
 
template<class VariableType , size_t Size>
void finalizeFlux (const FlowIndices &, const ScalarFluxOptions &opt, Int, const EdgeSide< VariableType > &, Int, const EdgeSide< VariableType > &, const Double &a0, const Double &a1, const CPair< Double > &rho, const CPair< CScalarValues< Double, Size > > &phi, EdgeResidual< Double, nVar > &res) const
 Upwind convection of the transported variable, weighted by the density for a conservative model.
 
- Protected Member Functions inherited from CAvgGradScalarBase< Double, Derived, FlowIndices, nDim, nVar >
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.
 
- Protected Attributes inherited from CUpwScalarBase< Double, Derived, FlowIndices, nDim, nVar >
const FlowIndices idx
 
const size_t nEqn
 Equations of the model, which a dynamic one gives to its base.
 
const su2double kappa
 MUSCL reconstruction parameters, read from CConfig once per construction (i.e. once per nonlinear iteration, see CScalarSolver::EdgeFluxResidual) instead of per edge; this is also where the scalar limiter's freezing (GetLimiterIter) is resolved, by collapsing its type to NONE once frozen. The flow limiter is not frozen this way: once the flow solver stops recomputing it, it keeps applying the last values it has.
 
const su2double umusclRamp
 
const su2double kappaFlow
 
const LIMITER limiterType
 
const LIMITER limiterTypeFlow
 
const bool musclFlow
 

Detailed Description

template<class Double, class FlowIndices, int nDim, size_t nVar = Dynamic>
class CScalarFlux_Flamelet< Double, FlowIndices, nDim, nVar >

Convection and diffusion of the flamelet controlling variables and passive species, which is species transport plus two preferential diffusion terms.

Note
The preferential diffusion terms read the beta scalars and their gradients from the auxiliary variables of the solver's own containers, which the per-marker ghost containers of a boundary do not carry. They are an interior edge term: boundaries instantiate CScalarFlux_Species, as they did before this model existed.

Member Typedef Documentation

◆ Base

template<class Double , class FlowIndices , int nDim, size_t nVar = Dynamic>
using CScalarFlux_Flamelet< Double, FlowIndices, nDim, nVar >::Base = CScalarFluxSpeciesBase<Double, CScalarFlux_Flamelet, FlowIndices, nDim, nVar>

◆ Int

template<class Double , class FlowIndices , int nDim, size_t nVar = Dynamic>
using CScalarFlux_Flamelet< Double, FlowIndices, nDim, nVar >::Int = typename Base::Int

Constructor & Destructor Documentation

◆ CScalarFlux_Flamelet()

template<class Double , class FlowIndices , int nDim, size_t nVar = Dynamic>
CScalarFlux_Flamelet< Double, FlowIndices, nDim, nVar >::CScalarFlux_Flamelet ( const CConfig &  config)
inlineexplicit

Member Function Documentation

◆ extraDiffusionTerms()

template<class Double , class FlowIndices , int nDim, size_t nVar = Dynamic>
template<class VariableType >
void CScalarFlux_Flamelet< Double, FlowIndices, nDim, nVar >::extraDiffusionTerms ( 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
inline

Preferential diffusion, two terms with the shape of the ordinary diffusion but of states the model synthesises: div(D grad(beta - phi)) for each controlling variable, and a thermal term div(beta_T D grad(T)) on the enthalpy equation.

Note
The thermal term has no implicit part, matching the treatment of the heat flux it models; the first term has the same thin shear layer Jacobian as the ordinary diffusion, because it is the same operator applied to a shifted state.

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