Download filrf.eso

Back to the list

   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)
  68 :       CALL OOOETA(MYLRFS,MPSETA)
  69 :       IF (MPSETA.NE.1) SEGACT MYLRFS
  70 :       NLRFS=MYLRFS.LISEL(/1)
  71 :       ILRFS=0
  72 :  1    CONTINUE
  73 :       ILRFS=ILRFS+1
  74 :       ELCOUR=MYLRFS.LISEL(ILRFS)
  75 :       SEGACT ELCOUR
  76 :       IF (LEN(ELCOUR.NOMLRF).EQ.LNMLRF) THEN
  77 :          IF (ELCOUR.NOMLRF.EQ.NMLRF) THEN
  78 :             LFOUND=.TRUE.
  79 :          ENDIF
  80 :       ENDIF
  81 :       SEGDES ELCOUR
  82 :       IF (.NOT.LFOUND.AND.ILRFS.LT.NLRFS) GOTO 1
  83 :       IF (LFOUND) THEN
  84 :          MYLRF=ELCOUR
  85 :       ELSE
  86 :          WRITE(IOIMP,*) 'On n''a pas trouvé ',NMLRF,
  87 :      $        'dans les éléments finis'
  88 :          GOTO 9999
  89 :       ENDIF
  90 :       IF (MPSETA.NE.1) SEGDES MYLRFS
  91 : *
  92 : * Normal termination
  93 : *
  94 :       IRET=0
  95 :       RETURN
  96 : *
  97 : * Format handling
  98 : *
  99 : *
 100 : * Error handling
 101 : *
 102 :  9999 CONTINUE
 103 :       IRET=1
 104 :       WRITE(IOIMP,*) 'An error was detected in subroutine filrf'
 105 :       RETURN
 106 : *
 107 : * End of subroutine filrf
 108 : *
 109 :       END
 110 : 
 111 :  
 112 :  

© Cast3M 2003 - All rights reserved.
Disclaimer