Convection and diffusion of the Spalart-Allmaras model, non-conservative and with a diagonal (but asymmetric) diffusion coefficient.
More...
|
| | CScalarFlux_SA (const CConfig &config) |
| |
| 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 > &, const CPair< CScalarValues< Double, Size > > &phi, EdgeResidual< Double, nVar > &res) const |
| | SA convection, plus the centered advection of the backscatter equations when nVar > 1.
|
| |
| Double | fn (const Double &zeta) const |
| | fn, the positivity-preserving correction to the SA-neg diffusion coefficient (Allmaras, Johnson & Spalart), 1 when nu_tilde is not negative enough to need it.
|
| |
| template<class VariableType > |
| CPair< Vector< Double, nVar > > | 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 of both orientations of the edge.
|
| |
| template<class Coefficients , size_t Size> |
| void | coefficientJacobians (const ScalarFluxOptions &opt, const Coefficients &, const Vector< Double, Size > &projGrad, EdgeResidual< Double, nVar > &res) const |
| | Extra Jacobian terms from the dependence of the diffusion coefficient on nu_tilde.
|
| |
| | 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.
|
| |
|
| using | Base = CUpwScalarFlux< Double, CScalarFlux_SA< Double, FlowIndices, nDim, nVar >, FlowIndices, nDim_, nVar_ > |
| |
| using | Int = typename CLaneTraits< Double >::Int |
| |
| using | Int = typename CLaneTraits< Double >::Int |
| |
| | 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.
|
| |
| 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 |
| |
template<class
Double, class FlowIndices, int nDim, size_t nVar>
class CScalarFlux_SA< Double, FlowIndices, nDim, nVar >
Convection and diffusion of the Spalart-Allmaras model, non-conservative and with a diagonal (but asymmetric) diffusion coefficient.
- Note
- SA writes its own convective term rather than using the inherited CUpwScalarFlux one, because with stochastic backscatter active (nVar 4) the three Langevin equations are advected with a centered flux, unlike the plain upwind SA equation itself.