What happens in this algorithmic step per particle:
- ALTER_GLOBAL_STATE is the most generic baseline routine. No local data are changed, but the code (might) alter some global properties. Typical examples are the reduction of the global admissible time step size.
- ALTER_LOCAL_STATE implies that only the local state of a particle is changed. The code might also modify the global state, but it may not change a particle's position or its search radius, i.e. the spatial topology between particles.
- CHANGE_POSITION_OR_INTERACTION_RADIUS is the most general update which means that literally any global or local attribute might be modified. However, the graph compilers have to know whether you might ask it to rerun this step. This is important, as this step might change the topology.
Please note that any update of a particle position should happen within touch vertex last time. Otherwise, we'd destroy the particle topology.
By default, any algorithm step runs only once. However, there are variants of each step which can rerun. But the user has to flag this possibility explicitly.
Definition at line 37 of file AlgorithmStep.py.