Numerics classes that accept a compile-time decorator should use this class template as a "do-nothing" decorator and as a link to the interface when they are not being decorated. Compile-time decoration works by specifying the base class as a template parameter. Then the class being decorated should call a method of its base class to add some contribution to the flux/source and Jacobians just before writting the results to CSysVector and CSysMatrix. The mechanism can be used to chain any number of classes at compile-time, but its main purpose is to combine convective and viscous fluxes in the most (nearly) efficient way.
More...
#include <viscous_fluxes.hpp>
|
| template<class... Ts> |
| | CNoViscousFlux (Ts &...) |
| |
| template<class... Ts> |
| void | viscousTerms (Ts &...) const |
| | Empty method, real decorators should take as arguments whatever the decorated class can pass them to avoid expensive data accesses.
|
| |
|
| static constexpr size_t | nDim = NDIM |
| |
| static constexpr size_t | nPrimVar = 0 |
| |
|
| virtual void | ComputeFlux (Int iEdge, const CConfig &config, const CGeometry &geometry, const CVariable &solution, UpdateType updateType, Double updateMask, CSysVector< su2double > &vector, SparseMatrixType &matrix, su2activevector *edgeMassFluxes) const =0 |
| | Interface for edge flux computation.
|
| |
| virtual | ~CNumericsSIMD (void)=default |
| | Destructor of the class.
|
| |
| static CNumericsSIMD * | CreateNumerics (const CConfig &config, int nDim, int iMesh, const CVariable *turbVars=nullptr) |
| | Factory method.
|
| |
template<size_t NDIM>
class CNoViscousFlux< NDIM >
Numerics classes that accept a compile-time decorator should use this class template as a "do-nothing" decorator and as a link to the interface when they are not being decorated. Compile-time decoration works by specifying the base class as a template parameter. Then the class being decorated should call a method of its base class to add some contribution to the flux/source and Jacobians just before writting the results to CSysVector and CSysMatrix. The mechanism can be used to chain any number of classes at compile-time, but its main purpose is to combine convective and viscous fluxes in the most (nearly) efficient way.
◆ CNoViscousFlux()
template<size_t NDIM>
template<class... Ts>
◆ viscousTerms()
template<size_t NDIM>
template<class... Ts>
Empty method, real decorators should take as arguments whatever the decorated class can pass them to avoid expensive data accesses.
◆ nDim
◆ nPrimVar
The documentation for this class was generated from the following file: