Neko 1.99.1
A portable framework for high-order spectral element flow simulations
Loading...
Searching...
No Matches
glb_intrp_comm::glb_intrp_comm_t Type Reference

Global interpolation communication method. More...

Collaboration diagram for glb_intrp_comm::glb_intrp_comm_t:

Public Member Functions

procedure, pass(thisinit (this, send_pe, recv_pe, comm)
 Initialise MPI based communication method.
 
procedure, pass(thisfree (this)
 Deallocate MPI based communication method.
 
procedure, pass(thisinit_dofs (this, comm_size)
 
procedure, pass(thisfree_dofs (this)
 
procedure, pass(thisinit_order (this, send_pe, recv_pe)
 Obtains which ranks to send and receive data from.
 
procedure, pass(thisfree_order (this)
 
procedure, pass(thisnbwait_no_op (this)
 Wait for non-blocking operations.
 
procedure, pass(thissendrecv (this, send, recv, n_send, n_recv)
 Non-blocking sendrecv.
 

Public Attributes

type(stack_i4_t), dimension(:), allocatable send_dof
 A list of stacks of dof indices local to this process to send to rank_i.
 
type(stack_i4_t), dimension(:), allocatable recv_dof
 recv_dof(rank_i) is a stack of dof indices local to this process to receive from rank_i. size(recv_dof) == pe_size
 
integer pe_size
 Size of communicator.
 
integer, dimension(:), allocatable send_pe
 Array of ranks that this process should send to.
 
integer, dimension(:), allocatable recv_pe
 array of ranks that this process will receive messages from
 
type(glb_intrp_comm_mpi_t), dimension(:), allocatable send_buf
 Comm. buffers for send operations.
 
type(glb_intrp_comm_mpi_t), dimension(:), allocatable recv_buf
 Comm. buffers for recv operations.
 
type(mpi_comm) comm
 Communicator.
 

Detailed Description

Definition at line 60 of file global_interpolation_comm.f90.

Member Function/Subroutine Documentation

◆ free()

procedure, pass(this) glb_intrp_comm::glb_intrp_comm_t::free ( class(glb_intrp_comm_t), intent(inout this)

Definition at line 82 of file global_interpolation_comm.f90.

◆ free_dofs()

procedure, pass(this) glb_intrp_comm::glb_intrp_comm_t::free_dofs ( class(glb_intrp_comm_t), intent(inout this)

Definition at line 84 of file global_interpolation_comm.f90.

◆ free_order()

procedure, pass(this) glb_intrp_comm::glb_intrp_comm_t::free_order ( class(glb_intrp_comm_t), intent(inout this)

Definition at line 86 of file global_interpolation_comm.f90.

◆ init()

procedure, pass(this) glb_intrp_comm::glb_intrp_comm_t::init ( class(glb_intrp_comm_t), intent(inout this,
type(stack_i4_t), intent(inout send_pe,
type(stack_i4_t), intent(inout recv_pe,
type(mpi_comm), intent(inout), optional  comm 
)

Definition at line 81 of file global_interpolation_comm.f90.

◆ init_dofs()

procedure, pass(this) glb_intrp_comm::glb_intrp_comm_t::init_dofs ( class(glb_intrp_comm_t), intent(inout this,
integer, intent(in), optional  comm_size 
)

Definition at line 83 of file global_interpolation_comm.f90.

◆ init_order()

procedure, pass(this) glb_intrp_comm::glb_intrp_comm_t::init_order ( class(glb_intrp_comm_t), intent(inout this,
type(stack_i4_t), intent(inout send_pe,
type(stack_i4_t), intent(inout recv_pe 
)
Parameters
send_pe,onlycontains rank ids this process should send to
recv_pe,onlythe ranks this process should receive from

Definition at line 85 of file global_interpolation_comm.f90.

◆ nbwait_no_op()

procedure, pass(this) glb_intrp_comm::glb_intrp_comm_t::nbwait_no_op ( class(glb_intrp_comm_t), intent(inout this)

Definition at line 87 of file global_interpolation_comm.f90.

◆ sendrecv()

procedure, pass(this) glb_intrp_comm::glb_intrp_comm_t::sendrecv ( class(glb_intrp_comm_t), intent(inout this,
real(kind=rp), dimension(n_send), intent(inout send,
real(kind=rp), dimension(n_recv), intent(inout recv,
integer, intent(in n_send,
integer, intent(in n_recv 
)

Definition at line 88 of file global_interpolation_comm.f90.

Member Data Documentation

◆ comm

type(mpi_comm) glb_intrp_comm::glb_intrp_comm_t::comm

Definition at line 79 of file global_interpolation_comm.f90.

◆ pe_size

integer glb_intrp_comm::glb_intrp_comm_t::pe_size

Definition at line 67 of file global_interpolation_comm.f90.

◆ recv_buf

type(glb_intrp_comm_mpi_t), dimension(:), allocatable glb_intrp_comm::glb_intrp_comm_t::recv_buf

Definition at line 77 of file global_interpolation_comm.f90.

◆ recv_dof

type(stack_i4_t), dimension(:), allocatable glb_intrp_comm::glb_intrp_comm_t::recv_dof

Definition at line 65 of file global_interpolation_comm.f90.

◆ recv_pe

integer, dimension(:), allocatable glb_intrp_comm::glb_intrp_comm_t::recv_pe

Definition at line 73 of file global_interpolation_comm.f90.

◆ send_buf

type(glb_intrp_comm_mpi_t), dimension(:), allocatable glb_intrp_comm::glb_intrp_comm_t::send_buf

Definition at line 75 of file global_interpolation_comm.f90.

◆ send_dof

type(stack_i4_t), dimension(:), allocatable glb_intrp_comm::glb_intrp_comm_t::send_dof

Definition at line 62 of file global_interpolation_comm.f90.

◆ send_pe

integer, dimension(:), allocatable glb_intrp_comm::glb_intrp_comm_t::send_pe
Note
: this will usually be fewer than the total number of ranks size(send_pe) <= pe_size

Definition at line 71 of file global_interpolation_comm.f90.


The documentation for this type was generated from the following file: