UpdateExclusionList uses the continuous particle position and particle radius to determine which lattice elements belong to the particle. These are stored in the 'ExclusionList' of elements which do not participate in stream-and-collide. It also checks if particles exist or should exist on some other process and stores this information in the logical masks of the particle.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(mus_particle_MEM_type), | intent(inout) | :: | this | |||
| type(mus_scheme_type), | intent(inout) | :: | scheme |
Scheme for access to level descriptor |
||
| type(mus_geom_type), | intent(in) | :: | geometry |
Geometry information to determine TreeIDs of elements 'covered' by particle |
||
| integer, | intent(in) | :: | myRank |
This process's rank |
||
| integer, | intent(in) | :: | procs(:) |
Array of neighbor procs on which particle could possibly exist |
||
| integer, | intent(in) | :: | nProcs |
Number of procs in array procs |
||
| real(kind=rk), | intent(in) | :: | dx |
Mesh size |
||
| logical, | intent(out) | :: | rmflag |
Logical to indicate whether particle should be removed from this process |