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





 
 
 
 
