find_particle_comm_procs generates a list of all processes we may need to communicate particle data with over the duration of the simulation. We only need to communicate this data for particles on our rank which also exist on other processes. This means we will never communicate with processes whose domains are not within one particle diameter of our domain. This is the key assumption used to generate the list of procs Hence the padding distance dpad should be set to the largest particle diameter in the simulation
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(dyn_intarray_type) | :: | prunedProcs |
Dynamic array of procs which we will store the found procs in |
|||
| type(mus_scheme_type), | intent(in) | :: | 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 |
||
| real(kind=rk) | :: | dpad |
Padding distance |