Documentation 6b54b78464
Loading...
Searching...
No Matches
CNumericsSIMD Class Referenceabstract

Base class to define the interface. More...

#include <CNumericsSIMD.hpp>

Inheritance diagram for CNumericsSIMD:
[legend]

Public Member Functions

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 Public Member Functions

static CNumericsSIMD * CreateNumerics (const CConfig &config, int nDim, int iMesh, const CVariable *turbVars=nullptr)
 Factory method.
 

Detailed Description

Base class to define the interface.

Note
See CNumericsEmptyDecorator.

Constructor & Destructor Documentation

◆ ~CNumericsSIMD()

virtual CNumericsSIMD::~CNumericsSIMD ( void  )
virtualdefault

Destructor of the class.

Member Function Documentation

◆ ComputeFlux()

virtual void CNumericsSIMD::ComputeFlux ( Int  iEdge,
const CConfig &  config,
const CGeometry &  geometry,
const CVariable &  solution,
UpdateType  updateType,
Double  updateMask,
CSysVector< su2double > &  vector,
SparseMatrixType &  matrix,
su2activevector *  edgeMassFluxes 
) const
pure virtual

Interface for edge flux computation.

Parameters
[in]iEdge- The edges for flux computation.
[in]config- Problem definitions.
[in]geometry- Problem geometry.
[in]solution- Solution variables.
[in]updateType- Type of update done on vector and matrix.
[in]updateMask- SIMD array of 1's and 0's, the latter prevent the update.
[in,out]vector- Target for the fluxes.
[in,out]matrix- Target for the flux Jacobians.
[out]edgeMassFluxes- Optional, per-edge mass flux (density-equation flux), used by "bounded scalar" discretization of transported scalars (turbulence, species).
Note
The update mask is used to handle "remainder" edges (nEdge mod simdSize).

◆ CreateNumerics()

CNumericsSIMD * CNumericsSIMD::CreateNumerics ( const CConfig &  config,
int  nDim,
int  iMesh,
const CVariable *  turbVars = nullptr 
)
static

Factory method.

This function instantiates both 2D and 3D versions of the implementation in createNumerics, which in turn instantiates the class templates of the different numerical methods.

Parameters
[in]config- Problem definitions.
[in]nDim- 2D or 3D.
[in]iMesh- Grid index.
[in]turbVars- Turbulence variables.

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