Peano
Loading...
Searching...
No Matches
peano4.toolbox.blockstructured.ReconstructPatchAndApplyFunctor.ReconstructPatchAndApplyFunctor Class Reference

This class assumes that you have NxNxN patch within your block. More...

Inheritance diagram for peano4.toolbox.blockstructured.ReconstructPatchAndApplyFunctor.ReconstructPatchAndApplyFunctor:
Collaboration diagram for peano4.toolbox.blockstructured.ReconstructPatchAndApplyFunctor.ReconstructPatchAndApplyFunctor:

Public Member Functions

 __init__ (self, patch, patch_overlap, functor_implementation, reconstructed_array_memory_location=ReconstructedArrayMemoryLocation.Heap, guard="true", add_assertions_to_halo_exchange=True)
 patch: peano4.datamodel.Patch Patch which is to be used
 
 get_constructor_body (self)
 Define a tailored constructor body.
 
 get_action_set_name (self)
 Return unique action set name.
 
 user_should_modify_template (self)
 Is the user allowed to modify the output.
 
 get_body_of_operation (self, operation_name)
 Return actual C++ code snippets to be inserted into C++ code.
 
 get_attributes (self)
 Return attributes as copied and pasted into the generated class.
 
 get_includes (self)
 Return include statements that you need.
 
- Public Member Functions inherited from peano4.solversteps.ActionSet.ActionSet
 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)
 

Data Fields

 guard
 
 no_of_unknowns
 
 dofs_per_axis
 
 total_overlap
 
 overlap_name
 
 patch_name
 
 functor_implementation
 
 add_assertions_to_halo_exchange
 
 reconstructed_array_memory_location
 
- Data Fields inherited from peano4.solversteps.ActionSet.ActionSet
 descend_invocation_order
 
 parallel
 

Protected Member Functions

 _add_action_set_entries_to_dictionary (self, d)
 Befill dictionary.
 

Static Protected Attributes

str _Template_TouchCellFirstTime_Preamble
 
str _Template_TouchCellFirstTime_Fill_Patch
 
str _Template_TouchCellFirstTime_Fill_Halos
 
str _Template_TouchCellFirstTime_Core
 
str _Template_TouchCellFirstTime_Epilogue
 

Additional Inherited Members

- 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"
 

Detailed Description

This class assumes that you have NxNxN patch within your block.

It also assumes that you have an 2MxNxN patch on your faces. M<N. The code interprets these face-associated data as overlap with the patch, hooks into touchCellLastTime, and projects the cell's patch data onto the overlap (simple copy). See ProjectPatchOntoFaces for details.

If the face patches are auxiliary patches holding copies from the cell patches, then we can reconstruct N+2M x N+2M x N+2M patches per cell whenever we hit a cell: We create a new temporary array, and copy data from both the cell patch and the faces into this array (gather operation). After that, we can launch the passed functor giving it access to the temporary, large array plus the original patch data.

If you want to swap the functor, please replace self.functor_implementation, and ensure that all external references (text replacements) are already resolved. Consult _add_action_set_entries_to_dictionary() for details.

Definition at line 32 of file ReconstructPatchAndApplyFunctor.py.

Constructor & Destructor Documentation

◆ __init__()

peano4.toolbox.blockstructured.ReconstructPatchAndApplyFunctor.ReconstructPatchAndApplyFunctor.__init__ ( self,
patch,
patch_overlap,
functor_implementation,
reconstructed_array_memory_location = ReconstructedArrayMemoryLocation.Heap,
guard = "true",
add_assertions_to_halo_exchange = True )

patch: peano4.datamodel.Patch Patch which is to be used

patch_overlap: peano4.datamodel.Patch Consult remark above about how the dimensions of this overlap patch have to match

Functor_implementation

The functor implementation is a plain C/C++

  • If you want to use brackets in your implementation, please use double brackets {{ }} as the template system otherwise gets confused.
  • The following C++ variables are defined:

oldQWithHalo newQ

Both are plain double pointers.

Data validation

I use quite a lot of validitiy checks for the copied data via comparison to its self. This way, I can at least spot nans. I use the dictionary entries ASSERTION_WITH_X_ARGUMENTS to realise this, and they are, by default, set to Peano's assertion macros. You can redefine them.

