C PRFPG SOURCE CHAT 07/10/29 21:26:00 5940 SUBROUTINE PRFPG(FACOUR, $ IMPR,IRET) IMPLICIT REAL*8 (A-H,O-Z) IMPLICIT INTEGER (I-N) C*********************************************************************** C NOM : PRFPG C PROJET : Noyau linéaire NLIN C DESCRIPTION : Imprime un segment décrivant une famille de méthodes C d'intégration. C LANGAGE : ESOPE C AUTEUR : Stéphane GOUNAND (CEA/DRN/DMT/SEMT/LTMF) C mél : gounand@semt2.smts.cea.fr C*********************************************************************** C APPELES : OOOETA (état d'un segment) C APPELE PAR : INFPGS C*********************************************************************** C ENTREES : FACOUR (type FAPG) : famille d'éléments de C référence. C ENTREES/SORTIES : - C SORTIES : - C CODE RETOUR (IRET) : = 0 si tout s'est bien passé C*********************************************************************** C VERSION : v1, 16/07/02, version initiale C HISTORIQUE : v1, 16/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 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 PGCOUR.POGAU 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 FACOUR.FAPG * INTEGER IMPR,IRET * INTEGER IBMPG,NBMPG INTEGER FALETA * * Executable statements * * On veut laisser FACOUR dans le même état (actif, inactif) qu'avant * l'appel à PRFPG. CALL OOOETA(FACOUR,FALETA) IF (FALETA.NE.1) SEGACT FACOUR WRITE(IOIMP,*) 'Segment FAPG de pointeur',FACOUR IF (IMPR.GT.1) THEN WRITE(IOIMP,*) 'Nom : ',FACOUR.NOMFAP IF (IMPR.GT.2) THEN NBMPG=FACOUR.NBQUAF(/1) SEGACT FACOUR.MPOGAU(*) WRITE(IOIMP,4005) 'QUAF','Meth. integ.' DO 1 IBMPG=1,NBMPG PGCOUR=FACOUR.MPOGAU(IBMPG) WRITE(IOIMP,4005) NOMS(FACOUR.NBQUAF(IBMPG)), $ PGCOUR.NOMPG 1 CONTINUE SEGDES FACOUR.MPOGAU(*) ENDIF ENDIF IF (FALETA.NE.1) SEGDES FACOUR C NBMPG=FACOUR.NBQUAF(/1) C SEGACT FACOUR.MPOGAU(*) C DO 1 IBMPG=1,NBMPG C PGCOUR=FACOUR.MPOGAU(IBMPG) C WRITE(IOIMP,4004) C $ FACOUR.NOMFAP,NOMS(FACOUR.NBQUAF(IBMPG)), C $ PGCOUR.NOMPG C 1 CONTINUE C SEGDES FACOUR.MPOGAU(*) * * Normal termination * IRET=0 RETURN * * Format handling * 4004 FORMAT (A20,' ',A20,' ',A20) 4005 FORMAT (A14,' <-> ',A14) * * Error handling * 9999 CONTINUE IRET=1 WRITE(IOIMP,*) 'An error was detected in subroutine prfpg' RETURN * * End of subroutine prfpg * END