Peano
Loading...
Searching...
No Matches
exahype2.api.RefineErasePointwisely.RefineErasePointwisely Class Reference

Point-wise refinement criterion: given the solution Q at a single degree of freedom, its position x and the time stamp t, decide whether the mesh around this point should be refined, erased (coarsened) or kept. More...

Inheritance diagram for exahype2.api.RefineErasePointwisely.RefineErasePointwisely:
Collaboration diagram for exahype2.api.RefineErasePointwisely.RefineErasePointwisely:

Data Structures

class  Generator
 RefineErasePointwisely-specific code generation. More...
 

Public Member Functions

 __init__ (self, str implementation=None, bool stateless=False)
 
- Public Member Functions inherited from exahype2.api.PDETerm.PDETerm
str __repr__ (self)
 
str __str__ (self)
 
"PDETerm.Generator" generator (self)
 Code generator for this term: an instance of this term's own (possibly subclass-specific) Generator.
 

Static Public Attributes

tuple SIGNATURE
 
str NAME = "refineErasePointwisely"
 
- Static Public Attributes inherited from exahype2.api.PDETerm.PDETerm
str NAME
 
str SIGNATURE
 

Additional Inherited Members

- Data Fields inherited from exahype2.api.PDETerm.PDETerm
 name
 
 implementation
 
 stateless
 

Detailed Description

Point-wise refinement criterion: given the solution Q at a single degree of freedom, its position x and the time stamp t, decide whether the mesh around this point should be refined, erased (coarsened) or kept.

virtual void refineErasePointwisely(
const double* __restrict__ Q, // Q[{{NUMBER_OF_UNKNOWNS}}+{{NUMBER_OF_AUXILIARY_VARIABLES}}]
const tarch::la::Vector<Dimensions, double>& x,
double t,
::exahype2::RefinementCommand* __restrict__ refinementCommand
);

Like all the other PDE terms, the generated method returns void and writes its outcome into an output argument. The output semantics are those of every adaptivity criterion (exahype2.api.AdaptivityCriterion).

Different to the legacy refinementCriterion(Q, x, h, t), the term is not handed the mesh size. Bounds on the mesh size are the job of the grid construction, not of the physics.

Q holds unknowns+auxiliary_variables entries.

Definition at line 8 of file RefineErasePointwisely.py.

Constructor & Destructor Documentation

◆ __init__()

exahype2.api.RefineErasePointwisely.RefineErasePointwisely.__init__ (   self,
str   implementation = None,
bool   stateless = False 
)
Parameters
implementationstr A C++ snippet that becomes refineErasePointwisely()'s body, or None (the default) to leave refineErasePointwisely() pure virtual for you to implement by hand. The empty string is a valid body: it leaves *refinementCommand untouched, i.e. at Keep.
statelessbool Generate a static, GPU-offloadable method instead of a virtual one. Requires an implementation.

Reimplemented from exahype2.api.AdaptivityCriterion.AdaptivityCriterion.

Definition at line 45 of file RefineErasePointwisely.py.

References exahype2.api.RefineErasePointwisely.RefineErasePointwisely.__init__(), exahype2.api.blockstructured.DirichletBoundaryConditions.DirichletBoundaryConditions.NAME, exahype2.api.blockstructured.SommerfeldBoundaryConditions.SommerfeldBoundaryConditions.NAME, exahype2.api.Flux.Flux.NAME, exahype2.api.GradientRefinement.GradientRefinement.NAME, exahype2.api.InitPointWisely.InitPointWisely.NAME, exahype2.api.MassMatrix.MassMatrix.NAME, exahype2.api.MaxEigenvalue.MaxEigenvalue.NAME, exahype2.api.NonconservativeProduct.NonconservativeProduct.NAME, exahype2.api.PDETerm.PDETerm.NAME, exahype2.api.PointSource.PointSource.NAME, exahype2.api.RefineErasePointwisely.RefineErasePointwisely.NAME, and exahype2.api.VolumetricSource.VolumetricSource.NAME.

Referenced by exahype2.api.RefineErasePointwisely.RefineErasePointwisely.__init__().

Here is the call graph for this function:
Here is the caller graph for this function:

Field Documentation

◆ NAME

◆ SIGNATURE

tuple exahype2.api.RefineErasePointwisely.RefineErasePointwisely.SIGNATURE
static
Initial value:
= (
"const double* __restrict__ Q, "
"const tarch::la::Vector<Dimensions, double>& x, "
"double t, "
"::exahype2::RefinementCommand* __restrict__ refinementCommand"
)

Definition at line 36 of file RefineErasePointwisely.py.


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