Convection and diffusion of a mass fraction, conservative with a diagonal, i/j-symmetric diffusion matrix. Unlike SA/SST/LM, the equation count is only known at runtime (one per transported species), so this is the framework's first Dynamic-nVar model: nEqn is passed to the base explicitly, and coefficients() loops to it rather than to a compile-time nVar.
More...
|
| | 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.
|
| |
| | 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.
|
| |
|
| 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.
|
| |
| | 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.
|
| |
| 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.
|
| |
template<class
Double, class Derived, class FlowIndices, int nDim, size_t nVar>
class CScalarFluxSpeciesBase< Double, Derived, FlowIndices, nDim, nVar >
Convection and diffusion of a mass fraction, conservative with a diagonal, i/j-symmetric diffusion matrix. Unlike SA/SST/LM, the equation count is only known at runtime (one per transported species), so this is the framework's first Dynamic-nVar model: nEqn is passed to the base explicitly, and coefficients() loops to it rather than to a compile-time nVar.
- Note
- This carries no finalizeFlux of its own: the inherited CUpwScalarFlux one is exactly flux(iVar) = a0*rho_i*Y_i(iVar) + a1*rho_j*Y_j(iVar), Conservative weighting by density, which is the model's whole convective term.
-
It takes the most derived class as a parameter so that the flamelet model, which adds a preferential diffusion term to the same coefficients, is a sibling rather than a copy.