Peano
Loading...
Searching...
No Matches
exahype2.solvers.limiting.actionsets.SpreadLimiterStatus.SpreadLimiterStatus Class Reference
Inheritance diagram for exahype2.solvers.limiting.actionsets.SpreadLimiterStatus.SpreadLimiterStatus:
Collaboration diagram for exahype2.solvers.limiting.actionsets.SpreadLimiterStatus.SpreadLimiterStatus:

Public Member Functions

 __init__ (self, solver, guard)
 get_body_of_operation (self, operation_name)
 Return actual C++ code snippets to be inserted into C++ code.
 get_action_set_name (self)
 Return unique action set name.
Public Member Functions inherited from exahype2.solvers.limiting.actionsets.AbstractLimiterActionSet.AbstractLimiterActionSet
 __init__ (self, solver)
 user_should_modify_template (self)
 Is the user allowed to modify the output.
 get_includes (self)
 Return include statements that you need.
Public Member Functions inherited from peano4.solversteps.ActionSet.ActionSet
 __init__ (self, descend_invocation_order=0, parallel=False)
 get_constructor_body (self)
 Define a tailored constructor body.
 get_static_initialisations (self, full_qualified_classname)
 get_destructor_body (self)
 get_body_of_getGridControlEvents (self)
 get_body_of_prepareTraversal (self)
 get_body_of_unprepareTraversal (self)
 get_attributes (self)
 Return attributes as copied and pasted into the generated class.

Data Fields

 guard = guard
Data Fields inherited from peano4.solversteps.ActionSet.ActionSet
 descend_invocation_order = descend_invocation_order
 parallel = parallel

Static Public Attributes

str TemplateSpreadLimiterStatus
Static Public Attributes inherited from peano4.solversteps.ActionSet.ActionSet
str OPERATION_BEGIN_TRAVERSAL = "beginTraversal"
str OPERATION_END_TRAVERSAL = "endTraversal"
str OPERATION_CREATE_PERSISTENT_VERTEX = "createPersistentVertex"
str OPERATION_DESTROY_PERSISTENT_VERTEX = "destroyPersistentVertex"
str OPERATION_CREATE_HANGING_VERTEX = "createHangingVertex"
str OPERATION_DESTROY_HANGING_VERTEX = "destroyHangingVertex"
str OPERATION_CREATE_PERSISTENT_FACE = "createPersistentFace"
str OPERATION_DESTROY_PERSISTENT_FACE = "destroyPersistentFace"
str OPERATION_CREATE_HANGING_FACE = "createHangingFace"
str OPERATION_DESTROY_HANGING_FACE = "destroyHangingFace"
str OPERATION_CREATE_CELL = "createCell"
str OPERATION_DESTROY_CELL = "destroyCell"
str OPERATION_TOUCH_VERTEX_FIRST_TIME = "touchVertexFirstTime"
str OPERATION_TOUCH_VERTEX_LAST_TIME = "touchVertexLastTime"
str OPERATION_TOUCH_FACE_FIRST_TIME = "touchFaceFirstTime"
str OPERATION_TOUCH_FACE_LAST_TIME = "touchFaceLastTime"
str OPERATION_TOUCH_CELL_FIRST_TIME = "touchCellFirstTime"
str OPERATION_TOUCH_CELL_LAST_TIME = "touchCellLastTime"

Additional Inherited Members

Protected Attributes inherited from exahype2.solvers.limiting.actionsets.AbstractLimiterActionSet.AbstractLimiterActionSet
 _solver = solver

Detailed Description

Definition at line 8 of file SpreadLimiterStatus.py.

Constructor & Destructor Documentation

◆ __init__()

exahype2.solvers.limiting.actionsets.SpreadLimiterStatus.SpreadLimiterStatus.__init__ ( self,
solver,
guard )

Definition at line 31 of file SpreadLimiterStatus.py.

References __init__().

Referenced by __init__().

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

Member Function Documentation

◆ get_action_set_name()

exahype2.solvers.limiting.actionsets.SpreadLimiterStatus.SpreadLimiterStatus.get_action_set_name ( self)

Return unique action set name.

Returns a description (word) for the mapping which is also used as class name for the generated type. As a consequence, the result should be one word (if possible) and uppercase. Also, every subclass should overwrite this routine.

The generator will take the result and construct eventually classes similar to MyStep2Dummy.h and MyStep2Dummy.cpp or similar for the example below, where we return Dummy.

