Peano
Loading...
Searching...
No Matches
exaparty.api.actionsets.UpdateParticle_MultiLevelInteraction_Sets.UpdateParticle_MultiLevelInteraction_Sets Class Reference

Slight modification of toolbox's update particle action set. More...

Inheritance diagram for exaparty.api.actionsets.UpdateParticle_MultiLevelInteraction_Sets.UpdateParticle_MultiLevelInteraction_Sets:
Collaboration diagram for exaparty.api.actionsets.UpdateParticle_MultiLevelInteraction_Sets.UpdateParticle_MultiLevelInteraction_Sets:

Public Member Functions

 __init__ (self, particle_set, particle_particle_interaction_kernel, touch_vertex_first_time_compute_particle_update_kernel, touch_vertex_last_time_compute_particle_update_kernel, prepare_traversal_kernel, unprepare_traversal_kernel, additional_includes, active_particle_set, alter_particle_position_or_interaction_radius, wait_for_all_tasks_to_finish_after_traversal)
 Construct.
 
 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_action_set_name (self)
 Return unique action set name.
 
- Public Member Functions inherited from peano4.api.toolbox.particles.UpdateParticle_MultiLevelInteraction_Sets.UpdateParticle_MultiLevelInteraction_Sets
 get_body_of_createGridControlEventsForNextTraversal (self)
 Return the grid control events that this action set wants to trigger.
 
 get_body_of_prepareTraversal (self)
 
 get_body_of_unprepareTraversal (self)
 
 user_should_modify_template (self)
 Is the user allowed to modify the output.
 
 get_includes (self)
 Return include statements that you need.
 
 get_constructor_body (self)
 Define a tailored constructor body.
 
- Public Member Functions inherited from peano4.api.solversteps.ActionSet.ActionSet
 get_static_initialisations (self, full_qualified_classname)
 
 get_destructor_body (self)
 
 get_implementation_of_createGridControlEventsForNextTraversal (self)
 Return the C++ implementation of createGridControlEventsForNextTraversal()
 
 get_implementation_of_prepareTraversal (self)
 Return the C++ implementation of prepareTraversal()
 
 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.
 

Additional Inherited Members

- Data Fields inherited from peano4.api.toolbox.particles.UpdateParticle_MultiLevelInteraction_Sets.UpdateParticle_MultiLevelInteraction_Sets
 d
 
- 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"
 
- Protected Attributes inherited from peano4.api.toolbox.particles.UpdateParticle_MultiLevelInteraction_Sets.UpdateParticle_MultiLevelInteraction_Sets
 _particle_set
 

Detailed Description

Slight modification of toolbox's update particle action set.

The interesting stuff is actually happing in TaskGarphKernelWrappers.py however.

Definition at line 13 of file UpdateParticle_MultiLevelInteraction_Sets.py.

Constructor & Destructor Documentation

◆ __init__()

exaparty.api.actionsets.UpdateParticle_MultiLevelInteraction_Sets.UpdateParticle_MultiLevelInteraction_Sets.__init__ (   self,
  particle_set,
  particle_particle_interaction_kernel,
  touch_vertex_first_time_compute_particle_update_kernel,
  touch_vertex_last_time_compute_particle_update_kernel,
  prepare_traversal_kernel,
  unprepare_traversal_kernel,
  additional_includes,
  active_particle_set,
  alter_particle_position_or_interaction_radius,
  wait_for_all_tasks_to_finish_after_traversal 
)

Construct.

Parameters
wait_for_all_tasks_to_finish_after_traversalBoolean If this one is set, we insert a wait into the unprepare traversal event. Each rank then waits for all tasks to be completed before it continues. We have a strong synchronisation point.
alter_particle_position_or_interaction_radiusBoolean Set if the underlying AlgorithmStep's effect might change a particle's position or interaction radius.
See also
exaparty.api.particle.AlgorithmStep.AlgorithmStep.may_trigger_rerun()

Reimplemented from peano4.api.toolbox.particles.UpdateParticle_MultiLevelInteraction_Sets.UpdateParticle_MultiLevelInteraction_Sets.

Definition at line 25 of file UpdateParticle_MultiLevelInteraction_Sets.py.

References exaparty.api.actionsets.UpdateParticle_MultiLevelInteraction_Sets.UpdateParticle_MultiLevelInteraction_Sets.__init__().

Referenced by exaparty.api.actionsets.UpdateParticle_MultiLevelInteraction_Sets.UpdateParticle_MultiLevelInteraction_Sets.__init__().

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

Member Function Documentation

◆ get_action_set_name()

exaparty.api.actionsets.UpdateParticle_MultiLevelInteraction_Sets.UpdateParticle_MultiLevelInteraction_Sets.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.api.toolbox.particles.UpdateParticle_MultiLevelInteraction_Sets.UpdateParticle_MultiLevelInteraction_Sets.

Definition at line 107 of file UpdateParticle_MultiLevelInteraction_Sets.py.

◆ get_attributes()

exaparty.api.actionsets.UpdateParticle_MultiLevelInteraction_Sets.UpdateParticle_MultiLevelInteraction_Sets.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.toolbox.particles.UpdateParticle_MultiLevelInteraction_Sets.UpdateParticle_MultiLevelInteraction_Sets.

Definition at line 99 of file UpdateParticle_MultiLevelInteraction_Sets.py.

References exaparty.api.actionsets.UpdateParticle_MultiLevelInteraction_Sets.UpdateParticle_MultiLevelInteraction_Sets.get_attributes().

Referenced by exaparty.api.actionsets.UpdateParticle_MultiLevelInteraction_Sets.UpdateParticle_MultiLevelInteraction_Sets.get_attributes().

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

◆ get_body_of_operation()

exaparty.api.actionsets.UpdateParticle_MultiLevelInteraction_Sets.UpdateParticle_MultiLevelInteraction_Sets.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.toolbox.particles.UpdateParticle_MultiLevelInteraction_Sets.UpdateParticle_MultiLevelInteraction_Sets.

Definition at line 91 of file UpdateParticle_MultiLevelInteraction_Sets.py.

References exaparty.api.actionsets.UpdateParticle_MultiLevelInteraction_Sets.UpdateParticle_MultiLevelInteraction_Sets.get_body_of_operation().

Referenced by exaparty.api.actionsets.UpdateParticle_MultiLevelInteraction_Sets.UpdateParticle_MultiLevelInteraction_Sets.get_body_of_operation(), and peano4.api.solversteps.ActionSet.ActionSet.get_implementation_of_operation().

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

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