Updates ghost objects. Copies objects that lie "dist"-away from the block's boundaries to neighboring MPI-ranks and designate copies as Ghost Objects (id<0). This subroutine will also update the local count (i.e., this%count_) to (NBR of ACTIVE OBJECTS) + (NBR of GHOST OBJECTS). However, the global count (this%count) will remain unchanged (i.e., equal to the total count of active ojbects only)0
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(lagrangian_set), | intent(inout) | :: | this |
A set of Lagrangian objects |
||
| real(kind=wp), | intent(in) | :: | dist |
Distance from boundaries |
impure subroutine lagrangian_set_UpdateGhostObjects(this,dist) !> Updates ghost objects. ! Copies objects that lie "dist"-away from the ! block's boundaries to neighboring MPI-ranks ! and designate copies as Ghost Objects (id<0). ! This subroutine will also update the local count ! (i.e., this%count_) to ! (NBR of ACTIVE OBJECTS) + (NBR of GHOST OBJECTS). ! However, the global count (this%count) will remain ! unchanged (i.e., equal to the total count of active ! ojbects only)0 implicit none class(lagrangian_set), intent(inout) :: this !! A set of Lagrangian objects real(wp), intent(in) :: dist !! Distance from boundaries ! Remove previous ghost and deactivated objects call this%Recycle() ! Create and send new ghost objects in x,y,z directions call lagrangian_set_UpdateGhostObjectsDir(this,dist,1) call lagrangian_set_UpdateGhostObjectsDir(this,dist,2) call lagrangian_set_UpdateGhostObjectsDir(this,dist,3) return end subroutine lagrangian_set_UpdateGhostObjects