communicate_nElemsToTransfer Subroutine

private subroutine communicate_nElemsToTransfer(me, proc, minLevel, maxLevel)

Communicate with all existing process the number of requested halo elements

After this routine, each process knows how many processes there are to communicate with and how many elements have to be transferred

Arguments

TypeIntentOptionalAttributesName
type(tem_levelDesc_type), intent(inout) :: me(minlevel:maxLevel)

the level descriptor to be filled

type(tem_comm_env_type), intent(in) :: proc

Process description to use.

integer, intent(in) :: minLevel

level range

integer, intent(in) :: maxLevel

level range


Calls

proc~~communicate_nelemstotransfer~~CallsGraph proc~communicate_nelemstotransfer communicate_nElemsToTransfer proc~tem_comm_init tem_comm_init proc~communicate_nelemstotransfer->proc~tem_comm_init mpi_alltoall mpi_alltoall proc~communicate_nelemstotransfer->mpi_alltoall mpi_wtime mpi_wtime proc~communicate_nelemstotransfer->mpi_wtime proc~tem_comm_count tem_comm_count proc~communicate_nelemstotransfer->proc~tem_comm_count tem_sparse_alltoall_int tem_sparse_alltoall_int proc~communicate_nelemstotransfer->tem_sparse_alltoall_int

Called by

proc~~communicate_nelemstotransfer~~CalledByGraph proc~communicate_nelemstotransfer communicate_nElemsToTransfer proc~communicate_elements communicate_elements proc~communicate_elements->proc~communicate_nelemstotransfer proc~tem_find_allelements tem_find_allElements proc~tem_find_allelements->proc~communicate_elements proc~tem_create_leveldesc tem_create_levelDesc proc~tem_create_leveldesc->proc~tem_find_allelements proc~tem_dimbydim_construction tem_dimByDim_construction proc~tem_dimbydim_construction->proc~tem_create_leveldesc

Contents


Variables

TypeVisibilityAttributesNameInitial
integer, private, allocatable:: nHalosHis(:,:)
integer, private, allocatable:: nHalosMine(:,:)
integer, private, allocatable:: sources(:)
integer, private, allocatable:: sourceHalos(:)
integer, private :: iProc
integer, private :: iLevel
integer, private :: ierr
integer, private :: nLevels
integer, private :: sourceProc
integer, private :: nProcs
real(kind=rk), private :: tStart
real(kind=rk), private :: tEnd