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

Convective flux shared by every model whose transport equation has the shape flux(iVar) = a0 * w_i * phi_i(iVar) + a1 * w_j * phi_j(iVar), which is every model except SA and stochastic backscatter (see CScalarFlux_SA). More...

#include <scalar_edge_flux.hpp>

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

Protected Types

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

 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.
 

Detailed Description

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

Convective flux shared by every model whose transport equation has the shape flux(iVar) = a0 * w_i * phi_i(iVar) + a1 * w_j * phi_j(iVar), which is every model except SA and stochastic backscatter (see CScalarFlux_SA).

Note
The weight w is 1 for a non-conservative model, the density for a conservative one.

Member Typedef Documentation

◆ Int

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

Constructor & Destructor Documentation

◆ CUpwScalarFlux()

template<class Double , class Derived , class FlowIndices , int nDim, size_t nVar>
CUpwScalarFlux< Double, Derived, FlowIndices, nDim, nVar >::CUpwScalarFlux ( const CConfig &  )
inlineexplicitprotected

Member Function Documentation

◆ finalizeFlux()

template<class Double , class Derived , class FlowIndices , int nDim, size_t nVar>
template<class VariableType , size_t Size>
void CUpwScalarFlux< Double, Derived, FlowIndices, nDim, nVar >::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
inlineprotected

Upwind convection of the transported variable, weighted by the density for a conservative model.

Parameters
[in]phi- Transported variable of both endpoints, reconstructed if opt.muscl is set; read from here rather than side_i/side_j.scalarNodes directly so a model needs no reconstruction logic of its own.
[in]rho- Density of both endpoints, reconstructed alongside the velocity when the convective scheme reconstructs, so it weights the flux as the velocity does.
Note
The flux is written in terms of the transported variable but the Jacobians are w.r.t. the conserved one, which for a conservative model is the density-weighted variable; the density therefore multiplies the flux and not the Jacobian.

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