lagrangian_set_SetupCollisionBlock Subroutine

private subroutine lagrangian_set_SetupCollisionBlock(this, ds, ngc)

Initializes cblock to handle collisions. This is extra block is expected to be coarser than the simulation block. It is used for cheap neighbor searches.

Type Bound

lagrangian_set

Arguments

Type IntentOptional Attributes Name
class(lagrangian_set), intent(inout) :: this

A set of Lagrangian objects

real(kind=wp), intent(in) :: ds

Target grid spacing

integer, intent(in) :: ngc

Number of ghost cells for collision block


Calls

proc~~lagrangian_set_setupcollisionblock~~CallsGraph proc~lagrangian_set_setupcollisionblock lagrangian_set%lagrangian_set_SetupCollisionBlock none~initialize~19 block_obj%Initialize proc~lagrangian_set_setupcollisionblock->none~initialize~19 none~updategridghostcells block_obj%UpdateGridGhostCells proc~lagrangian_set_setupcollisionblock->none~updategridghostcells proc~block_obj_setupuniformgrid block_obj%block_obj_SetupUniformGrid proc~lagrangian_set_setupcollisionblock->proc~block_obj_setupuniformgrid proc~block_obj_updatespacing block_obj%block_obj_UpdateSpacing proc~lagrangian_set_setupcollisionblock->proc~block_obj_updatespacing proc~block_obj_init block_obj%block_obj_Init none~initialize~19->proc~block_obj_init proc~block_obj_init2 block_obj%block_obj_Init2 none~initialize~19->proc~block_obj_init2 proc~block_obj_updategridghostcells block_obj%block_obj_UpdateGridGhostCells none~updategridghostcells->proc~block_obj_updategridghostcells proc~block_obj_updategridghostcells2 block_obj%block_obj_UpdateGridGhostCells2 none~updategridghostcells->proc~block_obj_updategridghostcells2 proc~block_obj_setupuniformgrid->none~updategridghostcells proc~block_obj_setupuniformgrid->proc~block_obj_updatespacing proc~axis_obj_init axis_obj%axis_obj_Init proc~block_obj_setupuniformgrid->proc~axis_obj_init proc~block_obj_setconveniencepointers block_obj%block_obj_SetConveniencePointers proc~block_obj_setupuniformgrid->proc~block_obj_setconveniencepointers proc~block_obj_setupmpitypes block_obj%block_obj_SetupMPITypes proc~block_obj_setupuniformgrid->proc~block_obj_setupmpitypes proc~block_obj_updatemidpoints block_obj%block_obj_UpdateMidPoints proc~block_obj_setupuniformgrid->proc~block_obj_updatemidpoints proc~block_obj_init2->proc~block_obj_setupuniformgrid mpi_type_commit mpi_type_commit proc~block_obj_setupmpitypes->mpi_type_commit mpi_type_free mpi_type_free proc~block_obj_setupmpitypes->mpi_type_free mpi_type_vector mpi_type_vector proc~block_obj_setupmpitypes->mpi_type_vector mpi_irecv mpi_irecv proc~block_obj_updategridghostcells->mpi_irecv mpi_isend mpi_isend proc~block_obj_updategridghostcells->mpi_isend mpi_waitall mpi_waitall proc~block_obj_updategridghostcells->mpi_waitall proc~block_obj_updateextents block_obj%block_obj_UpdateExtents proc~block_obj_updategridghostcells->proc~block_obj_updateextents proc~block_obj_updategridghostcells2->mpi_irecv proc~block_obj_updategridghostcells2->mpi_isend proc~block_obj_updategridghostcells2->mpi_waitall proc~block_obj_updateextents->proc~axis_obj_init

Called by

proc~~lagrangian_set_setupcollisionblock~~CalledByGraph proc~lagrangian_set_setupcollisionblock lagrangian_set%lagrangian_set_SetupCollisionBlock proc~cdifs_obj_preparesolver cdifs_obj_PrepareSolver proc~cdifs_obj_preparesolver->proc~lagrangian_set_setupcollisionblock proc~grans_obj_preparesolver_collision grans_obj_PrepareSolver_collision proc~grans_obj_preparesolver_collision->proc~lagrangian_set_setupcollisionblock interface~cdifs_obj_preparesolver cdifs_obj%cdifs_obj_PrepareSolver interface~cdifs_obj_preparesolver->proc~cdifs_obj_preparesolver proc~grans_obj_preparesolver grans_obj_PrepareSolver proc~grans_obj_preparesolver->proc~grans_obj_preparesolver_collision interface~grans_obj_preparesolver grans_obj%grans_obj_PrepareSolver interface~grans_obj_preparesolver->proc~grans_obj_preparesolver