| 
    Neko 1.99.1
    
   A portable framework for high-order spectral element flow simulations 
   | 
 
Global interpolation communication method. More...

Public Member Functions | |
| procedure, pass(this) | init (this, send_pe, recv_pe, comm) | 
| Initialise MPI based communication method.   | |
| procedure, pass(this) | free (this) | 
| Deallocate MPI based communication method.   | |
| procedure, pass(this) | init_dofs (this, comm_size) | 
| procedure, pass(this) | free_dofs (this) | 
| procedure, pass(this) | init_order (this, send_pe, recv_pe) | 
| Obtains which ranks to send and receive data from.   | |
| procedure, pass(this) | free_order (this) | 
| procedure, pass(this) | nbwait_no_op (this) | 
| Wait for non-blocking operations.   | |
| procedure, pass(this) | sendrecv (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.   | |
Definition at line 60 of file global_interpolation_comm.f90.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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 | ||
| ) | 
| send_pe,only | contains rank ids this process should send to | 
| recv_pe,only | the ranks this process should receive from | 
Definition at line 85 of file global_interpolation_comm.f90.
| 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.
| 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.
| type(mpi_comm) glb_intrp_comm::glb_intrp_comm_t::comm | 
Definition at line 79 of file global_interpolation_comm.f90.
| integer glb_intrp_comm::glb_intrp_comm_t::pe_size | 
Definition at line 67 of file global_interpolation_comm.f90.
| 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.
| 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.
| integer, dimension(:), allocatable glb_intrp_comm::glb_intrp_comm_t::recv_pe | 
Definition at line 73 of file global_interpolation_comm.f90.
| 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.
| 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.
| integer, dimension(:), allocatable glb_intrp_comm::glb_intrp_comm_t::send_pe | 
Definition at line 71 of file global_interpolation_comm.f90.