Download dimesh.eso

Back to the list

   1 : C DIMESH    SOURCE    CHAT      07/10/29    21:18:08     5940           
   2 :       SUBROUTINE DIMESH(MELEME,IDMESH,IMPR,IRET)
   3 :       IMPLICIT REAL*8 (A-H,O-Z)
   4 :       IMPLICIT INTEGER (I-N)
   5 : C***********************************************************************
   6 : C NOM         : DIMESH
   7 : C DESCRIPTION : Renvoie la dimension des éléments du maillage
   8 : C               ou une erreur si plusieurs dimensions  
   9 : C               Pareil que la procédure DIMM
  10 : C
  11 : C LANGAGE     : ESOPE
  12 : C AUTEUR      : Stéphane GOUNAND (CEA/DEN/DM2S/SFME/LTMF)
  13 : C               mél : gounand@semt2.smts.cea.fr
  14 : C***********************************************************************
  15 : C APPELES          : 
  16 : C APPELES (E/S)    : 
  17 : C APPELES (BLAS)   :
  18 : C APPELES (CALCUL) :
  19 : C APPELE PAR       :
  20 : C***********************************************************************
  21 : C SYNTAXE GIBIANE    :
  22 : C ENTREES            : MELEME
  23 : C ENTREES/SORTIES    :
  24 : C SORTIES            : IDMESH
  25 : C CODE RETOUR (IRET) : = 0 si tout s'est bien passé
  26 : C***********************************************************************
  27 : C VERSION    : v1, 14/10/2005, version initiale
  28 : C HISTORIQUE : v1, 14/10/2005, création
  29 : C HISTORIQUE :
  30 : C HISTORIQUE :
  31 : C***********************************************************************
  32 : C Prière de PRENDRE LE TEMPS de compléter les commentaires
  33 : C en cas de modification de ce sous-programme afin de faciliter
  34 : C la maintenance !
  35 : C***********************************************************************
  36 : -INC CCOPTIO
  37 : -INC CCGEOME
  38 : -INC SMELEME
  39 : *
  40 :       CHARACTER*4 NOMEL
  41 :       LOGICAL LPART,LFIDIM
  42 :       INTEGER IMPR,IRET
  43 : *     
  44 : * Executable statements
  45 : *
  46 :       IF (IMPR.GT.2) WRITE(IOIMP,*) 'Entrée dans dimesh.eso' 
  47 : *
  48 :       LFIDIM=.FALSE.
  49 :       IDMESH=-1 
  50 : *
  51 :       SEGACT MELEME
  52 :       NBSOUS=LISOUS(/1)
  53 :       LPART=(NBSOUS.NE.0)
  54 :       IF (LPART) THEN
  55 :          NSOUS=NBSOUS
  56 :       ELSE
  57 :          NSOUS=1
  58 :       ENDIF
  59 :       DO ISOUS=1,NSOUS
  60 :          IF (LPART) THEN
  61 :             IPT1=LISOUS(ISOUS)
  62 :             SEGACT IPT1
  63 :          ELSE
  64 :             IPT1=MELEME
  65 :          ENDIF
  66 :          ITYP=IPT1.ITYPEL
  67 :          IF (ITYP.LE.0) THEN 
  68 :             WRITE(IOIMP,*) 'ITYPEL<=0 ?'
  69 :             GOTO 9999
  70 :          ENDIF
  71 :          NOMEL=NOMS(ITYP)
  71 :          CALL DIMELE(NOMEL,IDIMEL,IMPR,IRET)
  72 :          IF (IRET.NE.0) GOTO 9999
  73 :          IF (LFIDIM) THEN
  74 :             IF (IDIMEL.NE.IDMESH) THEN
  75 :                WRITE(IOIMP,*) 'Composite mesh not allowed'
  76 :                GOTO 9999
  77 :             ENDIF
  78 :          ELSE
  79 :             IDMESH=IDIMEL
  80 :             LFIDIM=.TRUE.
  81 :          ENDIF
  82 :          IF (LPART) THEN
  83 :             SEGDES IPT1
  84 :          ENDIF
  85 :       ENDDO
  86 :       SEGDES MELEME
  87 :       IF (.NOT.LFIDIM) THEN
  88 :          WRITE(IOIMP,*) 'No known elements in this mesh'
  89 :          GOTO 9999
  90 :       ENDIF
  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 dimesh'
 105 :       RETURN
 106 : *
 107 : * End of subroutine DIMESH
 108 : *
 109 :       END
 110 : 
 111 :  
 112 :  

© Cast3M 2003 - All rights reserved.
Disclaimer