Download filfal.eso

Back to the list

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

© Cast3M 2003 - All rights reserved.
Disclaimer