C IDQUDI    SOURCE    GOUNAND   24/11/06    21:15:10     12073          
      SUBROUTINE IDQUDI(ITELEM,ITQUAF,MYDISC)
      IMPLICIT REAL*8 (A-H,O-Z)
      IMPLICIT INTEGER (I-N)
C***********************************************************************
C NOM         : IDQUDI
C PROJET      : Noyau linéaire NLIN
C DESCRIPTION : Etant donne un type d'element, on renvoie le type du
C               QUAF correspondant et sa famille de discretisation
C
C
C LANGAGE     : ESOPE
C AUTEUR      : Stéphane GOUNAND (CEA/DRN/DMT/SEMT/LTMF)
C               mél : gounand@semt2.smts.cea.fr
C***********************************************************************
C APPELES          :
C APPELE PAR       :
C***********************************************************************
C ENTREES            : ITELEM
C SORTIES            : ITQUAF, MYDISC
C CODE RETOUR (IRET) : = 0 si tout s'est bien passé
C***********************************************************************
C VERSION    : v1, 25/10/2024, version initiale
C HISTORIQUE : v1, 25/10/2024, création
C HISTORIQUE :
C HISTORIQUE :
C***********************************************************************

-INC PPARAM
-INC CCOPTIO
-INC CCGEOME
*
      CHARACTER*4 MYDISC,NMELEM,NMELEQ
      PARAMETER (NQUAF=7)
      CHARACTER*4 NMQUAF(NQUAF)
      CHARACTER*4 NMQUAI(NQUAF)
      CHARACTER*4 NMLINE(NQUAF)
*
* Fonctions appelées
*
*
      INTEGER ICOMP ,ISOUS
      INTEGER        NSOUS,NDDL,ITQUAF
*
      DATA NMQUAF/'SEG3','TRI7','QUA9','CU27','PR21','TE15','PY19'/
      DATA NMQUAI/'SEG3','TRI6','QUA8','CU20','PR15','TE10','PY13'/
      DATA NMLINE/'SEG2','TRI3','QUA4','CUB8','PRI6','TET4','PYR5'/
*
* Executable statements
*
* Est-ce un QUAF ?
      NMELEM=NOMS(ITELEM)
      CALL PLACE5(NMQUAF,NQUAF,IQUAF,NMELEM)
      IF (IQUAF.EQ.0) THEN
         CALL PLACE5(NMLINE,NQUAF,ILINE,NMELEM)
         IF (ILINE.EQ.0) THEN
            CALL PLACE5(NMQUAI,NQUAF,IQUAI,NMELEM)
            IF (IQUAI.EQ.0) THEN
               MOTERR(1:8)=NMELEM//'    '
* Le type d'element fini %m1:8 ne convient pas.
               CALL ERREUR(926)
               RETURN
            ELSE
               MYDISC='QUAI'
               NMELEQ=NMQUAF(IQUAI)
            ENDIF
         ELSE
            MYDISC='LINE'
            NMELEQ=NMQUAF(ILINE)
         ENDIF
         CALL PLACE5(NOMS,NOMBR,ITQUAF,NMELEQ)
      ELSE
         MYDISC='QUAF'
         ITQUAF=ITELEM
      ENDIF
*
* Normal termination
*
      RETURN
*
* Format handling
*
*
* Error handling
*
*
* End of subroutine IDQUDI
*
      END
 
