Télécharger filrf.eso

Retour à la liste

Numérotation des lignes :

  1. C FILRF SOURCE GOUNAND 05/12/21 21:22:02 5281
  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. -INC CCOPTIO
  34. CBEGININCLUDE SELREF
  35. SEGMENT ELREF
  36. CHARACTER*(LNNOM) NOMLRF
  37. CHARACTER*(LNFORM) FORME
  38. CHARACTER*(LNTYPL) TYPEL
  39. CHARACTER*(LNESP) ESPACE
  40. INTEGER DEGRE
  41. REAL*8 XCONOD(NDIMEL,NBNOD)
  42. INTEGER NPQUAF(NBDDL)
  43. INTEGER NUMCMP(NBDDL)
  44. INTEGER QUENOD(NBDDL)
  45. INTEGER ORDDER(NDIMEL,NBDDL)
  46. POINTEUR MBPOLY.POLYNS
  47. ENDSEGMENT
  48. SEGMENT ELREFS
  49. POINTEUR LISEL(0).ELREF
  50. ENDSEGMENT
  51. CENDINCLUDE SELREF
  52. POINTEUR MYLRFS.ELREFS
  53. POINTEUR ELCOUR.ELREF
  54. POINTEUR MYLRF.ELREF
  55. *
  56. INTEGER IMPR,IRET
  57. *
  58. CHARACTER*(*) NMLRF
  59. INTEGER LNMLRF
  60. INTEGER MPSETA
  61. INTEGER ILRFS,NLRFS
  62. LOGICAL LFOUND
  63. *
  64. * Executable statements
  65. *
  66. IF (IMPR.GT.6) WRITE(IOIMP,*) 'Entrée dans filrf'
  67. LFOUND=.FALSE.
  68. LNMLRF=LEN(NMLRF)
  69. CALL OOOETA(MYLRFS,MPSETA)
  70. IF (MPSETA.NE.1) SEGACT MYLRFS
  71. NLRFS=MYLRFS.LISEL(/1)
  72. ILRFS=0
  73. 1 CONTINUE
  74. ILRFS=ILRFS+1
  75. ELCOUR=MYLRFS.LISEL(ILRFS)
  76. SEGACT ELCOUR
  77. IF (LEN(ELCOUR.NOMLRF).EQ.LNMLRF) THEN
  78. IF (ELCOUR.NOMLRF.EQ.NMLRF) THEN
  79. LFOUND=.TRUE.
  80. ENDIF
  81. ENDIF
  82. SEGDES ELCOUR
  83. IF (.NOT.LFOUND.AND.ILRFS.LT.NLRFS) GOTO 1
  84. IF (LFOUND) THEN
  85. MYLRF=ELCOUR
  86. ELSE
  87. WRITE(IOIMP,*) 'On n''a pas trouvé ',NMLRF,
  88. $ 'dans les éléments finis'
  89. GOTO 9999
  90. ENDIF
  91. IF (MPSETA.NE.1) SEGDES MYLRFS
  92. *
  93. * Normal termination
  94. *
  95. IRET=0
  96. RETURN
  97. *
  98. * Format handling
  99. *
  100. *
  101. * Error handling
  102. *
  103. 9999 CONTINUE
  104. IRET=1
  105. WRITE(IOIMP,*) 'An error was detected in subroutine filrf'
  106. RETURN
  107. *
  108. * End of subroutine filrf
  109. *
  110. END
  111.  
  112.  
  113.  
  114.  

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