|
Peano
|
User action set, i.e. More...


Public Member Functions | |
| __init__ (self, name, descend_invocation_order=0, parallel=True) | |
| user_should_modify_template (self) | |
| Is the user allowed to modify the output. | |
| get_constructor_body (self) | |
| Define a tailored constructor body. | |
| get_destructor_body (self) | |
| get_body_of_createGridControlEventsForNextTraversal (self) | |
| Return the grid control events that this action set wants to trigger. | |
| get_body_of_operation (self, operation_name) | |
| Return actual C++ code snippets to be inserted into C++ code. | |
| get_action_set_name (self) | |
| Returns a description (word) for the mapping which is also used as class name for the generated type. | |
| 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.api.solversteps.ActionSet.ActionSet | |
| get_static_initialisations (self, full_qualified_classname) | |
| 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. | |
Data Fields | |
| name | |
Data Fields inherited from peano4.api.solversteps.ActionSet.ActionSet | |
| descend_invocation_order | |
| parallel | |
User action set, i.e.
action set that's there for the users to inject their code manually
This class is barely every used, as most people nowadays do not program Peano in pure C++ anymore. The class is there to give you a stub for a code that you then fill out with your own code.
To understand how this class fits into the big picture, it is worth studying the namespace documentation, where we host a good overview in the form of an UML diagram.
Definition at line 6 of file UserActionSet.py.
| peano4.api.solversteps.UserActionSet.UserActionSet.__init__ | ( | self, | |
| name, | |||
descend_invocation_order = 0, |
|||
parallel = True |
|||
| ) |
Reimplemented from peano4.api.solversteps.ActionSet.ActionSet.
Definition at line 25 of file UserActionSet.py.
References peano4.api.solversteps.UserActionSet.UserActionSet.__init__().
Referenced by peano4.api.solversteps.UserActionSet.UserActionSet.__init__().


| peano4.api.solversteps.UserActionSet.UserActionSet.get_action_set_name | ( | self | ) |
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.
Reimplemented from peano4.api.solversteps.ActionSet.ActionSet.
Definition at line 57 of file UserActionSet.py.
References solvers.aderdg.kernels.Gemms.Gemms.name, solvers.elliptic.ConstrainedPoissonEquationForMarkerOnCells.ConstrainedPoissonEquationForMarkerOnCells.name(), solvers.fv.FV.FV.name(), convert::data::Variable.name, dastgen2.attributes.Attribute.Attribute.name(), dastgen2.DataModel.DataModel.name(), exagrype.api.CCZ4Solver.CCZ4Solver.name, exahype2.api.PDETerm.PDETerm.name, exahype2.api.Solver.Solver.Plotter.name, exahype2.api.Solver.Solver.name(), exaparty.api.particle.AlgorithmStep.AlgorithmStep.name, exaparty.api.particle.Particle.Particle.name, exaparty.api.particle.tests.DisappearingParticleTest.DisappearingParticleTest.name, exaparty.api.particle.tests.testLeapfrogFixedTimeStepSize.testLeapfrogFixedTimeStepSize.name, solvers.api.Solver.Solver.name(), api.solvers.Solver.Solver.name(), peano4.api.datamodel.DoF.DoF.name, peano4.api.solversteps.Step.Step.name, peano4.api.solversteps.UserActionSet.UserActionSet.name, peano4.api.taskgraph.compiler.fuse-steps-illustrations._IllustrationActionSet.name, peano4.api.taskgraph.compiler.fuse-steps-illustrations._IllustrationSubmodel.name, peano4.api.taskgraph.Task.Task.name, peano4.api.toolbox.particles.Particle.Particle.name, test_derive_load_store_compute_flag._FakeSubmodel.name, test_fuse_steps._FakeActionSet.name, test_fuse_steps._FakeSubmodel.name, test_propagate_use_statements._FakeSubmodel.name, and test_task_groups._FakeActionSet.name.

| peano4.api.solversteps.UserActionSet.UserActionSet.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.api.solversteps.ActionSet.ActionSet.
Definition at line 66 of file UserActionSet.py.
| peano4.api.solversteps.UserActionSet.UserActionSet.get_body_of_createGridControlEventsForNextTraversal | ( | self | ) |
Return the grid control events that this action set wants to trigger.
Please consult the documentation of grid control events for details on what these events are and how they are used.
Reimplemented from peano4.api.solversteps.ActionSet.ActionSet.
Definition at line 43 of file UserActionSet.py.
Referenced by peano4.api.solversteps.ActionSet.ActionSet.get_implementation_of_createGridControlEventsForNextTraversal().

| peano4.api.solversteps.UserActionSet.UserActionSet.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 47 of file UserActionSet.py.
Referenced by peano4.api.solversteps.ActionSet.ActionSet.get_implementation_of_operation().

| peano4.api.solversteps.UserActionSet.UserActionSet.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.api.solversteps.ActionSet.ActionSet.
Definition at line 35 of file UserActionSet.py.
| peano4.api.solversteps.UserActionSet.UserActionSet.get_destructor_body | ( | self | ) |
Reimplemented from peano4.api.solversteps.ActionSet.ActionSet.
Definition at line 39 of file UserActionSet.py.
| peano4.api.solversteps.UserActionSet.UserActionSet.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.api.solversteps.ActionSet.ActionSet.
Definition at line 70 of file UserActionSet.py.
| peano4.api.solversteps.UserActionSet.UserActionSet.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.api.solversteps.ActionSet.ActionSet.
Definition at line 31 of file UserActionSet.py.
| peano4.api.solversteps.UserActionSet.UserActionSet.name |
Definition at line 27 of file UserActionSet.py.
Referenced by solvers.aderdg.kernels.Gemms.Gemms.__repr__(), test_derive_load_store_compute_flag._FakeSubmodel.__repr__(), test_propagate_use_statements._FakeSubmodel.__repr__(), exaparty.api.particle.ExplicitEulerFixedSearchRadius.ExplicitEulerFixedSearchRadius.__setup_algorithm_steps(), exaparty.api.particle.AlgorithmStep.AlgorithmStep.__str__(), exahype2.api.Solver.Solver.Plotter._add_time_interval_bookkeeping_to_solver(), exaparty.api.particle.LeapfrogFixedSearchRadius.LeapfrogFixedSearchRadius._setup_algorithm_steps_dict(), exagrype.api.CCZ4Solver.CCZ4Solver._tasks_of_this_solver(), peano4.api.datamodel.DoF.DoF.additional_load_and_store_arguments_for_other_dof(), exaparty.api.particle.ExplicitEulerDynamicSearchRadius.ExplicitEulerDynamicSearchRadius.algorithm_steps(), exaparty.api.particle.tests.DastgenTestDummyParticle.DastgenTestDummyParticle.algorithm_steps(), exahype2.api.Solver.Solver.Plotter.create_finish_call(), exahype2.api.Solver.Solver.Plotter.create_is_active_predicate(), peano4.api.solversteps.UserActionSet.UserActionSet.get_action_set_name(), peano4.api.taskgraph.compiler.fuse-steps-illustrations._IllustrationActionSet.get_action_set_name(), test_fuse_steps._FakeActionSet.get_action_set_name(), peano4.api.datamodel.DoF.DoF.get_full_qualified_type(), peano4.api.datamodel.DoF.DoF.get_logical_type_name(), peano4.api.solversteps.Step.Step.get_observer_class_name(), dastgen2.attributes.Enumeration.Enumeration.get_to_string(), and exaparty.api.particle.Particle.Particle.readme_descriptor().