C INQRPY    SOURCE    GOUNAND   21/06/02    21:16:58     11022          
      SUBROUTINE INQRPY(MYQRFS,IMPR,IRET)
      IMPLICIT REAL*8 (A-H,O-Z)
      IMPLICIT INTEGER (I-N)
C***********************************************************************
C NOM         : INQRPY
C PROJET      : Noyau linéaire NLIN
C DESCRIPTION :
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            : -
C ENTREES/SORTIES    :
C SORTIES            : -
C CODE RETOUR (IRET) : = 0 si tout s'est bien passé
C***********************************************************************
C VERSION    : v1, 01/08/06, version initiale
C HISTORIQUE : v1, 01/08/06, création
C HISTORIQUE :
C HISTORIQUE :
C***********************************************************************
C Prière de PRENDRE LE TEMPS de compléter les commentaires
C en cas de modification de ce sous-programme afin de faciliter
C la maintenance !
C***********************************************************************

-INC PPARAM
-INC CCOPTIO
-INC CCGEOME
-INC TNLIN      
*-INC SIQUAF
      POINTEUR MYQRFS.IQUAFS
      POINTEUR QRCOUR.IQUAF
      INTEGER NDIMQR,NBNOQR
-INC SMELEME
      POINTEUR MYMEL.MELEME
      POINTEUR SOUMEL.MELEME
      INTEGER NBNN,NBELEM,NBSOUS,NBREF
*
      INTEGER IMPR,IRET
      REAL*8 ZERO,UN,UNS3,UNS2,UNS4
*
      PARAMETER (ZERO=0.D0,UN=1.D0,UNS3=1.D0/3.D0,UNS2=1.D0/2.D0)
      PARAMETER (UNS5=1.D0/5.D0)
*
      INTEGER NUMER
*
* Executable statements
*
      IF (IMPR.GT.1) WRITE(IOIMP,*) 'Entrée dans inqrpy'
*
* Elément QUAF PY19
*

      NDIMQR=3
      NBNOQR=19
      SEGINI QRCOUR
* Numéro de l'élément géométrique dans NOMS
* NOMS(1:NOMBR) sont les noms des types d'éléments géométriques,
* cf. include CCGEOME
      CALL FICH4('PY19',NOMS,NOMBR,
     $     NUMER,
     $     IMPR,IRET)
      IF (IRET.NE.0) GOTO 9999
      QRCOUR.NUMQUF=NUMER
*
* Coordonnées des noeuds du QUAF de référence
*
      QRCOUR.XCONQR(1,1)=UN
      QRCOUR.XCONQR(2,1)=ZERO
      QRCOUR.XCONQR(3,1)=ZERO
      QRCOUR.XCONQR(1,2)=UNS2
      QRCOUR.XCONQR(2,2)=UNS2
      QRCOUR.XCONQR(3,2)=ZERO
      QRCOUR.XCONQR(1,3)=ZERO
      QRCOUR.XCONQR(2,3)=UN
      QRCOUR.XCONQR(3,3)=ZERO
      QRCOUR.XCONQR(1,4)=-UNS2
      QRCOUR.XCONQR(2,4)=UNS2
      QRCOUR.XCONQR(3,4)=ZERO
      QRCOUR.XCONQR(1,5)=-UN
      QRCOUR.XCONQR(2,5)=ZERO
      QRCOUR.XCONQR(3,5)=ZERO
      QRCOUR.XCONQR(1,6)=-UNS2
      QRCOUR.XCONQR(2,6)=-UNS2
      QRCOUR.XCONQR(3,6)=ZERO
      QRCOUR.XCONQR(1,7)=ZERO
      QRCOUR.XCONQR(2,7)=-UN
      QRCOUR.XCONQR(3,7)=ZERO
      QRCOUR.XCONQR(1,8)=UNS2
      QRCOUR.XCONQR(2,8)=-UNS2
      QRCOUR.XCONQR(3,8)=ZERO
*
      QRCOUR.XCONQR(1,9)=UNS2
      QRCOUR.XCONQR(2,9)=ZERO
      QRCOUR.XCONQR(3,9)=UNS2
      QRCOUR.XCONQR(1,10)=ZERO
      QRCOUR.XCONQR(2,10)=UNS2
      QRCOUR.XCONQR(3,10)=UNS2
      QRCOUR.XCONQR(1,11)=-UNS2
      QRCOUR.XCONQR(2,11)=ZERO
      QRCOUR.XCONQR(3,11)=UNS2
      QRCOUR.XCONQR(1,12)=ZERO
      QRCOUR.XCONQR(2,12)=-UNS2
      QRCOUR.XCONQR(3,12)=ZERO
