Peano
Loading...
Searching...
No Matches
solvers.aderdg.actionsets.DynamicAMR.DynamicAMR Class Reference

ExaHyPE 2 ADER-DG handling of adaptive meshes. More...

Inheritance diagram for solvers.aderdg.actionsets.DynamicAMR.DynamicAMR:
Collaboration diagram for solvers.aderdg.actionsets.DynamicAMR.DynamicAMR:

Public Member Functions

 __init__ (self, solver, delete_guard="false", interpolate_guard="false", restrict_guard="false")
 
 get_action_set_name (self)
 You should replicate this function in each subclass, so you get meaningful action set names (otherwise, it will be AbstractADERDGActionSet0,1,2,...).
 
 get_body_of_operation (self, operation_name)
 Return actual C++ code snippets to be inserted into C++ code.
 
 get_includes (self)
 Return include statements that you need.
 
- Public Member Functions inherited from solvers.aderdg.actionsets.AbstractADERDGActionSet.AbstractADERDGActionSet
 user_should_modify_template (self)
 Is the user allowed to modify the output.
 
- Public Member Functions inherited from peano4.api.solversteps.ActionSet.ActionSet
 get_constructor_body (self)
 Define a tailored constructor body.
 
 get_static_initialisations (self, full_qualified_classname)
 
 get_destructor_body (self)
 
 get_body_of_createGridControlEventsForNextTraversal (self)
 Return the grid control events that this action set wants to trigger.
 
 get_implementation_of_createGridControlEventsForNextTraversal (self)
 Return the C++ implementation of createGridControlEventsForNextTraversal()
 
 get_body_of_prepareTraversal (self)
 
 get_implementation_of_prepareTraversal (self)
 Return the C++ implementation of prepareTraversal()
 
 get_body_of_unprepareTraversal (self)
 
 get_implementation_of_unprepareTraversal (self)
 Return the C++ implementation of unprepareTraversal()
 
 get_guard_of_operation (self, operation_name)
 Return the guard of an operation.
 
 get_implementation_of_operation (self, operation_name)
 Return the C++ implementation of an operation.
 
bool may_run_in_background_task (self)
 May a task graph compiler move touchCellFirstTime() into a task.
 
 get_attributes (self)
 Return attributes as copied and pasted into the generated class.
 

Protected Attributes

 _delete_guard
 
 _interpolate_guard
 
 _restrict_guard
 
 _Template_CreateHangingFace
 
 _Template_DestroyHangingFace
 
 _Template_CreateCell
 
 _Template_DestroyCell
 
- Protected Attributes inherited from solvers.aderdg.actionsets.AbstractADERDGActionSet.AbstractADERDGActionSet
 _solver
 

Additional Inherited Members

- Data Fields inherited from peano4.api.solversteps.ActionSet.ActionSet
 descend_invocation_order
 
 parallel
 
- Static Public Attributes inherited from peano4.api.solversteps.ActionSet.ActionSet
int descend_invocation_order = 0
 
bool parallel = False
 
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"
 

Detailed Description

ExaHyPE 2 ADER-DG handling of adaptive meshes.

Despite the name this currently only handles static AMR, so this probably desperately needs to be renamed.

Definition at line 9 of file DynamicAMR.py.

Constructor & Destructor Documentation

◆ __init__()

solvers.aderdg.actionsets.DynamicAMR.DynamicAMR.__init__ (   self,
  solver,
  delete_guard = "false",
  interpolate_guard = "false",
  restrict_guard = "false" 
)

Reimplemented from solvers.aderdg.actionsets.AbstractADERDGActionSet.AbstractADERDGActionSet.

Definition at line 16 of file DynamicAMR.py.

References solvers.aderdg.actionsets.DynamicAMR.DynamicAMR.__init__().

Referenced by solvers.aderdg.actionsets.DynamicAMR.DynamicAMR.__init__().

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

Member Function Documentation

◆ get_action_set_name()

solvers.aderdg.actionsets.DynamicAMR.DynamicAMR.get_action_set_name (   self)

