Download ficomp.eso

Back to the list

   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.
  61 :       CALL OOOETA(MYCOMS,MCSETA)
  62 :       IF (MCSETA.NE.1) SEGACT MYCOMS
  63 :       NCOMPS=MYCOMS.LISCOM(/1)
  64 :       ICOMPS=0
  65 : * Boucle 1 : repeat...until
  66 :  1    CONTINUE
  67 :       ICOMPS=ICOMPS+1
  68 :       COCOUR=MYCOMS.LISCOM(ICOMPS)
  69 :       SEGACT COCOUR
  70 :       IF (COCOUR.NOMCOM(/1).EQ.LCNOM) THEN
  71 :          IF (COCOUR.NOMCOM.EQ.CNOM) THEN
  72 :             LFOUND=.TRUE.
  73 :          ENDIF
  74 :       ENDIF
  75 :       SEGDES COCOUR
  76 :       IF (.NOT.LFOUND.AND.ICOMPS.LT.NCOMPS) GOTO 1
  77 :       IF (LFOUND) THEN
  78 :          MYCOM=COCOUR
  79 :       ELSE
  80 :          WRITE(IOIMP,*) 'On n''a pas trouvé ',CNOM,
  81 :      $        'dans les lois de comportement'
  82 :          GOTO 9999
  83 :       ENDIF
  84 :       IF (MCSETA.NE.1) SEGDES MYCOMS
  85 : *
  86 : * Normal termination
  87 : *
  88 :       IRET=0
  89 :       RETURN
  90 : *
  91 : * Format handling
  92 : *
  93 : *
  94 : * Error handling
  95 : *
  96 :  9999 CONTINUE
  97 :       IRET=1
  98 :       WRITE(IOIMP,*) 'An error was detected in subroutine ficomp'
  99 :       RETURN
 100 : *
 101 : * End of subroutine ficomp
 102 : *
 103 :       END
 104 : 
 105 :  

© Cast3M 2003 - All rights reserved.
Disclaimer