updateExclusionList Subroutine

public subroutine updateExclusionList(this, scheme, geometry, myRank, procs, nProcs, dx, rmflag)

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.

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

real(kind=rk), intent(in) :: dx

Mesh size

logical, intent(out) :: rmflag

Logical to indicate whether particle should be removed from this process