C ECMINC SOURCE PV 20/09/26 21:16:34 10724 SUBROUTINE ECMINC(MINC,NIVIMP) IMPLICIT INTEGER(I-N) IMPLICIT REAL*8 (A-H,O-Z) C*********************************************************************** C NOM : ECMINC C DESCRIPTION : Impression d'un segment de type MINC. C Ce segment contient des informations sur le C rangement des inconnues dans une "certaine" C numérotation (cf. segment IDMAT) vis à vis C d'un "certain" support géométrique. C Tout seul, il ne signifie donc pas grand-chose. C cf. include SMMATRIK C C LANGAGE : ESOPE C AUTEUR : Stéphane GOUNAND (CEA/DRN/DMT/SEMT/TTMF) C mél : gounand@semt2.smts.cea.fr C*********************************************************************** C APPELES : - C*********************************************************************** C ENTREES : MINC, NIVIMP C ENTREES/SORTIES : - C SORTIES : - C CODE RETOUR (IRET) : - C MINC : segment de type MINC (include SMMATRIK) C NIVIMP : niveau d'impression. Suivant sa valeur, on obtient : C Convention (probablement non totalement respectée) : C ---------- 0 : presque rien (numéro de pointeur) C 1 : affichage du chapeau MINC C 2 : affichage des données concernant les objets C pointés par MINC (s'il y en a) C 3 : affichage du contenu des objets vectoriels C 4 : affichage du contenu des objets matriciels C On ne change pas l'état (actif ou inactif) du segment MINC. C*********************************************************************** C VERSION : v1, 01/04/98, version initiale C HISTORIQUE : v1, 01/04/98, création C HISTORIQUE : 29/10/98, modif. l'état du segment reste inchangé C en sortie 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 SMMATRIK * Variable d'état du segment MINC INTEGER MINETA * * Executable statements * IF (MINC.EQ.0) THEN WRITE(IOIMP,*) 'Nil pointer transmitted to ecminc' GOTO 9999 ENDIF CALL OOOETA(MINC,MINETA,IMOD) IF (MINETA.NE.1) SEGACT MINC WRITE(IOIMP,2001) 'Segment MINC de pointeur ',MINC * NBI=LISINC(/2) NPT=NPOS(/1)-1 WRITE(IOIMP,3001) 'NBI =',NBI,'Nb de composantes total' WRITE(IOIMP,3001) 'NPT =',NPT,'Nb de noeuds' WRITE(IOIMP,1999) 'Liste des inconnues' WRITE(IOIMP,3002) 'LISINC(NBI)=',(LISINC(N),N=1,NBI) WRITE(IOIMP,1999) 'Position de la 1ere inconnue pour un noeud' WRITE(IOIMP,1999) 'NPOS(NPT+1)' IF (NIVIMP.GT.2) THEN WRITE(IOIMP,3003) (NPOS(N),N=1,NPT+1) ENDIF WRITE(IOIMP,1999) 'Tableau MPOS(NPT,NBI+1)' WRITE(IOIMP,1998) 'MPOS(I,NBI+1)=nb d''inconnues au noeud I' WRITE(IOIMP,1998) 'MPOS(I,1..NBI)=rang de l''inconnue au noeud I' WRITE(IOIMP,1997) '(0 si non défini)' IF (NIVIMP.GT.2) THEN DO 1 I=1,NPT WRITE(IOIMP,3004) I,MPOS(I,NBI+1),(MPOS(I,J),J=1,NBI) 1 CONTINUE ENDIF IF (MINETA.NE.1) SEGDES MINC * * Normal termination * RETURN * * Format handling * 1997 FORMAT (4X,A) 1998 FORMAT (2X,A) 1999 FORMAT (A) 2001 FORMAT (A,1X,I6) 3001 FORMAT (A,I6,2X,A) 3002 FORMAT (2X,A,100(1X,A8)) 3003 FORMAT (10000(1X,I2)) 3004 FORMAT(4X,'Point',1X,I6,2X,'nb. inc.',1X,I2,1X,':',100(1X $ ,I2),')') * * Error handling * 9999 CONTINUE WRITE(IOIMP,*) 'An error was detected in subroutine ecminc' RETURN * * End of subroutine ECMINC * END