You should replicate this function in each subclass, so you get meaningful action set names (otherwise, it will be AbstractADERDGActionSet0,1,2,...).

Reimplemented from solvers.aderdg.actionsets.AbstractADERDGActionSet.AbstractADERDGActionSet.

Definition at line 123 of file DynamicAMR.py.

◆ get_body_of_operation()

solvers.aderdg.actionsets.DynamicAMR.DynamicAMR.get_body_of_operation (   self,
  operation_name 
)

Return actual C++ code snippets to be inserted into C++ code.

See class' string constants starting with OPERATION_ for possible values of operation_name. The snippet is executed if and only if the guard returned by get_guard_of_operation() holds, i.e. the body should not evaluate the guard itself. See the section "Guard and body" in the class documentation.

Reimplemented from peano4.api.solversteps.ActionSet.ActionSet.

Definition at line 126 of file DynamicAMR.py.

References solvers.aderdg.actionsets.DynamicAMR.DynamicAMR._delete_guard, solvers.aderdg.actionsets.DynamicAMR.DynamicAMR._interpolate_guard, solvers.aderdg.actionsets.DynamicAMR.DynamicAMR._restrict_guard, solvers.aderdg.actionsets.AbstractADERDGActionSet.AbstractADERDGActionSet._solver, solvers.fv.actionsets.AbstractFVActionSet.AbstractFVActionSet._solver, solvers.fv.EnclaveTasking.UpdateCell._solver, solvers.fv.SingleSweep.UpdateCell._solver, solvers.limiting.actionsets.AbstractLimiterActionSet.AbstractLimiterActionSet._solver, solvers.rkdg.actionsets.AbstractRungeKuttaDGActionSet.AbstractRungeKuttaDGActionSet._solver, exagrype.api.FD4WithKODissipation.FD4WithKODissipation._solver, exahype2.api.blockstructured.AdaptMeshAndBalanceLoad.AdaptMeshAndBalanceLoad._solver, exahype2.api.blockstructured.ConsumeRefinementRequests.ConsumeRefinementRequests._solver, exahype2.api.blockstructured.DynamicMeshRefinement.DynamicMeshRefinement._solver, exahype2.api.blockstructured.LoadCheckpoint._LoadPatchesFromCheckpoint._solver, exahype2.api.blockstructured.LoadCheckpoint.LoadCheckpoint._solver, exahype2.api.fv.actionsets.AbstractFVActionSet.AbstractFVActionSet._solver, exahype2.api.fv.actionsets.ApplyDirichletBoundaryConditions.ApplyDirichletBoundaryConditions._solver, exahype2.api.fv.actionsets.DiscardPatchInterior.DiscardPatchInterior._solver, exahype2.api.fv.AdaptMeshAndBalanceLoad.AdaptMeshAndBalanceLoad._solver, exahype2.api.fv.PlotAsVTKFile.PlotAsVTKFile._solver, exahype2.api.fv.RusanovWithExplicitEuler.RusanovWithExplicitEuler._solver, exahype2.api.fv.RusanovWithExplicitEuler.RusanovWithExplicitEulerGenerator._solver, exahype2.api.fv.RusanovWithOptimisticExplicitEuler.RusanovWithOptimisticExplicitEuler._solver, exahype2.api.fv.SetupSimulationOverRegularGrid.SetupSimulationOverRegularGrid._solver, exahype2.api.fv.SetupSimulationWithUserCodedRefinementCriterion.SetupSimulationWithUserCodedRefinementCriterion._solver, exahype2.api.fv.WriteCheckpoint.WriteCheckpoint._solver, exahype2.api.rkfd4.actionsets.AbstractRKFD4ActionSet.AbstractRKFD4ActionSet._solver, exahype2.api.rkfd4.actionsets.ApplyDirichletBoundaryConditions.ApplyDirichletBoundaryConditions._solver, exahype2.api.rkfd4.AdaptMeshAndBalanceLoad.AdaptMeshAndBalanceLoad._solver, exahype2.api.rkfd4.CentralDifferencesWithRungeKutta.CentralDifferencesWithRungeKutta._solver, exahype2.api.rkfd4.PlotAsVTKFile.PlotAsVTKFile._solver, exahype2.api.rkfd4.SetupSimulationOverRegularGrid.SetupSimulationOverRegularGrid._solver, exahype2.api.rkfd4.WriteCheckpoint.WriteCheckpoint._solver, exahype2.api.Solver.Solver.SolverGenerator._solver, exahype2.api.Solver.Solver.NumericalScheme._solver, exahype2.api.Solver.Solver.NumericalScheme.NumericalSchemeGenerator._solver, exahype2.api.Solver.Solver.GridConstruction._solver, exahype2.api.Solver.Solver.Plotter._solver, exahype2.api.Solver.Solver.MeshAdaptation._solver, 20_additional-solver-steps.RusanovWithDensityFloor._solver, 20_additional-solver-steps.RungeKuttaWithDensityFloor._solver, solvers.aderdg.actionsets.DynamicAMR.DynamicAMR._Template_CreateCell, solvers.fv.actionsets.DynamicAMR.DynamicAMR._Template_CreateCell, peano4.api.toolbox.multigrid.cellbased.ScalarJacobiWithRediscretisation.ScalarJacobiWithRediscretisation._Template_CreateCell, api.DynamicAMR.DynamicAMR._Template_CreateCell, grid.FaceLabel.UpdateFaceLabel._Template_CreateHangingFace, solvers.aderdg.actionsets.DynamicAMR.DynamicAMR._Template_CreateHangingFace, solvers.fv.actionsets.DynamicAMR.DynamicAMR._Template_CreateHangingFace, peano4.api.toolbox.multigrid.cellbased.ScalarJacobiWithRediscretisation.ScalarJacobiWithRediscretisation._Template_CreateHangingFace, api.DynamicAMR.DynamicAMR._Template_CreateHangingFace, solvers.aderdg.actionsets.DynamicAMR.DynamicAMR._Template_DestroyCell, solvers.fv.actionsets.DynamicAMR.DynamicAMR._Template_DestroyCell, api.DynamicAMR.DynamicAMR._Template_DestroyCell, grid.FaceLabel.UpdateFaceLabel._Template_DestroyHangingFace, solvers.aderdg.actionsets.DynamicAMR.DynamicAMR._Template_DestroyHangingFace, solvers.fv.actionsets.DynamicAMR.DynamicAMR._Template_DestroyHangingFace, peano4.api.toolbox.multigrid.cellbased.ScalarJacobiWithRediscretisation.ScalarJacobiWithRediscretisation._Template_DestroyHangingFace, and api.DynamicAMR.DynamicAMR._Template_DestroyHangingFace.

