      !***********************************************************************!
      SUBROUTINE  voisinage(  comm3d,  voisin  )
      !***********************************************************************!
!
      USE MPI
!
      USE numerics
!
      IMPLICIT  NONE
!
!--Declaration  des  arguments
!
!Tableau  contenant  les  voisins  du  domaine  courant
      INTEGER,  PARAMETER              ::  NB_VOISINS  =  6
!
      INTEGER,  PARAMETER              ::  N=1,  E=2,   S=3
      INTEGER,  PARAMETER              ::  W=4,  AV=5,  AR=6
      INTEGER,  DIMENSION(NB_VOISINS),  INTENT(OUT)  ::  voisin
!
!Constantes  MPI
      INTEGER,  INTENT(IN)  ::  comm3d
!
!
      !***********************************************************************!
!
!Initialisation  du  tableau  voisin
      voisin(1:NB_VOISINS)  =  MPI_PROC_NULL
!
!Recherche  des  voisins  Ouest  et  Est
      CALL  MPI_CART_SHIFT(  comm3d,  0,  1,  voisin(W),   voisin(E),   ierr  )
!
!Recherche  des  voisins  Nord  et  Sud
      CALL  MPI_CART_SHIFT(  comm3d,  1,  1,  voisin(S),   voisin(N),   ierr  )
!
!Recherche  des  voisins  Avant  et  Arriere
      CALL  MPI_CART_SHIFT(  comm3d,  2,  1,  voisin(AV),  voisin(AR),  ierr  )
!
      RETURN
      END  SUBROUTINE  voisinage