Reimplemented from exahype2.solvers.limiting.actionsets.AbstractLimiterActionSet.AbstractLimiterActionSet.

Definition at line 46 of file SpreadLimiterStatus.py.

◆ get_body_of_operation()

exahype2.solvers.limiting.actionsets.SpreadLimiterStatus.SpreadLimiterStatus.get_body_of_operation ( self,
operation_name )

Field Documentation

◆ guard

exahype2.solvers.limiting.actionsets.SpreadLimiterStatus.SpreadLimiterStatus.guard = guard

Definition at line 33 of file SpreadLimiterStatus.py.

Referenced by peano4.toolbox.blockstructured.ReconstructPatchAndApplyFunctor.ReconstructPatchAndApplyFunctor._add_action_set_entries_to_dictionary(), exahype2.solvers.aderdg.actionsets.Correction.Correction.get_body_of_operation(), exahype2.solvers.aderdg.actionsets.Prediction.Prediction.get_body_of_operation(), get_body_of_operation(), exahype2.solvers.limiting.actionsets.VerifyTroubledness.VerifyTroubledness.get_body_of_operation(), exahype2.solvers.rkdg.actionsets.AdaptivityCriterion.AdaptivityCriterion.get_body_of_operation(), exahype2.solvers.rkdg.actionsets.ComputeFinalLinearCombination.ComputeFinalLinearCombination.get_body_of_operation(), exahype2.solvers.rkdg.actionsets.InitialCondition.InitialCondition.get_body_of_operation(), exahype2.solvers.rkdg.actionsets.PostprocessSolution.CellWisePostprocessSolution.get_body_of_operation(), exahype2.solvers.rkdg.actionsets.PostprocessSolution.DoFWisePostprocessSolution.get_body_of_operation(), exahype2.solvers.rkdg.actionsets.PreprocessSolution.CellWisePreprocessSolution.get_body_of_operation(), exahype2.solvers.rkdg.actionsets.PreprocessSolution.DoFWisePreprocessSolution.get_body_of_operation(), exahype2.solvers.rkfd.actionsets.AdaptivityCriterion.AdaptivityCriterion.get_body_of_operation(), exahype2.solvers.rkfd.actionsets.ComputeFinalLinearCombination.ComputeFinalLinearCombination.get_body_of_operation(), exahype2.solvers.rkfd.actionsets.InitialCondition.InitialCondition.get_body_of_operation(), exahype2.solvers.rkfd.actionsets.PostprocessSolution.CellWisePostprocessSolution.get_body_of_operation(), exahype2.solvers.rkfd.actionsets.PreprocessSolution.CellWisePreprocessSolution.get_body_of_operation(), and exahype2.solvers.rkfd.actionsets.InitialCondition.InitialCondition.get_body_of_prepareTraversal().

◆ TemplateSpreadLimiterStatus

str exahype2.solvers.limiting.actionsets.SpreadLimiterStatus.SpreadLimiterStatus.TemplateSpreadLimiterStatus
static
Initial value:
= """
if ( {{PREDICATE}} ) {
if(fineGridCell{{SOLVER_NAME}}CellLabel.getTroubled_Marker()==celldata::{{SOLVER_NAME}}CellLabel::Troubled_Marker::TROUBLED) return;
bool hasTroubledNeighbour = false;
for(int d=0; d<2*Dimensions; d++){
hasTroubledNeighbour |= fineGridFaces{{SOLVER_NAME}}FaceLabel(d).getTroubled_Marker()==facedata::{{SOLVER_NAME}}FaceLabel::Troubled_Marker::TROUBLED;
}
if(hasTroubledNeighbour){
fineGridCell{{SOLVER_NAME}}CellLabel.setTroubled_Marker(celldata::{{SOLVER_NAME}}CellLabel::Troubled_Marker::LIMITER_TO_REGULAR);
for(int d=0; d<2*Dimensions; d++){
fineGridFaces{{SOLVER_NAME}}FaceLabel(d).setTroubled_Marker(
std::max(fineGridFaces{{SOLVER_NAME}}FaceLabel(d).getTroubled_Marker(),
facedata::{{SOLVER_NAME}}FaceLabel::Troubled_Marker::LIMITER_TO_REGULAR
)
);
}
}
}
"""

Definition at line 9 of file SpreadLimiterStatus.py.

Referenced by get_body_of_operation().


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