create_1d_comm Subroutine

private subroutine create_1d_comm(lbounds, all_lbounds, fixed_dims, comm, new_comm)

Creates a new 1D communicator based on the fixed dimensions of the current pencil

Arguments

Type IntentOptional Attributes Name
integer(kind=int32), intent(in) :: lbounds(:)

Local starts of the current pencil

integer(kind=int32), intent(in) :: all_lbounds(:,:)

Local starts of all processes

integer(kind=int32), intent(in) :: fixed_dims(:)

Indices of fixed coordinates

type(MPI_Comm), intent(in) :: comm

Original MPI communicator

type(MPI_Comm), intent(out) :: new_comm

New 1D MPI communicator


Calls

proc~~create_1d_comm~~CallsGraph proc~create_1d_comm create_1d_comm mpi_comm_create mpi_comm_create proc~create_1d_comm->mpi_comm_create mpi_comm_group mpi_comm_group proc~create_1d_comm->mpi_comm_group mpi_comm_size mpi_comm_size proc~create_1d_comm->mpi_comm_size mpi_group_free mpi_group_free proc~create_1d_comm->mpi_group_free mpi_group_incl mpi_group_incl proc~create_1d_comm->mpi_group_incl proc~get_varying_dim get_varying_dim proc~create_1d_comm->proc~get_varying_dim proc~sort_by_varying_dim sort_by_varying_dim proc~create_1d_comm->proc~sort_by_varying_dim

Called by

proc~~create_1d_comm~~CalledByGraph proc~create_1d_comm create_1d_comm proc~create_pencil_init pencil_init%create_pencil_init proc~create_pencil_init->proc~create_1d_comm