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

Defines global interpolation communication Based on the MPI based gather-scatter kernel.

Data Types

type  glb_intrp_comm_mpi_t
 MPI buffer for non-blocking operations. More...
 
type  glb_intrp_comm_t
 Global interpolation communication method. More...
 

Functions/Subroutines

subroutine glb_intrp_comm_init (this, send_pe, recv_pe, comm)
 Initialise MPI based communication method.
 
subroutine glb_intrp_comm_free (this)
 Deallocate MPI based communication method.
 
subroutine glb_intrp_comm_init_dofs (this, comm_size)
 
subroutine glb_intrp_comm_free_dofs (this)
 
subroutine glb_intrp_comm_init_order (this, send_pe, recv_pe)
 Obtains which ranks to send and receive data from.
 
subroutine glb_intrp_comm_free_order (this)
 
subroutine glb_intrp_comm_sendrecv (this, send, recv, n_send, n_recv)
 Non-blocking sendrecv.
 
subroutine glb_intrp_comm_nbwait_no_op (this)
 Wait for non-blocking operations.
 

Function/Subroutine Documentation

◆ glb_intrp_comm_free()

subroutine glb_intrp_comm::glb_intrp_comm_free ( class(glb_intrp_comm_t), intent(inout this)
private

Definition at line 126 of file global_interpolation_comm.f90.

◆ glb_intrp_comm_free_dofs()

subroutine glb_intrp_comm::glb_intrp_comm_free_dofs ( class(glb_intrp_comm_t), intent(inout this)
private

Definition at line 177 of file global_interpolation_comm.f90.

◆ glb_intrp_comm_free_order()

subroutine glb_intrp_comm::glb_intrp_comm_free_order ( class(glb_intrp_comm_t), intent(inout this)
private

Definition at line 223 of file global_interpolation_comm.f90.

◆ glb_intrp_comm_init()

subroutine glb_intrp_comm::glb_intrp_comm_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 94 of file global_interpolation_comm.f90.

◆ glb_intrp_comm_init_dofs()

subroutine glb_intrp_comm::glb_intrp_comm_init_dofs ( class(glb_intrp_comm_t), intent(inout this,
integer, intent(in), optional  comm_size 
)
private

Definition at line 154 of file global_interpolation_comm.f90.

◆ glb_intrp_comm_init_order()

subroutine glb_intrp_comm::glb_intrp_comm_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 
)
private
Parameters
send_pe,onlycontains rank ids this process should send to
recv_pe,onlythe ranks this process should receive from

Definition at line 200 of file global_interpolation_comm.f90.

◆ glb_intrp_comm_nbwait_no_op()

subroutine glb_intrp_comm::glb_intrp_comm_nbwait_no_op ( class(glb_intrp_comm_t), intent(inout this)
private

Definition at line 333 of file global_interpolation_comm.f90.

◆ glb_intrp_comm_sendrecv()

subroutine glb_intrp_comm::glb_intrp_comm_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 
)
private
Todo:
Check size etc against status

Definition at line 237 of file global_interpolation_comm.f90.