0.6.0
Loading...
Searching...
No Matches
mpi_exchange.f90 File Reference

Data Types

interface  mod_mpi_exchange::mpi_exchange
 Exchange field. More...
 
interface  mod_mpi_exchange::mpi_exchange_cell
 
interface  mod_mpi_exchange::mpi_exchange_face
 
type  mod_mpi_exchange::t_buffer_double
 
type  mod_mpi_exchange::t_buffer_integer
 
type  mod_mpi_exchange::t_buffer_logical
 

Modules

module  mod_mpi_exchange
 MPI Exchange modules between processors.
 

Functions/Subroutines

subroutine mod_mpi_exchange::mpi_exchange_scalar_cell_double (array)
 Wrapper for mpi_exchange_scalar_cell_double without the mpi_cell variable.
 
subroutine mod_mpi_exchange::mpi_exchange_scalar_cell_integer (array)
 Wrapper for mpi_exchange_scalar_cell_integer without the mpi_cell variable.
 
subroutine mod_mpi_exchange::mpi_exchange_scalar_cell_logical (array)
 Wrapper for mpi_exchange_scalar_cell_logical without the mpi_cell variable.
 
subroutine mod_mpi_exchange::mpi_exchange_vector_cell_double (array)
 Wrapper for mpi_exchange_scalar_vector_double without the mpi_cell variable.
 
subroutine mod_mpi_exchange::mpi_exchange_face_field_double (field)
 Wrapper for mpi_exchange_face_field_double_typed without the mpi_face_* variable.
 
subroutine mod_mpi_exchange::mpi_exchange_face_field_integer (field)
 Wrapper for mpi_exchange_face_field_integer_typed without the mpi_face_* variable.
 
subroutine mod_mpi_exchange::mpi_exchange_face_field_logical (field)
 Wrapper for mpi_exchange_face_field_logical_typed without the mpi_face_* variable.
 
subroutine mod_mpi_exchange::mpi_exchange_scalar_double (array, mpi_exch)
 Exchange the field (of doubles) between neighbour procs. Result: the ghost cells will be filled with the neighbours' values.
 
subroutine mod_mpi_exchange::mpi_exchange_scalar_integer (array, mpi_exch)
 Exchange the field (of integers) between neighbour procs. Result: the ghost cells will be filled with the neighbours' values.
 
subroutine mod_mpi_exchange::mpi_exchange_scalar_logical (array, mpi_exch)
 Exchange the field (of logicals) between neighbour procs. Result: the ghost cells will be filled with the neighbours' values.
 
subroutine mod_mpi_exchange::mpi_exchange_vector_double (array, mpi_exch)
 Exchange the field (of double vectors) between neighbour procs. Result: the ghost cells will be filled with the neighbours' values.
 
subroutine mod_mpi_exchange::mpi_exchange_face_field_double_typed (face_field, exchange_type_u, exchange_type_v, exchange_type_w)
 Exchange the face field between neighbour procs. Result: the ghost cells will be filled with the neighbours' values.
 
subroutine mod_mpi_exchange::mpi_exchange_face_field_integer_typed (face_field, exchange_type_u, exchange_type_v, exchange_type_w)
 Exchange the integer face field between neighbour procs. Result: the ghost cells will be filled with the neighbours' values.
 
subroutine mod_mpi_exchange::mpi_exchange_face_field_logical_typed (face_field, exchange_type_u, exchange_type_v, exchange_type_w)
 Exchange the logical face field between neighbour procs. Result: the ghost cells will be filled with the neighbours' values.
 
subroutine mod_mpi_exchange::mpi_exchange_tensor_cell_edges_double (tensor)
 Exchange the tensor field between neighbour procs. Result: the ghost cells will be filled with the neighbours' values. We use the associated global mpi_cell and mpi_edge_{xy,xz,yz} structures.
 
subroutine mod_mpi_exchange::mpi_exchange_edge_field_double (edge_field)
 Exchange the edge field between neighbour procs. Result: the ghost cells will be filled with the neighbours' values. We use the associated global mpi_edge_{xy,xz,yz} structures.
 
subroutine mod_mpi_exchange::exchange_2d_asynchronous_double (array1, array2, mpi_exch1, mpi_exch2)
 
subroutine mod_mpi_exchange::exchange_3d_asynchronous_double (array1, array2, array3, mpi_exch1, mpi_exch2, mpi_exch3)
 
subroutine mod_mpi_exchange::exchange_2d_asynchronous_integer (array1, array2, mpi_exch1, mpi_exch2)
 
subroutine mod_mpi_exchange::exchange_3d_asynchronous_integer (array1, array2, array3, mpi_exch1, mpi_exch2, mpi_exch3)
 
subroutine mod_mpi_exchange::exchange_2d_asynchronous_logical (array1, array2, mpi_exch1, mpi_exch2)
 
subroutine mod_mpi_exchange::exchange_3d_asynchronous_logical (array1, array2, array3, mpi_exch1, mpi_exch2, mpi_exch3)
 
subroutine mod_mpi_exchange::exchange_2d_serialized_double (array1, array2, mpi_exch1, mpi_exch2)
 
subroutine mod_mpi_exchange::exchange_3d_serialized_double (array1, array2, array3, mpi_exch1, mpi_exch2, mpi_exch3)
 
subroutine mod_mpi_exchange::exchange_2d_serialized_integer (array1, array2, mpi_exch1, mpi_exch2)
 
subroutine mod_mpi_exchange::exchange_3d_serialized_integer (array1, array2, array3, mpi_exch1, mpi_exch2, mpi_exch3)
 
subroutine mod_mpi_exchange::exchange_2d_serialized_logical (array1, array2, mpi_exch1, mpi_exch2)
 
subroutine mod_mpi_exchange::exchange_3d_serialized_logical (array1, array2, array3, mpi_exch1, mpi_exch2, mpi_exch3)
 
subroutine, public mod_mpi_exchange::mpi_exchange_vectorized_face_field (array, mpi_face_u, mpi_face_v, mpi_face_w)
 
subroutine, public mod_mpi_exchange::mpi_exchange_vectorized_scalar (array, mpi_exch)
 
subroutine mod_mpi_exchange::mpi_exchange_scalar_double_vectorized (array, mpi_exch, nx, ny)