|
Peano
|
Preprocess solution mesh cell by mesh cell without mesh cell interactions. More...


Public Member Functions | |
| __init__ (self, solver) | |
| solver: ADERDG Reference to creating class | |
| add_postprocessing_kernel (self, operation_per_point) | |
| Add a code snippet which is applied to each and every point. | |
| get_body_of_operation (self, operation_name) | |
| Return actual C++ code snippets to be inserted into C++ code. | |
| get_action_set_name (self) | |
| You should replicate this function in each subclass, so you get meaningful action set names (otherwise, it will be AbstractRKFDActionSet0,1,2,...). | |
Public Member Functions inherited from exahype2.solvers.rkfd.actionsets.AbstractRKFDActionSet.AbstractRKFDActionSet | |
| 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 | |
| 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 | |
| descend_invocation_order | |
Data Fields inherited from peano4.solversteps.ActionSet.ActionSet | |
| descend_invocation_order | |
| parallel | |
Protected Attributes | |
| _compute_kernel | |
Protected Attributes inherited from exahype2.solvers.rkfd.actionsets.AbstractRKFDActionSet.AbstractRKFDActionSet | |
| _solver | |
Preprocess solution mesh cell by mesh cell without mesh cell interactions.
PreprocessSolution differs from other action sets, as I only create it once. See FV.create_action_sets(). Once the instance does exist, you can tailor it. But you can also completely overwrite it.
The postprocessing plugs into touch cell last time. It is the last action set added by the default implementation. Therefore, it is the first action set of which touchCellLastTime() is called. The reason why I plug into the leaving of the cell is that some solvers may add further action sets to the solve. Enclave tasking for example adds the merger as additional action set. These action sets plug into touchCellFirstTime() - and consequently their first time is called after the postprocessing's first time. By making the postprocessing use touchCellLastTime(), I ensure that any additional action set added by a subclass can still precede the postprocessing.
Definition at line 154 of file PreprocessSolution.py.
| exahype2.solvers.rkfd.actionsets.PreprocessSolution.CellWisePreprocessSolution.__init__ | ( | self, | |
| solver ) |
solver: ADERDG Reference to creating class
Reimplemented from exahype2.solvers.rkfd.actionsets.AbstractRKFDActionSet.AbstractRKFDActionSet.
Definition at line 175 of file PreprocessSolution.py.
| exahype2.solvers.rkfd.actionsets.PreprocessSolution.CellWisePreprocessSolution.add_postprocessing_kernel | ( | self, | |
| operation_per_point ) |
Add a code snippet which is applied to each and every point.
You have the following variables which are well-defined:
operation_per_point: String C/C++ code snippet
Definition at line 182 of file PreprocessSolution.py.
References exahype2.solvers.aderdg.actionsets.PostprocessSolution.EmptyPostprocessSolution._compute_kernel, exahype2.solvers.aderdg.actionsets.PostprocessSolution.DoFWisePostprocessSolution._compute_kernel, exahype2.solvers.aderdg.actionsets.PostprocessSolution.CellWisePostprocessSolution._compute_kernel, exahype2.solvers.fv.actionsets.PostprocessSolution.VolumeWisePostprocessSolution._compute_kernel, exahype2.solvers.fv.actionsets.PreprocessSolution.VolumeWisePreprocessSolution._compute_kernel, exahype2.solvers.rkdg.actionsets.PostprocessSolution.DoFWisePostprocessSolution._compute_kernel, exahype2.solvers.rkdg.actionsets.PostprocessSolution.CellWisePostprocessSolution._compute_kernel, exahype2.solvers.rkdg.actionsets.PreprocessSolution.DoFWisePreprocessSolution._compute_kernel, exahype2.solvers.rkdg.actionsets.PreprocessSolution.CellWisePreprocessSolution._compute_kernel, exahype2.solvers.rkfd.actionsets.PostprocessSolution.CellWisePostprocessSolution._compute_kernel, and exahype2.solvers.rkfd.actionsets.PreprocessSolution.CellWisePreprocessSolution._compute_kernel.
| exahype2.solvers.rkfd.actionsets.PreprocessSolution.CellWisePreprocessSolution.get_action_set_name | ( | self | ) |
You should replicate this function in each subclass, so you get meaningful action set names (otherwise, it will be AbstractRKFDActionSet0,1,2,...).
Reimplemented from exahype2.solvers.rkfd.actionsets.AbstractRKFDActionSet.AbstractRKFDActionSet.
Definition at line 231 of file PreprocessSolution.py.
| exahype2.solvers.rkfd.actionsets.PreprocessSolution.CellWisePreprocessSolution.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.
Reimplemented from peano4.solversteps.ActionSet.ActionSet.
Definition at line 219 of file PreprocessSolution.py.
References exahype2.solvers.aderdg.actionsets.PostprocessSolution.EmptyPostprocessSolution._compute_kernel, exahype2.solvers.aderdg.actionsets.PostprocessSolution.DoFWisePostprocessSolution._compute_kernel, exahype2.solvers.aderdg.actionsets.PostprocessSolution.CellWisePostprocessSolution._compute_kernel, exahype2.solvers.fv.actionsets.PostprocessSolution.VolumeWisePostprocessSolution._compute_kernel, exahype2.solvers.fv.actionsets.PreprocessSolution.VolumeWisePreprocessSolution._compute_kernel, exahype2.solvers.rkdg.actionsets.PostprocessSolution.DoFWisePostprocessSolution._compute_kernel, exahype2.solvers.rkdg.actionsets.PostprocessSolution.CellWisePostprocessSolution._compute_kernel, exahype2.solvers.rkdg.actionsets.PreprocessSolution.DoFWisePreprocessSolution._compute_kernel, exahype2.solvers.rkdg.actionsets.PreprocessSolution.CellWisePreprocessSolution._compute_kernel, exahype2.solvers.rkfd.actionsets.PostprocessSolution.CellWisePostprocessSolution._compute_kernel, exahype2.solvers.rkfd.actionsets.PreprocessSolution.CellWisePreprocessSolution._compute_kernel, exahype2.solvers.aderdg.actionsets.AbstractADERDGActionSet.AbstractADERDGActionSet._solver, exahype2.solvers.fv.actionsets.AbstractFVActionSet.AbstractFVActionSet._solver, exahype2.solvers.fv.EnclaveTasking.UpdateCell._solver, exahype2.solvers.fv.SingleSweep.UpdateCell._solver, exahype2.solvers.limiting.actionsets.AbstractLimiterActionSet.AbstractLimiterActionSet._solver, exahype2.solvers.rkdg.actionsets.AbstractRungeKuttaDGActionSet.AbstractRungeKuttaDGActionSet._solver, exahype2.solvers.rkfd.actionsets.AbstractRKFDActionSet.AbstractRKFDActionSet._solver, exahype2.solvers.rkfd.actionsets.PreprocessSolution.PreprocessReconstructedSolutionWithHalo._solver, exahype2.solvers.rkfd.OneSweepPerRungeKuttaStep.UpdateCell._solver, exahype2.solvers.rkfd.SeparateSweeps.UpdateCell._solver, exahype2.solvers.rkfd.SeparateSweepsWithEnclaveTasking.UpdateCell._solver, exahype2.solvers.fv.actionsets.AdaptivityCriterion.AdaptivityCriterion.guard, exahype2.solvers.fv.actionsets.HandleBoundary.HandleBoundary.guard, exahype2.solvers.fv.actionsets.InitialCondition.InitialCondition.guard, exahype2.solvers.fv.actionsets.PostprocessSolution.EmptyPostprocessSolution.guard, exahype2.solvers.fv.actionsets.PostprocessSolution.VolumeWisePostprocessSolution.guard, exahype2.solvers.fv.actionsets.PreprocessSolution.EmptyPreprocessSolution.guard, exahype2.solvers.fv.actionsets.PreprocessSolution.VolumeWisePreprocessSolution.guard, exahype2.solvers.fv.EnclaveTasking.MergeEnclaveTaskOutcome.guard, exahype2.solvers.limiting.actionsets.SaveNewCellData.SaveNewCellData.guard, exahype2.solvers.limiting.actionsets.SpreadLimiterStatus.SpreadLimiterStatus.guard, exahype2.solvers.limiting.actionsets.VerifyTroubledness.VerifyTroubledness.guard, exahype2.solvers.rkdg.actionsets.AdaptivityCriterion.AdaptivityCriterion.guard, exahype2.solvers.rkdg.actionsets.ComputeFinalLinearCombination.ComputeFinalLinearCombination.guard, exahype2.solvers.rkdg.actionsets.InitialCondition.InitialCondition.guard, exahype2.solvers.rkdg.actionsets.PostprocessSolution.EmptyPostprocessSolution.guard, exahype2.solvers.rkdg.actionsets.PostprocessSolution.DoFWisePostprocessSolution.guard, exahype2.solvers.rkdg.actionsets.PostprocessSolution.CellWisePostprocessSolution.guard, exahype2.solvers.rkdg.actionsets.PreprocessSolution.EmptyPreprocessSolution.guard, exahype2.solvers.rkdg.actionsets.PreprocessSolution.DoFWisePreprocessSolution.guard, exahype2.solvers.rkdg.actionsets.PreprocessSolution.CellWisePreprocessSolution.guard, exahype2.solvers.rkfd.actionsets.AdaptivityCriterion.AdaptivityCriterion.guard, exahype2.solvers.rkfd.actionsets.ComputeFinalLinearCombination.ComputeFinalLinearCombination.guard, exahype2.solvers.rkfd.actionsets.HandleBoundary.HandleBoundary.guard, exahype2.solvers.rkfd.actionsets.InitialCondition.InitialCondition.guard, exahype2.solvers.rkfd.actionsets.PostprocessSolution.EmptyPostprocessSolution.guard, exahype2.solvers.rkfd.actionsets.PostprocessSolution.CellWisePostprocessSolution.guard, exahype2.solvers.rkfd.actionsets.PreprocessSolution.EmptyPreprocessSolution.guard, exahype2.solvers.rkfd.actionsets.PreprocessSolution.CellWisePreprocessSolution.guard, exahype2.solvers.rkfd.actionsets.RollOverUpdatedFace.RollOverUpdatedFace.guard, peano4.toolbox.blockstructured.ProjectPatchOntoFaces.ProjectPatchOntoFaces.guard(), peano4.toolbox.blockstructured.ProjectPatchOntoFaces.ProjectPatchOntoFaces.guard(), and peano4.toolbox.blockstructured.ReconstructPatchAndApplyFunctor.ReconstructPatchAndApplyFunctor.guard.

