Télécharger ficomp.eso

Retour à la liste

Numérotation des lignes :

  1. C FICOMP SOURCE GOUNAND 05/12/21 21:20:31 5281
  2. SUBROUTINE FICOMP(CNOM,MYCOMS,
  3. $ MYCOM,
  4. $ IMPR,IRET)
  5. IMPLICIT REAL*8 (A-H,O-Z)
  6. IMPLICIT INTEGER (I-N)
  7. C***********************************************************************
  8. C NOM : FICOMP
  9. C PROJET : Noyau linéaire NLIN
  10. C DESCRIPTION : Cherche les infos sur une loi de comportement par son
  11. C 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 : OOOETA (état d'un segment)
  18. C APPELE PAR :
  19. C***********************************************************************
  20. C ENTREES :
  21. C
  22. C SORTIES :
  23. C***********************************************************************
  24. C VERSION : v1, 10/05/04, version initiale
  25. C HISTORIQUE : v1, 10/05/04, création
  26. C HISTORIQUE :
  27. C***********************************************************************
  28. C Prière de PRENDRE LE TEMPS de compléter les commentaires
  29. C en cas de modification de ce sous-programme afin de faciliter
  30. C la maintenance !
  31. C***********************************************************************
  32. -INC CCOPTIO
  33. CBEGININCLUDE SLCOMP
  34. SEGMENT COMP
  35. CHARACTER*8 NOMCOM
  36. INTEGER DERCOF(NCOCOF)
  37. LOGICAL LTREF
  38. ENDSEGMENT
  39. SEGMENT COMPS
  40. POINTEUR LISCOM(NBCOMP).COMP
  41. ENDSEGMENT
  42. CENDINCLUDE SLCOMP
  43. POINTEUR MYCOMS.COMPS
  44. POINTEUR COCOUR.COMP
  45. POINTEUR MYCOM.COMP
  46. *
  47. INTEGER IMPR,IRET
  48. *
  49. CHARACTER*(*) CNOM
  50. INTEGER LCNOM
  51. INTEGER MCSETA
  52. INTEGER ICOMPS,NCOMPS
  53. LOGICAL LFOUND
  54. *
  55. * Executable statements
  56. *
  57. IF (IMPR.GT.6) WRITE(IOIMP,*) 'Entrée dans ficomp'
  58. LFOUND=.FALSE.
  59. LCNOM=LEN(CNOM)
  60. * On veut laisser MYCOMS dans le même état (actif, inactif) qu'avant
  61. * l'appel à FICOMP.
  62. CALL OOOETA(MYCOMS,MCSETA)
  63. IF (MCSETA.NE.1) SEGACT MYCOMS
  64. NCOMPS=MYCOMS.LISCOM(/1)
  65. ICOMPS=0
  66. * Boucle 1 : repeat...until
  67. 1 CONTINUE
  68. ICOMPS=ICOMPS+1
  69. COCOUR=MYCOMS.LISCOM(ICOMPS)
  70. SEGACT COCOUR
  71. IF (COCOUR.NOMCOM(/1).EQ.LCNOM) THEN
  72. IF (COCOUR.NOMCOM.EQ.CNOM) THEN
  73. LFOUND=.TRUE.
  74. ENDIF
  75. ENDIF
  76. SEGDES COCOUR
  77. IF (.NOT.LFOUND.AND.ICOMPS.LT.NCOMPS) GOTO 1
  78. IF (LFOUND) THEN
  79. MYCOM=COCOUR
  80. ELSE
  81. WRITE(IOIMP,*) 'On n''a pas trouvé ',CNOM,
  82. $ 'dans les lois de comportement'
  83. GOTO 9999
  84. ENDIF
  85. IF (MCSETA.NE.1) SEGDES MYCOMS
  86. *
  87. * Normal termination
  88. *
  89. IRET=0
  90. RETURN
  91. *
  92. * Format handling
  93. *
  94. *
  95. * Error handling
  96. *
  97. 9999 CONTINUE
  98. IRET=1
  99. WRITE(IOIMP,*) 'An error was detected in subroutine ficomp'
  100. RETURN
  101. *
  102. * End of subroutine ficomp
  103. *
  104. END
  105.  
  106.  
  107.  

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