C LIEUP2    SOURCE    CHAT      05/01/13    01:17:29     5004
      SUBROUTINE LIEUP2(NDIM,PT1,PT2,PT3,PT4,XREEL,TEST)
***
****************************************************************************
*** SP 'LIEUP2' : permet de determiner la position d'un point par rapport
*** a une face d'un element :
***
*** APPELES 1 = aucun
*** APPELES 2 = 'EQPL3P' (fonction)
***
*** E = 'NDIM' dimension de l'espace
***     'PT1', 'PT2', 'PT3', 'PT4' noeuds de l'element considere
***     'XREEL' pt considere en coordonnees reelles
***
*** S = 'TEST'
***      TEST > 0. le point est du cote interieur de l'element
***      TEST = 0. le point est sur la face
***      TEST < 0. le point est à l'exterieur de l'element
***
***            Auteur Cyril Nou
****************************************************************************
      IMPLICIT INTEGER(I-N)
      IMPLICIT REAL*8 (A-H,O-Z)
      DIMENSION XREEL(3),PT1(3),PT2(3),PT3(3),PT4(3)
********** cas 2D **********
      IF (NDIM.EQ.2) THEN
         A=(XREEL(1)-PT1(1))*(PT2(2)-PT1(2))
         B=(XREEL(2)-PT1(2))*(PT2(1)-PT1(1))
         C=(PT3(1)-PT1(1))*(PT2(2)-PT1(2))
         D=(PT3(2)-PT1(2))*(PT2(1)-PT1(1))
         TEST=(A-B)/(C-D)
C        IF (TEST.GE.(-EPSILO)) ITEST=1
********** cas 3D **********
      ELSEIF (NDIM.EQ.3) THEN
***      'EQPL3P' fonction associée a l'equation du plan
         TEST1=EQPL3P(PT4,PT1,PT2,PT3)
         TEST2=EQPL3P(XREEL,PT1,PT2,PT3)
         TEST=TEST2/TEST1
C        IF (TEST.GE.(-EPSILO)) ITEST=1
      ENDIF
      RETURN
      END