*
      QRCOUR.XCONQR(1,13)=ZERO
      QRCOUR.XCONQR(2,13)=ZERO
      QRCOUR.XCONQR(3,13)=UN
      QRCOUR.XCONQR(1,14)=ZERO
      QRCOUR.XCONQR(2,14)=ZERO
      QRCOUR.XCONQR(3,14)=ZERO
*
      QRCOUR.XCONQR(1,15)=UNS3
      QRCOUR.XCONQR(2,15)=UNS3
      QRCOUR.XCONQR(3,15)=UNS3
      QRCOUR.XCONQR(1,16)=-UNS3
      QRCOUR.XCONQR(2,16)=UNS3
      QRCOUR.XCONQR(3,16)=UNS3
      QRCOUR.XCONQR(1,17)=-UNS3
      QRCOUR.XCONQR(2,17)=-UNS3
      QRCOUR.XCONQR(3,17)=UNS3
      QRCOUR.XCONQR(1,18)=UNS3
      QRCOUR.XCONQR(2,18)=-UNS3
      QRCOUR.XCONQR(3,18)=UNS3
*
      QRCOUR.XCONQR(1,19)=ZERO
      QRCOUR.XCONQR(2,19)=ZERO
      QRCOUR.XCONQR(3,19)=UNS5

*
* Numero du centre
*
      QRCOUR.NUCENT=19
*
* Faces du PY19 : 1 QUA9 + 4 TRI7
*
*     Chapeau
      NBNN=0
      NBELEM=0
      NBSOUS=2
      NBREF=0
      SEGINI MYMEL
*     Face QUA9
      NBNN=9
      NBELEM=1
      NBSOUS=0
      NBREF=0
      SEGINI SOUMEL
      CALL FICH4('QUA9',NOMS,NOMBR,
     $     NUMER,
     $     IMPR,IRET)
      IF (IRET.NE.0) GOTO 9999
      SOUMEL.ITYPEL=NUMER
*     Face 1
      SOUMEL.NUM(1,1)=1
      SOUMEL.NUM(2,1)=2
      SOUMEL.NUM(3,1)=3
      SOUMEL.NUM(4,1)=4
      SOUMEL.NUM(5,1)=5
      SOUMEL.NUM(6,1)=6
      SOUMEL.NUM(7,1)=7
      SOUMEL.NUM(8,1)=8
      SOUMEL.NUM(9,1)=14
*
      SEGDES SOUMEL
      MYMEL.LISOUS(1)=SOUMEL
*     4 Faces TRI7
      NBNN=7
      NBELEM=4
      NBSOUS=0
      NBREF=0
      SEGINI SOUMEL
      CALL FICH4('TRI7',NOMS,NOMBR,
     $     NUMER,
     $     IMPR,IRET)
      IF (IRET.NE.0) GOTO 9999
      SOUMEL.ITYPEL=NUMER
*     Face 1
      SOUMEL.NUM(1,1)=1
      SOUMEL.NUM(2,1)=2
      SOUMEL.NUM(3,1)=3
      SOUMEL.NUM(4,1)=10
      SOUMEL.NUM(5,1)=13
      SOUMEL.NUM(6,1)=9
      SOUMEL.NUM(7,1)=15
*     Face 2
      SOUMEL.NUM(1,2)=3
      SOUMEL.NUM(2,2)=4
      SOUMEL.NUM(3,2)=5
      SOUMEL.NUM(4,2)=11
      SOUMEL.NUM(5,2)=13
      SOUMEL.NUM(6,2)=10
      SOUMEL.NUM(7,2)=16
*     Face 3
      SOUMEL.NUM(1,3)=5
      SOUMEL.NUM(2,3)=6
      SOUMEL.NUM(3,3)=7
      SOUMEL.NUM(4,3)=12
      SOUMEL.NUM(5,3)=13
      SOUMEL.NUM(6,3)=11
      SOUMEL.NUM(7,3)=17
*     Face 4
      SOUMEL.NUM(1,4)=7
      SOUMEL.NUM(2,4)=8
      SOUMEL.NUM(3,4)=1
      SOUMEL.NUM(4,4)=9
      SOUMEL.NUM(5,4)=13
      SOUMEL.NUM(6,4)=12
      SOUMEL.NUM(7,4)=18
*
      SEGDES SOUMEL
      MYMEL.LISOUS(2)=SOUMEL
      SEGDES MYMEL
      QRCOUR.LFACE=MYMEL
      SEGDES QRCOUR
      MYQRFS.LISQRF(**)=QRCOUR
*
* Normal termination
*
      IRET=0
      RETURN
*
* Format handling
*
*
* Error handling
*
 9999 CONTINUE
      IRET=1
      WRITE(IOIMP,*) 'An error was detected in subroutine inqrpy'
      RETURN
*
* End of subroutine INQRPY
*
      END




 
 
 
