Download prchva.eso

Back to the list

   1 : C PRCHVA    SOURCE    GOUNAND   05/12/21    21:34:58     5281           
   2 :       SUBROUTINE PRCHVA(MYCHVA,
   3 :      $     IMPR,IRET)
   4 :       IMPLICIT REAL*8 (A-H,O-Z)
   5 :       IMPLICIT INTEGER (I-N)
   6 : C***********************************************************************
   7 : C NOM         : PRCHVA 
   8 : C PROJET      : Noyau linéaire NLIN
   9 : C DESCRIPTION : Imprime un segment contenant les valeurs d'un champ par
  10 : C               élément élémentaire (un seul type d'élément)
  11 : C LANGAGE     : ESOPE
  12 : C AUTEUR      : Stéphane GOUNAND (CEA/DRN/DMT/SEMT/LTMF)
  13 : C               mél : gounand@semt2.smts.cea.fr
  14 : C***********************************************************************
  15 : C APPELES          : OOOETA (état d'un segment)
  16 : C APPELE PAR       : PRCAEL, GEOLIN
  17 : C***********************************************************************
  18 : C ENTREES            : * MYCHVA (type MCHEVA) :  le champ par éléments 
  19 : C                        élémentaire à imprimer.
  20 : C ENTREES/SORTIES    : -
  21 : C SORTIES            : -
  22 : C CODE RETOUR (IRET) : = 0 si tout s'est bien passé
  23 : C***********************************************************************
  24 : C VERSION    : v1, 12/08/99, version initiale
  25 : C HISTORIQUE : v1, 12/08/99, création
  26 : C HISTORIQUE :
  27 : C HISTORIQUE :
  28 : C***********************************************************************
  29 : C Prière de PRENDRE LE TEMPS de compléter les commentaires
  30 : C en cas de modification de ce sous-programme afin de faciliter
  31 : C la maintenance !
  32 : C***********************************************************************
  33 : -INC CCOPTIO
  34 : CBEGININCLUDE SMCHAEL
  35 :       SEGMENT MCHAEL
  36 :       POINTEUR IMACHE(N1).MELEME
  37 :       POINTEUR ICHEVA(N1).MCHEVA
  38 :       ENDSEGMENT
  39 :       SEGMENT MCHEVA
  40 :       REAL*8 VELCHE(NBLIG,NBCOL,N2LIG,N2COL,NBPOI,NBELM)
  41 :       ENDSEGMENT
  42 :       SEGMENT LCHEVA
  43 :       POINTEUR LISCHE(NBCHE).MCHEVA
  44 :       ENDSEGMENT
  45 : CENDINCLUDE SMCHAEL
  46 :       POINTEUR MYCHVA.MCHEVA
  47 : *
  48 :       INTEGER IMPR,IRET
  49 : *
  50 :       INTEGER MCVETA
  51 :       INTEGER NBLIG,NBCOL,N2LIG,N2COL,NBPOI,NBELM
  52 :       INTEGER ILIG,ICOL,I2LIG,I2COL,IPOI,IELEM
  53 : *     
  54 : * Executable statements
  55 : *
  56 : * On veut laisser MYCHVA dans le même état (actif, inactif) qu'avant
  57 : * l'appel à PRCHVA.
  57 :       CALL OOOETA(MYCHVA,MCVETA)
  58 :       IF (MCVETA.NE.1) SEGACT MYCHVA
  59 :       WRITE(IOIMP,*) 'Segment MCHEVA de pointeur',MYCHVA
  60 :       IF (IMPR.GT.1) THEN 
  61 :          NBELM=MYCHVA.VELCHE(/6)
  62 :          NBPOI=MYCHVA.VELCHE(/5)
  63 :          N2COL=MYCHVA.VELCHE(/4)
  64 :          N2LIG=MYCHVA.VELCHE(/3)
  65 :          NBCOL=MYCHVA.VELCHE(/2)
  66 :          NBLIG=MYCHVA.VELCHE(/1)
  67 :          WRITE(IOIMP,*) 'Nombre d''éléments, points, ',
  68 :      $        'comp. colonnes, comp. lignes, colonnes, lignes :',
  69 :      $        NBELM,NBPOI,N2COL,N2LIG,NBCOL,NBLIG
  70 :          IF (IMPR.GT.3) THEN
  71 :             WRITE(IOIMP,*) 'Valeurs du champ par éléments'
  72 :             DO 3 IELEM=1,NBELM
  73 :                DO 32 IPOI=1,NBPOI
  74 :                   DO 322 I2LIG=1,N2LIG
  75 :                      DO 3222 I2COL=1,N2COL
  76 :                         WRITE (IOIMP,*) 
  77 :      $                       'Elément',IELEM,' Point',IPOI,
  78 :      $                       'Comp. lig.',I2LIG,'Comp. col',I2COL
  79 :                         DO 32222 ILIG=1,NBLIG
  80 :                            WRITE(IOIMP,4002) 
  81 :      $                          ILIG,
  82 :      $                          (MYCHVA.VELCHE(ILIG,ICOL,I2LIG,I2COL,
  83 :      $                          IPOI,IELEM),
  84 :      $                          ICOL=1,NBCOL)
  85 : 32222                   CONTINUE
  86 :  3222                CONTINUE
  87 :  322              CONTINUE
  88 :  32            CONTINUE
  89 :  3          CONTINUE
  90 :          ENDIF
  91 :       ENDIF
  92 :       IF (MCVETA.NE.1) SEGDES MYCHVA
  93 : *
  94 : * Normal termination
  95 : *
  96 :       IRET=0
  97 :       RETURN
  98 : *
  99 : * Format handling
 100 : *
 101 :  4000 FORMAT (2X,'Ligne   :',6(1X,A8))
 102 :  4001 FORMAT (2X,'Colonne :',6(1X,A8))
 103 :  4002 FORMAT (2X,'Ligne ',I6,' :',4(1X,1PE16.8))
 104 : *
 105 : * Error handling
 106 : *
 107 :  9999 CONTINUE
 108 :       IRET=1
 109 :       WRITE(IOIMP,*) 'An error was detected in subroutine prchva'
 110 :       RETURN
 111 : *
 112 : * End of subroutine prchva
 113 : *
 114 :       END
 115 : 
 116 :  

© Cast3M 2003 - All rights reserved.
Disclaimer