Quick check if particle is still in igrid
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer, | intent(in) | :: | ipart | |||
| integer, | intent(in) | :: | igrid |
logical function particle_in_igrid(ipart, igrid) use mod_global_parameters integer, intent(in) :: igrid, ipart double precision :: x(ndim), grid_rmin(ndim), grid_rmax(ndim) ! First check if the igrid is still there if (.not. associated(ps(igrid)%w)) then particle_in_igrid = .false. else grid_rmin = [ rnode(rpxmin1_,igrid),rnode(rpxmin2_,igrid),& rnode(rpxmin3_,igrid) ] grid_rmax = [ rnode(rpxmax1_,igrid),rnode(rpxmax2_,igrid),& rnode(rpxmax3_,igrid) ] x = particle(ipart)%self%x(1:ndim) particle_in_igrid = all(x >= grid_rmin) .and. all(x < grid_rmax) end if end function particle_in_igrid