|
protected |
Definition at line 178 of file PreprocessSolution.py.
Referenced by exahype2.solvers.aderdg.actionsets.PostprocessSolution.CellWisePostprocessSolution.add_postprocessing_kernel(), exahype2.solvers.rkdg.actionsets.PostprocessSolution.CellWisePostprocessSolution.add_postprocessing_kernel(), exahype2.solvers.rkdg.actionsets.PreprocessSolution.CellWisePreprocessSolution.add_postprocessing_kernel(), exahype2.solvers.aderdg.actionsets.PostprocessSolution.DoFWisePostprocessSolution.add_postprocessing_kernel(), exahype2.solvers.fv.actionsets.PostprocessSolution.VolumeWisePostprocessSolution.add_postprocessing_kernel(), exahype2.solvers.fv.actionsets.PreprocessSolution.VolumeWisePreprocessSolution.add_postprocessing_kernel(), exahype2.solvers.rkdg.actionsets.PostprocessSolution.DoFWisePostprocessSolution.add_postprocessing_kernel(), exahype2.solvers.rkdg.actionsets.PreprocessSolution.DoFWisePreprocessSolution.add_postprocessing_kernel(), exahype2.solvers.rkfd.actionsets.PostprocessSolution.CellWisePostprocessSolution.add_postprocessing_kernel(), exahype2.solvers.rkfd.actionsets.PreprocessSolution.CellWisePreprocessSolution.add_postprocessing_kernel(), exahype2.solvers.aderdg.actionsets.PostprocessSolution.EmptyPostprocessSolution.get_body_of_operation(), exahype2.solvers.aderdg.actionsets.PostprocessSolution.DoFWisePostprocessSolution.get_body_of_operation(), exahype2.solvers.aderdg.actionsets.PostprocessSolution.CellWisePostprocessSolution.get_body_of_operation(), exahype2.solvers.fv.actionsets.PostprocessSolution.VolumeWisePostprocessSolution.get_body_of_operation(), exahype2.solvers.fv.actionsets.PreprocessSolution.VolumeWisePreprocessSolution.get_body_of_operation(), exahype2.solvers.rkdg.actionsets.PostprocessSolution.DoFWisePostprocessSolution.get_body_of_operation(), exahype2.solvers.rkdg.actionsets.PostprocessSolution.CellWisePostprocessSolution.get_body_of_operation(), exahype2.solvers.rkdg.actionsets.PreprocessSolution.DoFWisePreprocessSolution.get_body_of_operation(), exahype2.solvers.rkdg.actionsets.PreprocessSolution.CellWisePreprocessSolution.get_body_of_operation(), exahype2.solvers.rkfd.actionsets.PostprocessSolution.CellWisePostprocessSolution.get_body_of_operation(), and exahype2.solvers.rkfd.actionsets.PreprocessSolution.CellWisePreprocessSolution.get_body_of_operation().
| exahype2.solvers.rkfd.actionsets.PreprocessSolution.CellWisePreprocessSolution.descend_invocation_order |
Definition at line 179 of file PreprocessSolution.py.
| exahype2.solvers.rkfd.actionsets.PreprocessSolution.CellWisePreprocessSolution.guard |
Definition at line 177 of file PreprocessSolution.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(), exahype2.solvers.fv.actionsets.AdaptivityCriterion.AdaptivityCriterion.get_body_of_operation(), exahype2.solvers.fv.actionsets.InitialCondition.InitialCondition.get_body_of_operation(), exahype2.solvers.fv.actionsets.PostprocessSolution.VolumeWisePostprocessSolution.get_body_of_operation(), exahype2.solvers.fv.actionsets.PreprocessSolution.VolumeWisePreprocessSolution.get_body_of_operation(), exahype2.solvers.fv.EnclaveTasking.MergeEnclaveTaskOutcome.get_body_of_operation(), exahype2.solvers.limiting.actionsets.SaveNewCellData.SaveNewCellData.get_body_of_operation(), exahype2.solvers.limiting.actionsets.SpreadLimiterStatus.SpreadLimiterStatus.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.DoFWisePostprocessSolution.get_body_of_operation(), exahype2.solvers.rkdg.actionsets.PostprocessSolution.CellWisePostprocessSolution.get_body_of_operation(), exahype2.solvers.rkdg.actionsets.PreprocessSolution.DoFWisePreprocessSolution.get_body_of_operation(), exahype2.solvers.rkdg.actionsets.PreprocessSolution.CellWisePreprocessSolution.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(), exahype2.solvers.fv.actionsets.InitialCondition.InitialCondition.get_body_of_prepareTraversal(), and exahype2.solvers.rkfd.actionsets.InitialCondition.InitialCondition.get_body_of_prepareTraversal().