|
Peano
|
Update the cell label within a sweep. More...


Public Member Functions | |
| get_attribute_name (solver_name) | |
| __init__ (self, solver_name) | |
| get_constructor_body (self) | |
| Define a tailored constructor body. | |
| get_destructor_body (self) | |
| 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_body_of_getGridControlEvents (self) | |
| get_body_of_prepareTraversal (self) | |
| get_body_of_unprepareTraversal (self) | |
Protected Attributes | |
| _solver_name | |
Update the cell label within a sweep.
Update the cell label initialises cell labels correctly when a cell is created, and it also resets the update flag.
It is important that this label update happens before the actual cell update. This is ensured via a correct invocation order in FV.add_actions_to_perform_time_step().
Cell labels exist everywhere and are not masked out via the LoadStoreCompute flag. That is, we store them persistently in each and every cell on all resolution levels all the time - even if the underlying solver des not exist in such a cell. In this case, the cell label should be false all the time.
Definition at line 9 of file CellLabel.py.
| exahype2.grid.CellLabel.UpdateCellLabel.__init__ | ( | self, | |
| solver_name ) |
Reimplemented from peano4.solversteps.ActionSet.ActionSet.
Definition at line 35 of file CellLabel.py.
References exahype2.grid.CellLabel.UpdateCellLabel.__init__().
Referenced by exahype2.grid.CellLabel.UpdateCellLabel.__init__().


| exahype2.grid.CellLabel.UpdateCellLabel.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.
Definition at line 53 of file CellLabel.py.
| exahype2.grid.CellLabel.UpdateCellLabel.get_attribute_name | ( | solver_name | ) |
Definition at line 26 of file CellLabel.py.
| exahype2.grid.CellLabel.UpdateCellLabel.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 80 of file CellLabel.py.
| exahype2.grid.CellLabel.UpdateCellLabel.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 61 of file CellLabel.py.
References exahype2.grid.CellLabel.UpdateCellLabel._solver_name, exahype2.grid.FaceLabel.UpdateFaceLabel._solver_name, and exahype2.postprocessing.PerformanceData.PerformanceData._solver_name.
| exahype2.grid.CellLabel.UpdateCellLabel.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.
Reimplemented from peano4.solversteps.ActionSet.ActionSet.
Definition at line 41 of file CellLabel.py.
| exahype2.grid.CellLabel.UpdateCellLabel.get_destructor_body | ( | self | ) |
Reimplemented from peano4.solversteps.ActionSet.ActionSet.
Definition at line 45 of file CellLabel.py.
| exahype2.grid.CellLabel.UpdateCellLabel.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 peano4.solversteps.ActionSet.ActionSet.
Definition at line 84 of file CellLabel.py.
| exahype2.grid.CellLabel.UpdateCellLabel.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.
Definition at line 57 of file CellLabel.py.
|
protected |
Definition at line 37 of file CellLabel.py.
Referenced by exahype2.grid.CellLabel.UpdateCellLabel.get_body_of_operation(), and exahype2.grid.FaceLabel.UpdateFaceLabel.get_body_of_operation().