|
subroutine | mpi_exchange_scalar_cell_integer (array) |
| Wrapper for mpi_exchange_scalar_cell_integer without the mpi_cell variable. More...
|
|
subroutine | mpi_exchange_scalar_cell_logical (array) |
| Wrapper for mpi_exchange_scalar_cell_logical without the mpi_cell variable. More...
|
|
subroutine | mpi_exchange_vector_cell_double (array) |
| Wrapper for mpi_exchange_scalar_vector_double without the mpi_cell variable. More...
|
|
subroutine | mpi_exchange_face_field_double (field) |
| Wrapper for mpi_exchange_face_field_double_typed without the mpi_face_* variable. More...
|
|
subroutine | mpi_exchange_face_field_integer (field) |
| Wrapper for mpi_exchange_face_field_integer_typed without the mpi_face_* variable. More...
|
|
subroutine | mpi_exchange_face_field_logical (field) |
| Wrapper for mpi_exchange_face_field_logical_typed without the mpi_face_* variable. More...
|
|
subroutine | 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. More...
|
|
subroutine | 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. More...
|
|
subroutine | 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. More...
|
|
subroutine | 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. More...
|
|
subroutine | 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. More...
|
|
subroutine | 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. More...
|
|
subroutine | 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. More...
|
|
subroutine | 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. More...
|
|
subroutine | 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. More...
|
|
subroutine | exchange_2d_asynchronous_double (array1, array2, mpi_exch1, mpi_exch2) |
|
subroutine | exchange_3d_asynchronous_double (array1, array2, array3, mpi_exch1, mpi_exch2, mpi_exch3) |
|
subroutine | exchange_2d_asynchronous_integer (array1, array2, mpi_exch1, mpi_exch2) |
|
subroutine | exchange_3d_asynchronous_integer (array1, array2, array3, mpi_exch1, mpi_exch2, mpi_exch3) |
|
subroutine | exchange_2d_asynchronous_logical (array1, array2, mpi_exch1, mpi_exch2) |
|
subroutine | exchange_3d_asynchronous_logical (array1, array2, array3, mpi_exch1, mpi_exch2, mpi_exch3) |
|
subroutine | exchange_2d_serialized_double (array1, array2, mpi_exch1, mpi_exch2) |
|
subroutine | exchange_3d_serialized_double (array1, array2, array3, mpi_exch1, mpi_exch2, mpi_exch3) |
|
subroutine | exchange_2d_serialized_integer (array1, array2, mpi_exch1, mpi_exch2) |
|
subroutine | exchange_3d_serialized_integer (array1, array2, array3, mpi_exch1, mpi_exch2, mpi_exch3) |
|
subroutine | exchange_2d_serialized_logical (array1, array2, mpi_exch1, mpi_exch2) |
|
subroutine | exchange_3d_serialized_logical (array1, array2, array3, mpi_exch1, mpi_exch2, mpi_exch3) |
|
subroutine, public | mpi_exchange_vectorized_face_field (array, mpi_face_u, mpi_face_v, mpi_face_w) |
|
subroutine, public | mpi_exchange_vectorized_scalar (array, mpi_exch) |
|
subroutine | mpi_exchange_scalar_double_vectorized (array, mpi_exch, nx, ny) |
|
This modules defines MPI exchange routines of scalar, vector or tensor. The call to mpi_exchange is generic whatever the type of data exchanged:
- a scalar can be defined on cells or one of the staggered grid. A scalar can be a double precision, an integer or a logical. The mpi_exchange data associated to the same grid on which is defined the scalar is the second argument of the routine. Example:
call mpi_exchange(pressure)
- a double precision vector of scalars can also be exchanged (4 dimension array).
- for a vector defined on faces, 2 routines exists, depending if the nodes of the faces common to 2 processors are exchanged or not:
- call mpi_exchange(velocity): the values on overlapping faces are not exchanged, mpi_face_[uvw] exchange data are used by default
- call mpi_exchange(velocity, mpi_face_u2, mpi_face_v2, mpi_face_w2): the values on overlapping faces are exchanged.
- a tensor type can be exchanged