version 0.6.0
Loading...
Searching...
No Matches
mod_mpi_exchange Module Reference

MPI Exchange modules between processors. More...

Data Types

interface  mpi_exchange
 Exchange field. More...
 

Functions/Subroutines

subroutine mpi_exchange_scalar_cell_double (array)
 Wrapper for mpi_exchange_scalar_cell_double without the mpi_cell variable.
 
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)
 

Detailed Description

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

Function/Subroutine Documentation

◆ mpi_exchange_scalar_cell_double()

subroutine mod_mpi_exchange::mpi_exchange_scalar_cell_double ( double precision, dimension(:,:,:), intent(inout) array)
Parameters
[in,out]arraythe field of doubles to be exchanged