prchva
C PRCHVA SOURCE GOUNAND 21/06/02 21:17:21 11022 $ IMPR,IRET) IMPLICIT REAL*8 (A-H,O-Z) IMPLICIT INTEGER (I-N) C*********************************************************************** C NOM : PRCHVA C PROJET : Noyau linéaire NLIN C DESCRIPTION : Imprime un segment contenant les valeurs d'un champ par C élément élémentaire (un seul type d'élément) 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 : PRCAEL, GEOLIN C*********************************************************************** C ENTREES : * MYCHVA (type MCHEVA) : le champ par éléments C élémentaire à imprimer. C ENTREES/SORTIES : - C SORTIES : - C CODE RETOUR (IRET) : = 0 si tout s'est bien passé C*********************************************************************** C VERSION : v1, 12/08/99, version initiale C HISTORIQUE : v1, 12/08/99, 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 TNLIN *-INC SMCHAEL POINTEUR MYCHVA.MCHEVA * INTEGER IMPR,IRET * INTEGER MCVETA INTEGER NBLIG,NBCOL,N2LIG,N2COL,NBPOI,NBELM INTEGER ILIG,ICOL,I2LIG,I2COL,IPOI,IELEM * * Executable statements * * On veut laisser MYCHVA dans le même état (actif, inactif) qu'avant * l'appel à PRCHVA. CALL OOOETA(MYCHVA,MCVETA,IMOD) IF (MCVETA.NE.1) SEGACT MYCHVA WRITE(IOIMP,*) 'Segment MCHEVA de pointeur',MYCHVA IF (IMPR.GT.1) THEN NBELM=MYCHVA.WELCHE(/6) NBPOI=MYCHVA.WELCHE(/5) N2COL=MYCHVA.WELCHE(/4) N2LIG=MYCHVA.WELCHE(/3) NBCOL=MYCHVA.WELCHE(/2) NBLIG=MYCHVA.WELCHE(/1) WRITE(IOIMP,*) 'Nombre d''éléments, points, ', $ 'comp. colonnes, comp. lignes, colonnes, lignes :', $ NBELM,NBPOI,N2COL,N2LIG,NBCOL,NBLIG IF (IMPR.GT.3) THEN WRITE(IOIMP,*) 'Valeurs du champ par éléments' DO 3 IELEM=1,NBELM DO 32 IPOI=1,NBPOI DO 322 I2LIG=1,N2LIG DO 3222 I2COL=1,N2COL WRITE (IOIMP,*) $ 'Elément',IELEM,' Point',IPOI, $ 'Comp. lig.',I2LIG,'Comp. col',I2COL DO 32222 ILIG=1,NBLIG WRITE(IOIMP,4002) $ ILIG, $ (MYCHVA.WELCHE(ILIG,ICOL,I2LIG,I2COL, $ IPOI,IELEM), $ ICOL=1,NBCOL) 32222 CONTINUE 3222 CONTINUE 322 CONTINUE 32 CONTINUE 3 CONTINUE ENDIF ENDIF IF (MCVETA.NE.1) SEGDES MYCHVA * * Normal termination * IRET=0 RETURN * * Format handling * 4000 FORMAT (2X,'Ligne :',6(1X,A8)) 4001 FORMAT (2X,'Colonne :',6(1X,A8)) 4002 FORMAT (2X,'Ligne ',I6,' :',4(1X,1PE16.8)) * * Error handling * 9999 CONTINUE IRET=1 WRITE(IOIMP,*) 'An error was detected in subroutine prchva' RETURN * * End of subroutine prchva * END
© Cast3M 2003 - Tous droits réservés.
Mentions légales