Numérotation des lignes :

C GORIEN    SOURCE    CHAT      05/01/13    00:19:04     5004CC      INTEGER FUNCTION GORIEN(IT, N, C, IDIMC, ZERO )C     *****************************************************************C     OBJET : RENVOI L'ORIENTATION DE L'ELEMENT +1 SI POSITIFC             -1 SI NEGATIF, 0 SI NULC     EN ENTREE :C       IT      : NUMERO DES NOEUDS DE L'ELEMENTC       N       : NOMBRE DE NOEUDS DE L'ELEMENTC       C       : COORDONNEES DES NOEUDSC       IDIMC    : DIMENSION DE L'ESPACEC       ZERO    : SURFACE CONSIDEREE COMME NULLEC     CONDITIONS D'APPLICATIONS : N'A PAS DE SENS SI LA DIMENSION DEC                L'ELEMENT EST INFERIEURE A LA DIMENSION DE L'ESPACEC                POUR ORIENTER UN QUADRANGLE IL SUFFIT DE DONNER LEC                PREMIER TRIANGLE.C     *****************************************************************      IMPLICIT INTEGER(I-N)      INTEGER IT(*),N,IDIMC      REAL*8    C(*), ZEROC      DIMENSION X(12)      INTEGER   I,J      REAL*8      X,VX,VY,VZ,TAILLEC      TAILLE = 0.0      GORIEN= 0      DO 10 I=1,(N-1)        DO 20 J=1,IDIMC          X((I-1)*IDIMC+J) = C(((IT(I+1)-1)*IDIMC)+J)     >                    - C(((IT(I)-1)*IDIMC)+J)   20   CONTINUE   10 CONTINUE      IF( IDIMC .EQ. 3 )THEN        VX = (X(2) * X(6)) - (X(5) * X(3))        VY = (X(3) * X(4)) - (X(6) * X(1))        VZ = (X(1) * X(5)) - (X(4) * X(2))      ENDIFCC     CAS DU SEGMENT (1D, 2D, 3D)C      IF( N. EQ. 2 )THEN        IF( IDIMC .EQ. 1 )THEN           TAILLE = X(1)        ENDIFCC     CAS DU TRIANGLE (2D, 3D)C      ELSE IF( N.EQ.3 ) THEN        IF( IDIMC .EQ. 2 )THEN          TAILLE = ((X(1) * X(4)) - (X(2) * X(3))) / 2.        ENDIFCC     CAS DU TETRAEDRE (3D)C      ELSE IF( N. EQ. 4 )THEN        TAILLE = ((VX * X(7)) + (VY * X(8)) + (VZ * X(9))) / 6.      ENDIF      IF( TAILLE .GT. ZERO )GORIEN= 1      IF( TAILLE .LT. ZERO )GORIEN= -1      END

© Cast3M 2003 - Tous droits réservés.
Mentions légales