Referenced by peano4.api.solversteps.ActionSet.ActionSet.get_implementation_of_operation().

Here is the caller graph for this function:

◆ get_includes()

solvers.aderdg.actionsets.DynamicAMR.DynamicAMR.get_includes (   self)

Return include statements that you need.

All of these includes will eventually end up in the header of the generated C++ code.

Reimplemented from solvers.aderdg.actionsets.AbstractADERDGActionSet.AbstractADERDGActionSet.

Definition at line 152 of file DynamicAMR.py.

References solvers.aderdg.actionsets.AbstractADERDGActionSet.AbstractADERDGActionSet._solver, solvers.fv.actionsets.AbstractFVActionSet.AbstractFVActionSet._solver, solvers.fv.EnclaveTasking.UpdateCell._solver, solvers.fv.SingleSweep.UpdateCell._solver, solvers.limiting.actionsets.AbstractLimiterActionSet.AbstractLimiterActionSet._solver, solvers.rkdg.actionsets.AbstractRungeKuttaDGActionSet.AbstractRungeKuttaDGActionSet._solver, exagrype.api.FD4WithKODissipation.FD4WithKODissipation._solver, exahype2.api.blockstructured.AdaptMeshAndBalanceLoad.AdaptMeshAndBalanceLoad._solver, exahype2.api.blockstructured.ConsumeRefinementRequests.ConsumeRefinementRequests._solver, exahype2.api.blockstructured.DynamicMeshRefinement.DynamicMeshRefinement._solver, exahype2.api.blockstructured.LoadCheckpoint._LoadPatchesFromCheckpoint._solver, exahype2.api.blockstructured.LoadCheckpoint.LoadCheckpoint._solver, exahype2.api.fv.actionsets.AbstractFVActionSet.AbstractFVActionSet._solver, exahype2.api.fv.actionsets.ApplyDirichletBoundaryConditions.ApplyDirichletBoundaryConditions._solver, exahype2.api.fv.actionsets.DiscardPatchInterior.DiscardPatchInterior._solver, exahype2.api.fv.AdaptMeshAndBalanceLoad.AdaptMeshAndBalanceLoad._solver, exahype2.api.fv.PlotAsVTKFile.PlotAsVTKFile._solver, exahype2.api.fv.RusanovWithExplicitEuler.RusanovWithExplicitEuler._solver, exahype2.api.fv.RusanovWithExplicitEuler.RusanovWithExplicitEulerGenerator._solver, exahype2.api.fv.RusanovWithOptimisticExplicitEuler.RusanovWithOptimisticExplicitEuler._solver, exahype2.api.fv.SetupSimulationOverRegularGrid.SetupSimulationOverRegularGrid._solver, exahype2.api.fv.SetupSimulationWithUserCodedRefinementCriterion.SetupSimulationWithUserCodedRefinementCriterion._solver, exahype2.api.fv.WriteCheckpoint.WriteCheckpoint._solver, exahype2.api.rkfd4.actionsets.AbstractRKFD4ActionSet.AbstractRKFD4ActionSet._solver, exahype2.api.rkfd4.actionsets.ApplyDirichletBoundaryConditions.ApplyDirichletBoundaryConditions._solver, exahype2.api.rkfd4.AdaptMeshAndBalanceLoad.AdaptMeshAndBalanceLoad._solver, exahype2.api.rkfd4.CentralDifferencesWithRungeKutta.CentralDifferencesWithRungeKutta._solver, exahype2.api.rkfd4.PlotAsVTKFile.PlotAsVTKFile._solver, exahype2.api.rkfd4.SetupSimulationOverRegularGrid.SetupSimulationOverRegularGrid._solver, exahype2.api.rkfd4.WriteCheckpoint.WriteCheckpoint._solver, exahype2.api.Solver.Solver.SolverGenerator._solver, exahype2.api.Solver.Solver.NumericalScheme._solver, exahype2.api.Solver.Solver.NumericalScheme.NumericalSchemeGenerator._solver, exahype2.api.Solver.Solver.GridConstruction._solver, exahype2.api.Solver.Solver.Plotter._solver, exahype2.api.Solver.Solver.MeshAdaptation._solver, 20_additional-solver-steps.RusanovWithDensityFloor._solver, 20_additional-solver-steps.RungeKuttaWithDensityFloor._solver, and solvers.aderdg.actionsets.DynamicAMR.DynamicAMR.get_includes().

Referenced by solvers.aderdg.actionsets.DynamicAMR.DynamicAMR.get_includes().

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

Field Documentation

◆ _delete_guard

solvers.aderdg.actionsets.DynamicAMR.DynamicAMR._delete_guard
protected

◆ _interpolate_guard

solvers.aderdg.actionsets.DynamicAMR.DynamicAMR._interpolate_guard
protected

◆ _restrict_guard

solvers.aderdg.actionsets.DynamicAMR.DynamicAMR._restrict_guard
protected

◆ _Template_CreateCell

◆ _Template_CreateHangingFace

◆ _Template_DestroyCell

solvers.aderdg.actionsets.DynamicAMR.DynamicAMR._Template_DestroyCell
protected

◆ _Template_DestroyHangingFace


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