C KEPG SOURCE CHAT 07/10/29 21:21:43 5940 SUBROUTINE KEPG(ITYPL,NMFAP, $ MYFPGS, $ MYPG, $ IMPR,IRET) IMPLICIT REAL*8 (A-H,O-Z) IMPLICIT INTEGER (I-N) C*********************************************************************** C NOM : KEPG C PROJET : Noyau linéaire NLIN C DESCRIPTION : On donne un numéro de type d'élément géométrique (un C QUAF, donc), un nom de famille de méthodes d'intégration C En sortie, on a le pointeur sur la méthode d'intégration C (type POGAU) 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 : FIFPG, FIENTI (recherche dans une liste) C APPELE PAR : VERFPG C*********************************************************************** C ENTREES : * ITYPL (type entier) : numéro d'élément C géométrique (cf. tableau NOMS dans l'include C CCOPTIO). C * NMFAP (type CH*(*)) : nom de famille de C méthodes d'intégration (cf. NOMFAP dans C l'include SFAPG). C * MYFPGS (type FALPGS) : segment de description C des familles de méthodes d'intégration. C SORTIES : * MYPG (type POGAU) : pointeur sur l'élément C fini correspondant à l'élément géométrique de C numéro ITYPL dans la famille de nom NMFAP C CODE RETOUR (IRET) : = 0 si tout s'est bien passé C*********************************************************************** C VERSION : v1, 18/07/02, version initiale C HISTORIQUE : v1, 18/07/02, 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 CCOPTIO -INC CCGEOME * * Includes perso * CBEGININCLUDE SFAPG SEGMENT FAPG CHARACTER*(LNNFAP) NOMFAP INTEGER NBQUAF(NBMPG) POINTEUR MPOGAU(NBMPG).POGAU ENDSEGMENT SEGMENT FAPGS POINTEUR LISFPG(0).FAPG ENDSEGMENT CENDINCLUDE SFAPG POINTEUR MYFPGS.FAPGS POINTEUR MYFAL.FAPG CBEGININCLUDE SPOGAU SEGMENT POGAU CHARACTER*(LNNPG) NOMPG CHARACTER*(LNTPG) TYPMPG CHARACTER*(LNFPG) FORLPG INTEGER NORDPG REAL*8 XCOPG(NDLPG,NBPG) REAL*8 XPOPG(NBPG) ENDSEGMENT SEGMENT POGAUS POINTEUR LISPG(0).POGAU ENDSEGMENT CENDINCLUDE SPOGAU POINTEUR MYPG.POGAU * INTEGER ITYPL CHARACTER*(*) NMFAP INTEGER IBLRF,NBLRF INTEGER IMPR,IRET * * Executable statements * IF (IMPR.GT.6) WRITE(IOIMP,*) 'Entrée dans kepg' CALL FIFAL(NMFAP,MYFPGS, $ MYFAL, $ IMPR,IRET) IF (IRET.NE.0) GOTO 9999 SEGACT MYFAL NBLRF=MYFAL.NBQUAF(/1) CALL FIENTI(ITYPL,MYFAL.NBQUAF,NBLRF, $ IBLRF, $ IMPR,IRET) IF (IRET.NE.0) THEN WRITE(IOIMP,*) 'On n''a pas trouvé ',NOMS(ITYPL), $ ' dans la famille de méthode d''intégration ',MYFAL.NOMFAP GOTO 9999 ENDIF MYPG=MYFAL.MPOGAU(IBLRF) SEGDES MYFAL * * Normal termination * IRET=0 RETURN * * Format handling * * * Error handling * 9999 CONTINUE IRET=1 WRITE(IOIMP,*) 'An error was detected in subroutine kepg' RETURN * * End of subroutine KEPG * END