Download kecom6.eso

Back to the list

   1 : C KECOM6    SOURCE    GOUNAND   11/07/21    21:15:20     7046           
   2 :       SUBROUTINE KECOM6(CGEOME,MYLMOT,MYDISC,
   3 :      $     MYFALS,
   4 :      $     IMPR,IRET)
   5 :       IMPLICIT REAL*8 (A-H,O-Z)
   6 :       IMPLICIT INTEGER (I-N)
   7 : C***********************************************************************
   8 : C NOM         : KECOM6
   9 : C PROJET      : Noyau linéaire NLIN
  10 : C DESCRIPTION :
  11 : C
  12 : C LANGAGE     : ESOPE
  13 : C AUTEUR      : Stéphane GOUNAND (CEA/DRN/DMT/SEMT/LTMF)
  14 : C               mél : gounand@semt2.smts.cea.fr
  15 : C***********************************************************************
  16 : C APPELES          : KEEF (recherche de l'élément fini)
  17 : C APPELE PAR       :
  18 : C***********************************************************************
  19 : C ENTREES            :
  20 : C SORTIES            :
  21 : C CODE RETOUR (IRET) : = 0 si tout s'est bien passé
  22 : C***********************************************************************
  23 : C VERSION    : v1, 26/09/02, version initiale
  24 : C HISTORIQUE : v1, 26/09/02, création
  25 : C HISTORIQUE :
  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 : -INC SMELEME
  34 :       POINTEUR CGEOME.MELEME
  35 :       POINTEUR SOUGEO.MELEME
  36 : -INC SMLMOTS
  37 :       POINTEUR MYLMOT.MLMOTS
  38 : * Mes includes persos
  39 : CBEGININCLUDE SFALRF
  40 :       SEGMENT FALRF
  41 :       CHARACTER*(LNNFA) NOMFA
  42 :       INTEGER NUQUAF(NBLRF)
  43 :       POINTEUR ELEMF(NBLRF).ELREF
  44 :       ENDSEGMENT
  45 :       SEGMENT FALRFS
  46 :       POINTEUR LISFA(0).FALRF
  47 :       ENDSEGMENT
  48 : CENDINCLUDE SFALRF
  49 :       POINTEUR MYFALS.FALRFS
  50 : CBEGININCLUDE SELREF
  51 :       SEGMENT ELREF
  52 :       CHARACTER*(LNNOM)  NOMLRF
  53 :       CHARACTER*(LNFORM) FORME 
  54 :       CHARACTER*(LNTYPL) TYPEL 
  55 :       CHARACTER*(LNESP)  ESPACE
  56 :       INTEGER DEGRE
  57 :       REAL*8 XCONOD(NDIMEL,NBNOD)
  58 :       INTEGER NPQUAF(NBDDL)
  59 :       INTEGER NUMCMP(NBDDL)
  60 :       INTEGER QUENOD(NBDDL)
  61 :       INTEGER ORDDER(NDIMEL,NBDDL)
  62 :       POINTEUR MBPOLY.POLYNS
  63 :       ENDSEGMENT
  64 :       SEGMENT ELREFS
  65 :       POINTEUR LISEL(0).ELREF
  66 :       ENDSEGMENT
  67 : CENDINCLUDE SELREF
  68 :       POINTEUR MYLRF.ELREF
  69 : *
  70 :       CHARACTER*4 MYDISC
  71 :       INTEGER IMPR,IRET
  72 : *
  73 : * Fonctions appelées
  74 : *
  75 :       INTEGER IMAX
  76 : *
  77 :       INTEGER ICOMP ,ISOUS            ,MAXISO
  78 :       INTEGER        NSOUS,NDDL,ITQUAF,MAXCMP
  79 : *     
  80 : * Executable statements
  81 : *
  82 :       IF (IMPR.GT.1) WRITE(IOIMP,*) 'Entrée dans kecom6'
  83 : *
  84 :       SEGACT CGEOME
  85 :       NSOUS=CGEOME.LISOUS(/1)
  86 :       MAXCMP=0
  87 :       DO 3 ISOUS=1,NSOUS
  88 :          SOUGEO=CGEOME.LISOUS(ISOUS)
  89 :          SEGACT SOUGEO
  90 : * On cherche l'élément fini correspondant au QUAF
  91 :          ITQUAF=SOUGEO.ITYPEL
  91 :          CALL KEEF(ITQUAF,MYDISC,
  92 :      $        MYFALS,
  93 :      $        MYLRF,
  94 :      $        IMPR,IRET)
  95 :          IF (IRET.NE.0) GOTO 9999
  96 :          SEGACT MYLRF
  97 :          NDDL=MYLRF.NPQUAF(/1)
  98 :          MAXISO=IMAX(MYLRF.NUMCMP,NDDL)
  99 :          MAXCMP=MAX(MAXCMP,MAXISO)
 100 :          SEGDES MYLRF
 101 :          SEGDES SOUGEO
 102 :  3    CONTINUE
 103 :       SEGACT MYLMOT
 104 :       ICOMP=MYLMOT.MOTS(/2)
 105 :       SEGDES MYLMOT
 106 :       SEGDES CGEOME
 107 :       IF (ICOMP.NE.MAXCMP) THEN
 108 :          WRITE(IOIMP,*) 'Une variable de ddls :'
 109 :          WRITE (IOIMP,2019) (MYLMOT.MOTS(I),I=1,MYLMOT.MOTS(/2))
 110 :  2019 FORMAT (10(2X,A8) )      
 111 : *         SEGPRT,MYLMOT
 112 :          WRITE(IOIMP,*) 
 113 :      $        'n''est pas compatible avec la discrétisation : ',
 114 :      $        MYDISC
 115 :          GOTO 9999
 116 :       ENDIF
 117 : *
 118 : * Normal termination
 119 : *
 120 :       IRET=0
 121 :       RETURN
 122 : *
 123 : * Format handling
 124 : *
 125 : *
 126 : * Error handling
 127 : *
 128 :  9999 CONTINUE
 129 :       IRET=1
 130 :       WRITE(IOIMP,*) 'An error was detected in subroutine kecom6'
 131 :       RETURN
 132 : *
 133 : * End of subroutine KECOM6
 134 : *
 135 :       END
 136 : 
 137 : 
 138 :  
 139 :  

© Cast3M 2003 - All rights reserved.
Disclaimer