Télécharger trlver.eso

Retour à la liste

Numérotation des lignes :

trlver
  1. C TRLVER SOURCE GOUNAND 26/01/09 21:16:11 12442
  2. SUBROUTINE TRLVER(TRAVL,MMOT)
  3. IMPLICIT REAL*8 (A-H,O-Z)
  4. IMPLICIT INTEGER (I-N)
  5. C***********************************************************************
  6. C NOM : TRLVER
  7. C DESCRIPTION : Vérifie la consistance du segment TRAVL
  8. C
  9. C
  10. C LANGAGE : ESOPE
  11. C AUTEUR : Stéphane GOUNAND (CEA/DEN/DM2S/SEMT/LTA)
  12. C mél : gounand@semt2.smts.cea.fr
  13. C***********************************************************************
  14. C***********************************************************************
  15. C SYNTAXE GIBIANE :
  16. C ENTREES : MELEME (Activé), NEL
  17. C ENTREES/SORTIES : TOPINV (Activé *MOD)
  18. C SORTIES :
  19. C CODE RETOUR (IRET) : = 0 si tout sest bien passé
  20. C***********************************************************************
  21. C VERSION : v1, 30/10/2017, version initiale
  22. C HISTORIQUE : v1, 30/10/2017, création
  23. C HISTORIQUE :
  24. C HISTORIQUE :
  25. C***********************************************************************
  26. -INC PPARAM
  27. -INC CCOPTIO
  28. -INC TMATOP1
  29. *-INC SMELEMX
  30. POINTEUR LMCANS.MELEMX
  31. -INC SMLENTI
  32. POINTEUR LIDXCA.MLENTI
  33. POINTEUR LOKVOL.MLENTI
  34. POINTEUR LNQUAL.MLENTI
  35. POINTEUR LINDI.MLENTI
  36. POINTEUR LINDJ.MLENTI
  37. -INC SMLREEL
  38. POINTEUR LQUALS.MLREEL
  39. * POINTEUR LMAXQL.MLREEL
  40. -INC TMATOP2
  41. *-INC STRAVL
  42. CHARACTER*(*) MMOT
  43. *
  44. *
  45. * Executable statements
  46. *
  47. if (impr.ge.5) WRITE(IOIMP,*) 'Entrée dans trlver.eso'
  48. IDIMP=IDIM+1
  49. lmcans=travl.mcans
  50. lidxca=travl.idxca
  51. lokvol=travl.okvol
  52. lquals=travl.quals
  53. lnqual=travl.nqual
  54. lindi=travl.indi
  55. lindj=travl.indj
  56. * lmaxql=travl.maxql
  57. *
  58. * Petite vérification de consistance de dimension des objets
  59. * (NCMAX,NLMAX)
  60. *
  61. if (lmcans.ne.0) then
  62. call vemelx(lmcans,'trlver')
  63. if (ierr.ne.0) then
  64. write(ioimp,*) mmot
  65. return
  66. endif
  67. endif
  68. *
  69. if (lidxca.ne.0) then
  70. jg=lidxca.lect(/1)
  71. if (jg.ne.ncmax+1) then
  72. write(ioimp,185) 'lidxca : jg,ncmax=',jg,ncmax
  73. goto 9999
  74. endif
  75. endif
  76. *
  77. if (lokvol.ne.0) then
  78. jg=lokvol.lect(/1)
  79. if (jg.ne.ncmax) then
  80. write(ioimp,185) 'lokvol : jg,ncmax=',jg,ncmax
  81. goto 9999
  82. endif
  83. endif
  84. *
  85. if (lquals.ne.0) then
  86. if (lmcans.eq.0) then
  87. write(ioimp,*) 'lquals existe mais pas lmcans'
  88. goto 9999
  89. endif
  90. jg=lquals.prog(/1)
  91. nlmax=lmcans.numx(/2)
  92. * Recuperation valeur ISTRID
  93. CALL QUALI6(0,1,0,IMET,IMOMET,XDENS,0,0,XVTOL,0,NQDC,ISTRID)
  94. if (jg.ne.nlmax*istrid) then
  95. write(ioimp,185) 'lquals : jg,nlmax,istrid=',jg,nlmax,istrid
  96. goto 9999
  97. endif
  98. endif
  99. *
  100. if (lnqual.ne.0) then
  101. jg=lnqual.lect(/1)
  102. if (jg.ne.ncmax) then
  103. write(ioimp,185) 'lnqual : jg,ncmax=',jg,ncmax
  104. goto 9999
  105. endif
  106. endif
  107. *
  108. if (lindi.ne.0) then
  109. jg=lindi.lect(/1)
  110. if (jg.ne.ncmax) then
  111. write(ioimp,185) 'lindi : jg,ncmax=',jg,ncmax
  112. goto 9999
  113. endif
  114. endif
  115. *
  116. if (lindj.ne.0) then
  117. jg=lindj.lect(/1)
  118. if (jg.ne.ncmax) then
  119. write(ioimp,185) 'lindj : jg,ncmax=',jg,ncmax
  120. goto 9999
  121. endif
  122. endif
  123. *
  124. * if (lmaxql.ne.0) then
  125. * jg=lmaxql.prog(/1)
  126. * if (jg.ne.ncmax) then
  127. * write(ioimp,185) 'lmaxql : jg,ncmax=',jg,ncmax
  128. * goto 9999
  129. * endif
  130. * endif
  131. *
  132. * Consistance des index
  133. *
  134. if (lidxca.ne.0) then
  135. if (lmcans.eq.0) then
  136. write(ioimp,*) 'lidxca existe mais pas lmcans'
  137. goto 9999
  138. endif
  139. *
  140. nlc=LMCANS.NLCOU
  141. ncc=TRAVL.NCCOU
  142. idxp=lidxca.lect(ncc+1)
  143. if (idxp.ne.nlc+1) then
  144. write(ioimp,185) 'pb idx lmcans : idxp,nlcou=',idxp,nlc
  145. goto 9999
  146. endif
  147. endif
  148.  
  149.  
  150.  
  151. *
  152. * Normal termination
  153. *
  154. RETURN
  155. *
  156. * Format handling
  157. *
  158. 185 FORMAT (5X,A32,6I8)
  159. 187 FORMAT (5X,10I8)
  160. 188 FORMAT ('Apres point IELEM(',I2,',1)=',I6,' ; NBL=')
  161. 189 FORMAT ('Le noeud ',I2,'/',I2,' de IELEM de numero',I6
  162. $ ,' a le plus petit nb de voisins :',I3)
  163. *
  164. * Error handling
  165. *
  166. 9999 CONTINUE
  167. write(ioimp,*) MMOT
  168. MOTERR(1:8)='TRLVER '
  169. * 349 2
  170. *Problème non prévu dans le s.p. %m1:8 contactez votre assistance
  171. CALL ERREUR(349)
  172. RETURN
  173. *
  174. * End of subroutine TRLVER
  175. *
  176. END
  177.  
  178.  

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