Reimplemented from peano4.solversteps.ActionSet.ActionSet.

Reimplemented in ComputeFirstDerivatives.ComputeFirstDerivativesFV, exahype2.solvers.fv.EnclaveTasking.UpdateCell, exahype2.solvers.fv.SingleSweep.UpdateCell, exahype2.solvers.rkfd.OneSweepPerRungeKuttaStep.UpdateCell, exahype2.solvers.rkfd.SeparateSweeps.UpdateCell, exahype2.solvers.rkfd.SeparateSweepsWithEnclaveTasking.UpdateCell, exahype2.solvers.rkfd.actionsets.PreprocessSolution.PreprocessReconstructedSolutionWithHalo, and ComputeFirstDerivatives.ComputeFirstDerivativesFD4RK.

Definition at line 52 of file ReconstructPatchAndApplyFunctor.py.

References peano4.toolbox.blockstructured.ReconstructPatchAndApplyFunctor.ReconstructPatchAndApplyFunctor.__init__(), and assert.

Referenced by peano4.toolbox.blockstructured.ReconstructPatchAndApplyFunctor.ReconstructPatchAndApplyFunctor.__init__().

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

Member Function Documentation

◆ _add_action_set_entries_to_dictionary()

peano4.toolbox.blockstructured.ReconstructPatchAndApplyFunctor.ReconstructPatchAndApplyFunctor._add_action_set_entries_to_dictionary ( self,
d )
protected

Befill dictionary.

If you inherit from this class and specialise this routine, you can add more entries to the dictionary. This is important if you change the actual compute kernels (templates) and use futher unknowns in there. If you specialise the function, i.e. overwrite it in a subclass, please ensure that you use the superclass still.

Please note that we do not replace entries in the functor implementation: The overall code created by this action set consists of different parts realised as different templates. The templates are subject to a text replacement system and then are concatenated. One of the things that is replaced within the templates is the actual functor implementation (CELL_FUNCTOR_IMPLEMENTATION). If this one contains again free parameters, it is your responsibility to first resolve those parameters, and then to reset the functor in this routine.

If you want to replace the functor, you can hence either first call this routine and then change d["CELL_FUNCTOR_IMPLEMENTATION"] or you set self.functor_implementation and then you call this routine, i.e. the superclass.

Reimplemented in ComputeFirstDerivatives.ComputeFirstDerivativesFD4RK, exahype2.solvers.fv.EnclaveTasking.UpdateCell, exahype2.solvers.fv.SingleSweep.UpdateCell, exahype2.solvers.rkfd.OneSweepPerRungeKuttaStep.UpdateCell, exahype2.solvers.rkfd.SeparateSweeps.UpdateCell, and exahype2.solvers.rkfd.SeparateSweepsWithEnclaveTasking.UpdateCell.

Definition at line 116 of file ReconstructPatchAndApplyFunctor.py.

References peano4.toolbox.blockstructured.ReconstructPatchAndApplyFunctor.ReconstructPatchAndApplyFunctor.add_assertions_to_halo_exchange, exahype2.solvers.LagrangeBasis.LagrangeBasis.dofs_per_axis(), exahype2.solvers.LagrangeBasisWithDiagonalMassMatrix.LagrangeBasisWithDiagonalMassMatrix.dofs_per_axis, peano4.toolbox.blockstructured.ReconstructPatchAndApplyFunctor.ReconstructPatchAndApplyFunctor.dofs_per_axis, exahype2.solvers.fv.EnclaveTasking.UpdateCell.functor_implementation, peano4.toolbox.blockstructured.ReconstructPatchAndApplyFunctor.ReconstructPatchAndApplyFunctor.functor_implementation, 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(), peano4.toolbox.blockstructured.ReconstructPatchAndApplyFunctor.ReconstructPatchAndApplyFunctor.guard, int, peano4.datamodel.Patch.Patch.no_of_unknowns, peano4.toolbox.blockstructured.ReconstructPatchAndApplyFunctor.ReconstructPatchAndApplyFunctor.no_of_unknowns, peano4.toolbox.blockstructured.ReconstructPatchAndApplyFunctor.ReconstructPatchAndApplyFunctor.overlap_name, peano4.toolbox.blockstructured.ReconstructPatchAndApplyFunctor.ReconstructPatchAndApplyFunctor.patch_name, peano4.toolbox.blockstructured.ReconstructPatchAndApplyFunctor.ReconstructPatchAndApplyFunctor.reconstructed_array_memory_location, and peano4.toolbox.blockstructured.ReconstructPatchAndApplyFunctor.ReconstructPatchAndApplyFunctor.total_overlap.

