  MODULE geo
!=========================== DOCUMENTATION ============================= 
!DOCDEBm*    GEO/geo  *
!
!    NOM
! geo
!    DESCRIPTION  
!*
! Interface des routines du Module GEOmetrique
!
! Interface of routines from GEOmetric Module 
!*
!
!    SOURCE
! Ce logiciel est regi par la licence [CeCILL-B]
! This software is governed by the [CeCILL-B] license
!=========================== DEBUT DES DECLARATIONS ==================== 
!.1-----  Implicit, Use
  use geo_typ
  IMPLICIT NONE
!.2-----  Declaration
!=========================== DEBUT DU CODE EXECUTABLE ==================

!----- Debut Interface -------------------------------------------------
 interface display
     subroutine pointaffiche(p)
      use geo_typ
        type(point),intent(in) :: p 
      end subroutine pointaffiche
     subroutine faceaffiche(e)
      use geo_typ
        type(face),intent(in)  :: e 
      end subroutine faceaffiche
     subroutine cellaffiche(c)
      use geo_typ
        type(cell),intent(in)  :: c 
      end subroutine cellaffiche
     subroutine mshaffiche(msh)
      use geo_typ
        type(mesh),intent(in) :: msh 
      end subroutine mshaffiche
      subroutine list_i_affiche(L)
        use geo_typ
        type(list_int),intent(in) :: L
      end subroutine list_i_affiche
      subroutine blocaffiche(b)
        use geo_typ
        type(bloc),intent(in) :: b
      end subroutine blocaffiche
      
      subroutine solideaffiche(s)
        use geo_typ
        type(solide),intent(in) :: s
      end subroutine solideaffiche
      
      subroutine waffiche(w)
        use phy_typ
        type(state),intent(in) :: w 
      end subroutine waffiche
 end interface display
!----- Fin Interface ---------------------------------------------------

!----- Debut Interface -------------------------------------------------
  INTERFACE
       SUBROUTINE empty_mesh(msh,nbd,numd)
         use geo_typ
         type(mesh), intent(inout) :: msh
         integer,intent(in)        :: nbd,numd
       END SUBROUTINE empty_mesh
  END INTERFACE
!----- Fin Interface ---------------------------------------------------

!----- Debut Interface -------------------------------------------------
 interface
     subroutine gradprim(msh)
       use geo_typ
       type(mesh), intent(inout) :: msh 
     end subroutine gradprim
 end interface
!----- Fin Interface ---------------------------------------------------

!----- Debut Interface -------------------------------------------------
 interface
   subroutine gradlim(msh)
     use geo_typ
     type(mesh), intent(inout) :: msh 
   end subroutine gradlim
 end interface
!----- Fin Interface ---------------------------------------------------

!----- Debut Interface -------------------------------------------------
 interface
   subroutine gradlimxy(msh)
     use geo_typ
     type(mesh), intent(inout) :: msh 
   end subroutine gradlimxy
 end interface
!----- Fin Interface ---------------------------------------------------

!----- Debut Interface -------------------------------------------------
 interface
      SUBROUTINE MESH1D  (bl,msh,ib,nb_dom,blv,interdom)
      use geo_typ
       type(bloc),intent(in)            :: bl, blv(6)
       integer,intent(in)               :: ib,nb_dom     
       type(mesh), intent(inout)        :: msh 
        type(list_int),dimension(:), intent(inout) :: interdom
         end subroutine mesh1d
 end interface
!----- Fin Interface ---------------------------------------------------

!----- Debut Interface -------------------------------------------------
 interface
      SUBROUTINE MESH2D  (bl,msh,ib,nb_dom,blv,interdom)
      use geo_typ
       type(bloc),intent(in)            :: bl, blv(6)
       integer,intent(in)               :: ib,nb_dom     
       type(mesh), intent(inout)        :: msh 
        type(list_int),dimension(:), intent(inout) :: interdom
         end subroutine mesh2d
 end interface
!----- Fin Interface ---------------------------------------------------
!~
!----- Debut Interface -------------------------------------------------
 interface
      SUBROUTINE MESH3D  (bl,msh,ib,nb_dom,blv,interdom)
      use geo_typ
       type(bloc),intent(in)            :: bl, blv(6)
       integer,intent(in)               :: ib,nb_dom     
       type(mesh), intent(inout)        :: msh 
        type(list_int),dimension(:), intent(inout) :: interdom
         end subroutine mesh3d
 end interface
!----- Fin Interface ---------------------------------------------------

!----- Debut Interface -------------------------------------------------
 interface 
 FUNCTION pni(bl,vi,vj,vk,i2d)
  use geo_typ
  IMPLICIT NONE
  integer,intent(in) :: i2d
  type(point) :: pni
  type(bloc),intent(in) :: bl
  real(kind=kind(0.d0)),intent(in)  :: vi,vj,vk
 END FUNCTION pni
 end interface
!----- Fin Interface ---------------------------------------------------
 
!----- Debut Interface -------------------------------------------------
 interface
      SUBROUTINE psr(interdom,nb_dom,idomI,idomJ,ibI,ibJ,ipos_send,ipos_recv)
      use geo_typ
        integer, intent(in)     ::   nb_dom,idomI,idomJ,ibI,ibJ
        integer, intent(out)    ::   ipos_send,ipos_recv
          type(list_int),dimension(:), intent(in):: interdom
      END SUBROUTINE psr
 end interface
!----- Fin Interface ---------------------------------------------------

!----- Debut Interface -------------------------------------------------
 interface 
    subroutine triangle(x1,y1,z1,x2,y2,z2,x3,y3,z3,xn,yn,zn,surf,xm,ym,zm)
            real(kind=kind(0.d0))   :: x1,y1,z1,x2,y2,z2,x3,y3,z3,xn,yn,zn,surf,xm,ym,zm
    end subroutine triangle
 end interface
!----- Fin Interface ---------------------------------------------------

!----- Debut Interface -------------------------------------------------
 interface 
  real*8 FUNCTION volbloc(bl)
  use geo_typ
  type(bloc),intent(in) :: bl
 END FUNCTION volbloc
 end interface
!----- Fin Interface ---------------------------------------------------

!----- Debut Interface -------------------------------------------------
 interface 
    real*8 FUNCTION volcel(bl,vi,vj,vk,i2d)
      use geo_typ
      integer,intent(in) :: i2d
      type(bloc),intent(in) :: bl
      real(kind=kind(0.d0)),intent(in)  :: vi,vj,vk
    END FUNCTION volcel
 end interface
!----- Fin Interface ---------------------------------------------------
!===========================   FIN DU MODULE   =========================
  END MODULE geo

!DOCFIN