Download keef.eso

Back to the list

   1 : C KEEF      SOURCE    CHAT      07/10/29    21:21:41     5940           
   2 :       SUBROUTINE KEEF(ITYPL,NMFAL,
   3 :      $     MYFALS,
   4 :      $     MYLRF,
   5 :      $     IMPR,IRET)
   6 :       IMPLICIT REAL*8 (A-H,O-Z)
   7 :       IMPLICIT INTEGER (I-N)
   8 : C***********************************************************************
   9 : C NOM         : KEEF
  10 : C PROJET      : Noyau linéaire NLIN
  11 : C DESCRIPTION : On donne un numéro de type d'élément géométrique (un 
  12 : C               QUAF, donc), un nom de famille d'éléments finis.
  13 : C               En sortie, on a le pointeur sur l'élément fini (type 
  14 : C               ELREF)
  15 : C
  16 : C               MYFALS et MYLRFS sont des données de type COMMON
  17 : C               décrivant toutes les familles d'éléments finis et tous 
  18 : C               les éléments finis...
  19 : C
  20 : C LANGAGE     : ESOPE
  21 : C AUTEUR      : Stéphane GOUNAND (CEA/DRN/DMT/SEMT/LTMF)
  22 : C               mél : gounand@semt2.smts.cea.fr
  23 : C***********************************************************************
  24 : C APPELES          : FIFAL, FIENTI (recherche dans une liste)
  25 : C APPELE PAR       : VERFAM, MKCOOR, KECOMP
  26 : C***********************************************************************
  27 : C ENTREES            : * ITYPL  (type entier) : numéro d'élément
  28 : C                        géométrique (cf. tableau NOMS dans l'include
  29 : C                        CCOPTIO).
  30 : C                      * NMFAL  (type CH*(*)) : nom de famille
  31 : C                        d'éléments finis (cf. NOMFA dans l'include
  32 : C                        SFALRF). 
  33 : C                      * MYFALS (type FALRFS) : segment de description 
  34 : C                        des familles d'éléments de références.
  35 : C SORTIES            : * MYLRF  (type ELREF)  : pointeur sur l'élément
  36 : C                        fini correspondant à l'élément géométrique de
  37 : C                        numéro ITYPL dans la famille de nom NMFAL
  38 : C CODE RETOUR (IRET) : = 0 si tout s'est bien passé
  39 : C***********************************************************************
  40 : C VERSION    : v1, 13/09/99, version initiale
  41 : C HISTORIQUE : v1, 13/09/99, création
  42 : C HISTORIQUE :
  43 : C HISTORIQUE :
  44 : C***********************************************************************
  45 : C Prière de PRENDRE LE TEMPS de compléter les commentaires
  46 : C en cas de modification de ce sous-programme afin de faciliter
  47 : C la maintenance !
  48 : C***********************************************************************
  49 : -INC CCOPTIO
  50 : -INC CCGEOME
  51 : *
  52 : * Includes perso
  53 : *
  54 : CBEGININCLUDE SFALRF
  55 :       SEGMENT FALRF
  56 :       CHARACTER*(LNNFA) NOMFA
  57 :       INTEGER NUQUAF(NBLRF)
  58 :       POINTEUR ELEMF(NBLRF).ELREF
  59 :       ENDSEGMENT
  60 :       SEGMENT FALRFS
  61 :       POINTEUR LISFA(0).FALRF
  62 :       ENDSEGMENT
  63 : CENDINCLUDE SFALRF
  64 :       POINTEUR MYFALS.FALRFS
  65 :       POINTEUR MYFAL.FALRF
  66 : CBEGININCLUDE SELREF
  67 :       SEGMENT ELREF
  68 :       CHARACTER*(LNNOM)  NOMLRF
  69 :       CHARACTER*(LNFORM) FORME 
  70 :       CHARACTER*(LNTYPL) TYPEL 
  71 :       CHARACTER*(LNESP)  ESPACE
  72 :       INTEGER DEGRE
  73 :       REAL*8 XCONOD(NDIMEL,NBNOD)
  74 :       INTEGER NPQUAF(NBDDL)
  75 :       INTEGER NUMCMP(NBDDL)
  76 :       INTEGER QUENOD(NBDDL)
  77 :       INTEGER ORDDER(NDIMEL,NBDDL)
  78 :       POINTEUR MBPOLY.POLYNS
  79 :       ENDSEGMENT
  80 :       SEGMENT ELREFS
  81 :       POINTEUR LISEL(0).ELREF
  82 :       ENDSEGMENT
  83 : CENDINCLUDE SELREF
  84 :       POINTEUR MYLRF.ELREF
  85 : *
  86 :       INTEGER ITYPL
  87 :       CHARACTER*(*) NMFAL
  88 :       INTEGER IBLRF,NBLRF
  89 :       INTEGER IMPR,IRET
  90 : *     
  91 : * Executable statements
  92 : *
  93 :       IF (IMPR.GT.6) WRITE(IOIMP,*) 'Entrée dans keef'
  93 :       CALL FIFAL(NMFAL,MYFALS,
  94 :      $     MYFAL,
  95 :      $     IMPR,IRET)
  96 :       IF (IRET.NE.0) GOTO 9999
  97 :       SEGACT MYFAL
  98 :       NBLRF=MYFAL.NUQUAF(/1)
  98 :       CALL FIENTI(ITYPL,MYFAL.NUQUAF,NBLRF,
  99 :      $     IBLRF,
 100 :      $     IMPR,IRET)
 101 :       IF (IRET.NE.0) THEN
 102 :          WRITE(IOIMP,*) 'On n''a pas trouvé ',NOMS(ITYPL),
 103 :      $        ' dans la famille d''éléments finis ',MYFAL.NOMFA
 104 :          GOTO 9999
 105 :       ENDIF
 106 :       MYLRF=MYFAL.ELEMF(IBLRF)
 107 :       SEGDES MYFAL
 108 : *
 109 : * Normal termination
 110 : *
 111 :       IRET=0
 112 :       RETURN
 113 : *
 114 : * Format handling
 115 : *
 116 : *
 117 : * Error handling
 118 : *
 119 :  9999 CONTINUE
 120 :       IRET=1
 121 :       WRITE(IOIMP,*) 'An error was detected in subroutine keef'
 122 :       RETURN
 123 : *
 124 : * End of subroutine KEEF
 125 : *
 126 :       END
 127 : 
 128 :  
 129 :  

© Cast3M 2003 - All rights reserved.
Disclaimer