Referenced by peano4.toolbox.blockstructured.ReconstructPatchAndApplyFunctor.ReconstructPatchAndApplyFunctor.get_body_of_operation().

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

◆ get_action_set_name()

peano4.toolbox.blockstructured.ReconstructPatchAndApplyFunctor.ReconstructPatchAndApplyFunctor.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 peano4.solversteps.ActionSet.ActionSet.

Reimplemented in ComputeFirstDerivatives.ComputeFirstDerivativesFV, ComputeFirstDerivatives.ComputeFirstDerivativesFD4RK, exahype2.solvers.fv.EnclaveTasking.UpdateCell, exahype2.solvers.rkfd.actionsets.PreprocessSolution.PreprocessReconstructedSolutionWithHalo, exahype2.solvers.rkfd.SeparateSweeps.UpdateCell, and exahype2.solvers.rkfd.SeparateSweepsWithEnclaveTasking.UpdateCell.

Definition at line 228 of file ReconstructPatchAndApplyFunctor.py.

◆ get_attributes()

peano4.toolbox.blockstructured.ReconstructPatchAndApplyFunctor.ReconstructPatchAndApplyFunctor.get_attributes ( self)

Return attributes as copied and pasted into the generated class.

Please note that action sets are not persistent, i.e. there is one object creation per grid sweep per tree.

Reimplemented from peano4.solversteps.ActionSet.ActionSet.

Definition at line 353 of file ReconstructPatchAndApplyFunctor.py.

◆ get_body_of_operation()

peano4.toolbox.blockstructured.ReconstructPatchAndApplyFunctor.ReconstructPatchAndApplyFunctor.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 339 of file ReconstructPatchAndApplyFunctor.py.

References ComputeFirstDerivatives.ComputeFirstDerivativesFD4RK._add_action_set_entries_to_dictionary(), exahype2.solvers.fv.EnclaveTasking.UpdateCell._add_action_set_entries_to_dictionary(), exahype2.solvers.fv.SingleSweep.UpdateCell._add_action_set_entries_to_dictionary(), exahype2.solvers.rkfd.OneSweepPerRungeKuttaStep.UpdateCell._add_action_set_entries_to_dictionary(), exahype2.solvers.rkfd.SeparateSweeps.UpdateCell._add_action_set_entries_to_dictionary(), exahype2.solvers.rkfd.SeparateSweepsWithEnclaveTasking.UpdateCell._add_action_set_entries_to_dictionary(), peano4.toolbox.blockstructured.ReconstructPatchAndApplyFunctor.ReconstructPatchAndApplyFunctor._add_action_set_entries_to_dictionary(), exahype2.solvers.aderdg.actionsets.Prediction.Prediction._Template_TouchCellFirstTime_Core, peano4.toolbox.blockstructured.ReconstructPatchAndApplyFunctor.ReconstructPatchAndApplyFunctor._Template_TouchCellFirstTime_Core, exahype2.solvers.aderdg.actionsets.Prediction.Prediction._Template_TouchCellFirstTime_Epilogue, peano4.toolbox.blockstructured.ReconstructPatchAndApplyFunctor.ReconstructPatchAndApplyFunctor._Template_TouchCellFirstTime_Epilogue, peano4.toolbox.blockstructured.ReconstructPatchAndApplyFunctor.ReconstructPatchAndApplyFunctor._Template_TouchCellFirstTime_Fill_Halos, peano4.toolbox.blockstructured.ReconstructPatchAndApplyFunctor.ReconstructPatchAndApplyFunctor._Template_TouchCellFirstTime_Fill_Patch, exahype2.solvers.aderdg.actionsets.Prediction.Prediction._Template_TouchCellFirstTime_Preamble, exahype2.solvers.fv.EnclaveTasking.UpdateCell._Template_TouchCellFirstTime_Preamble, exahype2.solvers.fv.SingleSweep.UpdateCell._Template_TouchCellFirstTime_Preamble, exahype2.solvers.rkfd.OneSweepPerRungeKuttaStep.UpdateCell._Template_TouchCellFirstTime_Preamble, exahype2.solvers.rkfd.SeparateSweeps.UpdateCell._Template_TouchCellFirstTime_Preamble, exahype2.solvers.rkfd.SeparateSweepsWithEnclaveTasking.UpdateCell._Template_TouchCellFirstTime_Preamble, and peano4.toolbox.blockstructured.ReconstructPatchAndApplyFunctor.ReconstructPatchAndApplyFunctor._Template_TouchCellFirstTime_Preamble.

