Télécharger prchva.eso

Retour à la liste

Numérotation des lignes :

prchva
  1. C PRCHVA SOURCE GOUNAND 21/06/02 21:17:21 11022
  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.  
  34. -INC PPARAM
  35. -INC CCOPTIO
  36. -INC TNLIN
  37. *-INC SMCHAEL
  38. POINTEUR MYCHVA.MCHEVA
  39. *
  40. INTEGER IMPR,IRET
  41. *
  42. INTEGER MCVETA
  43. INTEGER NBLIG,NBCOL,N2LIG,N2COL,NBPOI,NBELM
  44. INTEGER ILIG,ICOL,I2LIG,I2COL,IPOI,IELEM
  45. *
  46. * Executable statements
  47. *
  48. * On veut laisser MYCHVA dans le même état (actif, inactif) qu'avant
  49. * l'appel à PRCHVA.
  50. CALL OOOETA(MYCHVA,MCVETA,IMOD)
  51. IF (MCVETA.NE.1) SEGACT MYCHVA
  52. WRITE(IOIMP,*) 'Segment MCHEVA de pointeur',MYCHVA
  53. IF (IMPR.GT.1) THEN
  54. NBELM=MYCHVA.WELCHE(/6)
  55. NBPOI=MYCHVA.WELCHE(/5)
  56. N2COL=MYCHVA.WELCHE(/4)
  57. N2LIG=MYCHVA.WELCHE(/3)
  58. NBCOL=MYCHVA.WELCHE(/2)
  59. NBLIG=MYCHVA.WELCHE(/1)
  60. WRITE(IOIMP,*) 'Nombre d''éléments, points, ',
  61. $ 'comp. colonnes, comp. lignes, colonnes, lignes :',
  62. $ NBELM,NBPOI,N2COL,N2LIG,NBCOL,NBLIG
  63. IF (IMPR.GT.3) THEN
  64. WRITE(IOIMP,*) 'Valeurs du champ par éléments'
  65. DO 3 IELEM=1,NBELM
  66. DO 32 IPOI=1,NBPOI
  67. DO 322 I2LIG=1,N2LIG
  68. DO 3222 I2COL=1,N2COL
  69. WRITE (IOIMP,*)
  70. $ 'Elément',IELEM,' Point',IPOI,
  71. $ 'Comp. lig.',I2LIG,'Comp. col',I2COL
  72. DO 32222 ILIG=1,NBLIG
  73. WRITE(IOIMP,4002)
  74. $ ILIG,
  75. $ (MYCHVA.WELCHE(ILIG,ICOL,I2LIG,I2COL,
  76. $ IPOI,IELEM),
  77. $ ICOL=1,NBCOL)
  78. 32222 CONTINUE
  79. 3222 CONTINUE
  80. 322 CONTINUE
  81. 32 CONTINUE
  82. 3 CONTINUE
  83. ENDIF
  84. ENDIF
  85. IF (MCVETA.NE.1) SEGDES MYCHVA
  86. *
  87. * Normal termination
  88. *
  89. IRET=0
  90. RETURN
  91. *
  92. * Format handling
  93. *
  94. 4000 FORMAT (2X,'Ligne :',6(1X,A8))
  95. 4001 FORMAT (2X,'Colonne :',6(1X,A8))
  96. 4002 FORMAT (2X,'Ligne ',I6,' :',4(1X,1PE16.8))
  97. *
  98. * Error handling
  99. *
  100. 9999 CONTINUE
  101. IRET=1
  102. WRITE(IOIMP,*) 'An error was detected in subroutine prchva'
  103. RETURN
  104. *
  105. * End of subroutine prchva
  106. *
  107. END
  108.  
  109.  
  110.  
  111.  
  112.  

© Cast3M 2003 - Tous droits réservés.
Mentions légales