C VERFPG SOURCE CHAT 07/10/29 21:30:12 5940 SUBROUTINE VERFPG(CGEOME,METING,MYFPGS, $ IMPR,IRET) IMPLICIT REAL*8 (A-H,O-Z) IMPLICIT INTEGER (I-N) C*********************************************************************** C NOM : VERFPG C PROJET : Noyau linéaire NLIN C DESCRIPTION : On vérifie pour la famille d'espace de méthode C d'intégration : C - qu'elle est valide ; C - qu'il y a bien un élément fini qui correspond à chaque C élément géométrique. 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 : FIFAL, KEEF (recherche dans une liste) C APPELE PAR : PRNLI2 C*********************************************************************** C ENTREES : * CGEOME (type MELEME) : maillage de QUAFs C partitionné. C * METING (type CH*4) : famille de méthodes C d'intégration C * MYFPGS (type FAPGS) : segment de description C des familles de méthodes d'intégration. C SORTIES : - 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 -INC SMELEME POINTEUR CGEOME.MELEME POINTEUR SOUMAI.MELEME * * Includes persos * 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 MYFPG.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 * CHARACTER*4 METING INTEGER IMPR,IRET * INTEGER ISOUS INTEGER NSOUS,ITYPL * * Executable statements * IF (IMPR.GT.1) WRITE(IOIMP,*) 'Entrée dans verfpg' CALL FIFAL(METING,MYFPGS, $ MYFPG, $ IMPR,IRET) IF (IRET.NE.0) THEN WRITE(IOIMP,*) 'La famille de méthodes d''intégration', $ METING,' n''existe pas.' GOTO 9999 ELSEIF (IMPR.GT.3) THEN WRITE(IOIMP,*) 'Famille : ',METING ENDIF SEGACT CGEOME NSOUS=CGEOME.LISOUS(/1) DO 1 ISOUS=1,NSOUS SOUMAI=CGEOME.LISOUS(ISOUS) SEGACT SOUMAI ITYPL=SOUMAI.ITYPEL * On vérifie que la famille contient une méthode d'intégration valide * pour l'élément fini ITYPL CALL KEPG(ITYPL,METING, $ MYFPGS, $ MYPG, $ IMPR,IRET) IF (IRET.NE.0) GOTO 9999 SEGDES SOUMAI 1 CONTINUE SEGDES CGEOME * * Normal termination * IRET=0 RETURN * * Format handling * * * Error handling * 9999 CONTINUE IRET=1 WRITE(IOIMP,*) 'An error was detected in subroutine verfpg' RETURN * * End of subroutine VERFPG * END