C FCAR8     SOURCE    PV        22/04/25    21:15:07     11344          
C
C
      SUBROUTINE FCAR8(ITYPE,INDONN,IRESUL,NBRESU)
C     **********************************************************************
C     OBJET FCAR8  : RENVOI LES INFO SUR LE CAR8
C        EN ENTREE :
C           ITYPE  : TYPE DES INFORMATION SOUHAITEES
C           INDONN : DONNEES POUR LA REQUETE FORMULEE
C        EN SORTIE :
C          IRESUL  : TABLEAU D'ENTIER CONTENANT LE RESULTAT
C          NBRESU  : NOMBRE D'INFORMATION CONTENU DANS IRESUL
C
C     **********************************************************************
      IMPLICIT INTEGER(I-N)
      INTEGER ITYPE,INDONN(*),IRESUL(*),NBRESU
C
C
      INTEGER NBNO,INDMIN,INDMAX,I
C                  ==========================
C     ------------- DESCRIPTION DE L'ELEMENT --------------------
C                  ==========================
      INTEGER NSOAR,NNOAR,NSOFA,NNOFA,NSOVO,NNOVO,NNOTOT
      PARAMETER ( NSOAR = 8, NNOAR = 9, NSOFA = 6, NNOFA = 1,
     >           NSOVO = 4, NNOVO = 1, NNOTOT = 4 )
      INTEGER ISOAR(NSOAR),INOAR(NNOAR),ISOFA(NSOFA),INOFA(NNOFA)
      INTEGER ISOVO(NSOVO),INOVO(NNOVO),INOTOT(NNOTOT)
      DATA    ISOAR / 1,3,3,5,5,7,7,1 /
      DATA    INOAR /6,7,8,9,10,2,4,6,8/
      DATA    ISOFA / 3,7,1,3,5,7 /
      DATA    INOFA / 0 /
      DATA    ISOVO / 1,3,5,7 /
      DATA    INOVO / 0 /
      DATA    INOTOT /2,4,6,8 /
C     ------------------------------------------------------------
C
      GOTO(10,20,30,40,50,60,70,80,90) ITYPE
    1 NBRESU = 0
      GOTO 9999
C
C     ============================================================
C     1  : LES INDICES DES NOEUDS MILIEU DES SOMMETS (D'UNE ARETE)
C     ============================================================
   10 CONTINUE
      INDMIN = MIN(INDONN(1),INDONN(2))
      INDMAX = MAX(INDONN(1),INDONN(2))
      CALL ELSN2D( INDMIN,INDMAX,8,IRESUL(1) )
      NBNO = 1
      NBRESU = NBNO
      GOTO 9999
C
C     ============================================================
C     2  : LES INDICES DES SOMMETS D'UNE ARETE
C     ============================================================
   20 CONTINUE
      NBRESU = NSOAR
      DO 21 I=1,NBRESU
        IRESUL(I) = ISOAR(I)
   21 CONTINUE
      GOTO 9999
C
C     ============================================================
C     3  : LES INDICES DES NOEUDS MILIEU D'UNE ARETE
C     ============================================================
   30 CONTINUE
      NBRESU = NNOAR
      DO 31 I=1,NBRESU
        IRESUL(I) = INOAR(I)
   31 CONTINUE
      GOTO 9999
C
C     ============================================================
C     4  : LES INDICES DES NOEUDS MILIEU DES SOMMETS (D'UNE FACE)
C     ============================================================
   40 CONTINUE
      NBRESU = 0
      GOTO 9999
C
C     ============================================================
C     5  : LES INDICES DES SOMMETS D'UNE FACE
C     ============================================================
   50 CONTINUE
      NBRESU = NSOFA
      DO 51 I=1,NBRESU
        IRESUL(I) = ISOFA(I)
   51 CONTINUE
      GOTO 9999
C
C     ============================================================
C     6  : LES INDICES DES NOEUDS MILIEU D'UNE FACE
C     ============================================================
   60 CONTINUE
      NBRESU = NNOFA
      DO 61 I=1,NBRESU
        IRESUL(I) = INOFA(I)
   61 CONTINUE
      GOTO 9999
C
C     ============================================================
C     7  : LES INDICES DES NOEUDS DU VOLUME
C     ============================================================
   70 CONTINUE
      NBRESU = NNOVO
      DO 71 I=1,NBRESU
        IRESUL(I) = INOVO(I)
   71 CONTINUE
      GOTO 9999
C
C     ============================================================
C     8  : LES INDICES DES SOMMETS
C     ============================================================
   80 CONTINUE
      NBRESU = NSOVO
      DO 81 I=1,NBRESU
        IRESUL(I) = ISOVO(I)
   81 CONTINUE
      GOTO 9999
C
C     ============================================================
C     9  : LES INDICES DES NOEUDS
C     ============================================================
   90 CONTINUE
      NBRESU = NNOTOT
      DO 91 I=1,NBRESU
        IRESUL(I) = INOTOT(I)
   91 CONTINUE
      GOTO 9999
C
 9999 END


 
 
 