Here is the call graph for this function:

◆ get_constructor_body()

peano4.toolbox.blockstructured.ReconstructPatchAndApplyFunctor.ReconstructPatchAndApplyFunctor.get_constructor_body ( self)

Define a tailored constructor body.

By default, the constructor of an action set is empty. If you you assign attributes to your action set, you however might want to initialise them here. We do not support initialisation lists, to all has to be done via setters unless you create attributes on the heap.

The constructor's signature will look similar to

   EnumerateAndInitSolution2petsc_actionsets_InitVertexDoFs0(int treeNumber);

where the treeNumber is -1 if this is the global instance of the action set owned by a rank, or a number greater or equal 0 if this action set is a clone of the glocal action set that's used by one tree traversal.

See also
get_attributes() to add attributes to your action set

Reimplemented from peano4.solversteps.ActionSet.ActionSet.

Definition at line 223 of file ReconstructPatchAndApplyFunctor.py.

◆ get_includes()

◆ user_should_modify_template()

peano4.toolbox.blockstructured.ReconstructPatchAndApplyFunctor.ReconstructPatchAndApplyFunctor.user_should_modify_template ( self)

Is the user allowed to modify the output.

Return whether you expect the user to modify the generated code. If this is the case, then the API places the generated output in the directory actions. Otherwise, it goes into the observer directory and will be overwritten in each and every Python run.

Reimplemented from peano4.solversteps.ActionSet.ActionSet.

Reimplemented in ComputeFirstDerivatives.ComputeFirstDerivativesFV, and ComputeFirstDerivatives.ComputeFirstDerivativesFD4RK.

Definition at line 232 of file ReconstructPatchAndApplyFunctor.py.

Field Documentation

◆ _Template_TouchCellFirstTime_Core

str peano4.toolbox.blockstructured.ReconstructPatchAndApplyFunctor.ReconstructPatchAndApplyFunctor._Template_TouchCellFirstTime_Core
staticprotected
Initial value:
= """
double* newQ = {CELL_ACCESSOR}.value;
{CELL_FUNCTOR_IMPLEMENTATION}
{DESTROY_RECONSTRUCTED_PATCH}
"""

Definition at line 325 of file ReconstructPatchAndApplyFunctor.py.

Referenced by exahype2.solvers.aderdg.actionsets.Prediction.Prediction.get_body_of_operation(), and peano4.toolbox.blockstructured.ReconstructPatchAndApplyFunctor.ReconstructPatchAndApplyFunctor.get_body_of_operation().

◆ _Template_TouchCellFirstTime_Epilogue

str peano4.toolbox.blockstructured.ReconstructPatchAndApplyFunctor.ReconstructPatchAndApplyFunctor._Template_TouchCellFirstTime_Epilogue
staticprotected

◆ _Template_TouchCellFirstTime_Fill_Halos

str peano4.toolbox.blockstructured.ReconstructPatchAndApplyFunctor.ReconstructPatchAndApplyFunctor._Template_TouchCellFirstTime_Fill_Halos
staticprotected

◆ _Template_TouchCellFirstTime_Fill_Patch

