Télécharger filrf.eso

Retour à la liste

Numérotation des lignes :

filrf
  1. C FILRF SOURCE GOUNAND 21/06/02 21:15:57 11022
  2. SUBROUTINE FILRF(NMLRF,MYLRFS,
  3. $ MYLRF,
  4. $ IMPR,IRET)
  5. IMPLICIT REAL*8 (A-H,O-Z)
  6. IMPLICIT INTEGER (I-N)
  7. C***********************************************************************
  8. C NOM : FILRF
  9. C PROJET : Noyau linéaire NLIN
  10. C DESCRIPTION : Cherche un élément de référence dans une liste
  11. C d'éléments, connaissant son nom.
  12. C
  13. C LANGAGE : ESOPE
  14. C AUTEUR : Stéphane GOUNAND (CEA/DRN/DMT/SEMT/LTMF)
  15. C mél : gounand@semt2.smts.cea.fr
  16. C***********************************************************************
  17. C APPELES : -
  18. C APPELES (E/S) : OOOETA
  19. C APPELE PAR : KALPBG, FILFAL, INELCU, INELPR
  20. C***********************************************************************
  21. C ENTREES : NMLRF, MYLRFS
  22. C ENTREES/SORTIES : -
  23. C SORTIES : MYLRF
  24. C***********************************************************************
  25. C VERSION : v1, 22/10/99, version initiale
  26. C HISTORIQUE : v1, 22/10/99, création
  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 SELREF
  38. POINTEUR MYLRFS.ELREFS
  39. POINTEUR ELCOUR.ELREF
  40. POINTEUR MYLRF.ELREF
  41. *
  42. INTEGER IMPR,IRET
  43. *
  44. CHARACTER*(*) NMLRF
  45. INTEGER LNMLRF
  46. INTEGER MPSETA
  47. INTEGER ILRFS,NLRFS
  48. LOGICAL LFOUND
  49. *
  50. * Executable statements
  51. *
  52. IF (IMPR.GT.6) WRITE(IOIMP,*) 'Entrée dans filrf'
  53. LFOUND=.FALSE.
  54. LNMLRF=LEN(NMLRF)
  55. CALL OOOETA(MYLRFS,MPSETA,IMOD)
  56. IF (MPSETA.NE.1) SEGACT MYLRFS
  57. NLRFS=MYLRFS.LISEL(/1)
  58. ILRFS=0
  59. 1 CONTINUE
  60. ILRFS=ILRFS+1
  61. ELCOUR=MYLRFS.LISEL(ILRFS)
  62. SEGACT ELCOUR
  63. IF (LEN(ELCOUR.NOMLRF).EQ.LNMLRF) THEN
  64. IF (ELCOUR.NOMLRF.EQ.NMLRF) THEN
  65. LFOUND=.TRUE.
  66. ENDIF
  67. ENDIF
  68. SEGDES ELCOUR
  69. IF (.NOT.LFOUND.AND.ILRFS.LT.NLRFS) GOTO 1
  70. IF (LFOUND) THEN
  71. MYLRF=ELCOUR
  72. ELSE
  73. WRITE(IOIMP,*) 'On n''a pas trouvé ',NMLRF,
  74. $ 'dans les éléments finis'
  75. GOTO 9999
  76. ENDIF
  77. IF (MPSETA.NE.1) SEGDES MYLRFS
  78. *
  79. * Normal termination
  80. *
  81. IRET=0
  82. RETURN
  83. *
  84. * Format handling
  85. *
  86. *
  87. * Error handling
  88. *
  89. 9999 CONTINUE
  90. IRET=1
  91. WRITE(IOIMP,*) 'An error was detected in subroutine filrf'
  92. RETURN
  93. *
  94. * End of subroutine filrf
  95. *
  96. END
  97.  
  98.  
  99.  
  100.  
  101.  
  102.  

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