updateExistsOnProc Subroutine

private subroutine updateExistsOnProc(this, scheme, geometry, myRank, procs, nProcs, rmflag)

updateExistsOnProc updates the mask that tells us whether a particle exists on our neighboring procs. It does this by checking which processes are intersected by the bounding box of the particle + a "bumper" of one lattice cell to account for the fact that a particle can also exist on a proc as purely halos

Arguments

Type IntentOptional 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

logical, intent(out) :: rmflag

logical to set whether particle should be removed from this proc