str peano4.toolbox.blockstructured.ReconstructPatchAndApplyFunctor.ReconstructPatchAndApplyFunctor._Template_TouchCellFirstTime_Fill_Patch
staticprotected
Initial value:
= """
//
// Loop over original patch (k) and copy stuff over.
//
dfor(sourceCell,{DOFS_PER_AXIS}) {{
tarch::la::Vector<Dimensions,int> destinationCell = sourceCell + tarch::la::Vector<Dimensions,int>({OVERLAP});
int sourceCellSerialised = peano4::utils::dLinearised(sourceCell,{DOFS_PER_AXIS});
int destinationCellSerialised = peano4::utils::dLinearised(destinationCell,{DOFS_PER_AXIS} + 2*{OVERLAP});
for (int j=0; j<{UNKNOWNS}; j++) {{
oldQWithHalo[destinationCellSerialised*{UNKNOWNS}+j] = {CELL_ACCESSOR}.value[ sourceCellSerialised*{UNKNOWNS}+j ];
{ASSERTION_WITH_4_ARGUMENTS}( oldQWithHalo[destinationCellSerialised*{UNKNOWNS}+j]==oldQWithHalo[destinationCellSerialised*{UNKNOWNS}+j], sourceCell, j, _treeNumber, marker.toString() );
}}
}}
"""

Definition at line 259 of file ReconstructPatchAndApplyFunctor.py.

Referenced by peano4.toolbox.blockstructured.ReconstructPatchAndApplyFunctor.ReconstructPatchAndApplyFunctor.get_body_of_operation().

◆ _Template_TouchCellFirstTime_Preamble

str peano4.toolbox.blockstructured.ReconstructPatchAndApplyFunctor.ReconstructPatchAndApplyFunctor._Template_TouchCellFirstTime_Preamble
staticprotected
Initial value:
= """
auto serialisePatchIndex = [](tarch::la::Vector<Dimensions,int> overlapCell, int normal) {{
int base = 1;
int result = 0;
for (int d=0; d<Dimensions; d++) {{
result += overlapCell(d) * base;
if (d==normal) {{
base *= {OVERLAP}*2;
}}
else {{
base *= {DOFS_PER_AXIS};
}}
}}
return result;
}};
if ({GUARD}) {{
logTraceInWith1Argument( "touchCellFirstTime(...)", marker.toString() );
{CREATE_RECONSTRUCTED_PATCH}
"""

Definition at line 236 of file ReconstructPatchAndApplyFunctor.py.

Referenced by exahype2.solvers.aderdg.actionsets.Prediction.Prediction.get_body_of_operation(), and peano4.toolbox.blockstructured.ReconstructPatchAndApplyFunctor.ReconstructPatchAndApplyFunctor.get_body_of_operation().

◆ add_assertions_to_halo_exchange

peano4.toolbox.blockstructured.ReconstructPatchAndApplyFunctor.ReconstructPatchAndApplyFunctor.add_assertions_to_halo_exchange

◆ dofs_per_axis

◆ functor_implementation

peano4.toolbox.blockstructured.ReconstructPatchAndApplyFunctor.ReconstructPatchAndApplyFunctor.functor_implementation

◆ guard

peano4.toolbox.blockstructured.ReconstructPatchAndApplyFunctor.ReconstructPatchAndApplyFunctor.guard

Definition at line 104 of file ReconstructPatchAndApplyFunctor.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().

◆ no_of_unknowns

peano4.toolbox.blockstructured.ReconstructPatchAndApplyFunctor.ReconstructPatchAndApplyFunctor.no_of_unknowns

◆ overlap_name

peano4.toolbox.blockstructured.ReconstructPatchAndApplyFunctor.ReconstructPatchAndApplyFunctor.overlap_name

◆ patch_name

peano4.toolbox.blockstructured.ReconstructPatchAndApplyFunctor.ReconstructPatchAndApplyFunctor.patch_name

◆ reconstructed_array_memory_location

peano4.toolbox.blockstructured.ReconstructPatchAndApplyFunctor.ReconstructPatchAndApplyFunctor.reconstructed_array_memory_location

◆ total_overlap

peano4.toolbox.blockstructured.ReconstructPatchAndApplyFunctor.ReconstructPatchAndApplyFunctor.total_overlap

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