Documentation a537f1bdf2
Loading...
Searching...
No Matches
CLimiterDetails< LimiterKind > Struct Template Reference

A traits class for limiters, see notes for "computeLimiters_impl()". More...

#include <CLimiterDetails.hpp>

Public Member Functions

template<class FieldType >
void preprocess (CGeometry &, CConfig &, size_t varBegin, size_t varEnd, const FieldType &)
 Compute any global value that may be needed by the other functions.
 
su2double geometricFactor (size_t iPoint, CGeometry &) const
 Geometric modifier (e.g. increase limiting near sharp edges).
 
su2double limiterFunction (size_t iVar, su2double proj, su2double delta) const
 Smooth (usually) function of the maximum/minimum (positive/negative) gradient projections onto the edges, and the deltas over direct neighbors. Both proj and delta may be 0.0, beware of divisions.
 

Detailed Description

template<LIMITER LimiterKind>
struct CLimiterDetails< LimiterKind >

A traits class for limiters, see notes for "computeLimiters_impl()".

Note
There is no default implementation (the code will compile but not link) specialization is mandatory.

Member Function Documentation

◆ geometricFactor()

template<LIMITER LimiterKind>
su2double CLimiterDetails< LimiterKind >::geometricFactor ( size_t  iPoint,
CGeometry &   
) const
inline

Geometric modifier (e.g. increase limiting near sharp edges).

Note
This function is called once per point inside an AD pre- -accumulation region, newly used variables should be registered.

◆ limiterFunction()

template<LIMITER LimiterKind>
su2double CLimiterDetails< LimiterKind >::limiterFunction ( size_t  iVar,
su2double  proj,
su2double  delta 
) const
inline

Smooth (usually) function of the maximum/minimum (positive/negative) gradient projections onto the edges, and the deltas over direct neighbors. Both proj and delta may be 0.0, beware of divisions.

Note
This function is called twice (min/max) per point per variable (also inside an AD pre-accumulation region).

◆ preprocess()

template<LIMITER LimiterKind>
template<class FieldType >
void CLimiterDetails< LimiterKind >::preprocess ( CGeometry &  ,
CConfig &  ,
size_t  varBegin,
size_t  varEnd,
const FieldType &   
)
inline

Compute any global value that may be needed by the other functions.

Note
This function is called once by multiple threads.

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