Download inirpl.eso

Back to the list

   1 : C INIRPL    SOURCE    CHAT      05/01/13    00:38:03     5004           
   2 :       SUBROUTINE INIRPL(MAIL,
   3 :      $     RPMAIL,
   4 :      $     IMPR,IRET)
   5 :       IMPLICIT INTEGER(I-N)
   6 :       IMPLICIT REAL*8 (A-H,O-Z)
   7 : C***********************************************************************
   8 : C NOM         : INIRPL
   9 : C DESCRIPTION : Maillage n-partitionné => liste d'entiers de dim. n+1
  10 : C               permettant le repérage "global" des éléments du
  11 : C               maillage. 
  12 : C
  13 : C               Renvoie une liste d'entiers qui permet le
  14 : C               repérage des éléments dans MAIL.
  15 : C               nbsous=max(1,mail.lisous(/1))
  16 : C               RPMAIL a pour dimension : (nbsous +1)
  17 : C               RPMAIL(i) numéro du 1er élément de lisous(i)
  18 : C               RPMAIL(nbsous+1)=nombre d'éléments de mail+1
  19 : C LANGAGE     : ESOPE
  20 : C AUTEUR      : Stéphane GOUNAND (CEA/DRN/DMT/SEMT/TTMF)
  21 : C               mél : gounand@semt2.smts.cea.fr
  22 : C***********************************************************************
  23 : C APPELES (ESOPE)  : OOOETA
  24 : C APPELE PAR       : PONBPO,
  25 : C***********************************************************************
  26 : C ENTREES            : MAIL 
  27 : C SORTIES            : RPMAIL
  28 : C CODE RETOUR (IRET) : = 0 si tout s'est bien passé
  29 : C***********************************************************************
  30 : C VERSION    : v1, 12/05/99, version initiale
  31 : C HISTORIQUE : v1, 12/05/99, création
  32 : C HISTORIQUE :
  33 : C HISTORIQUE :
  34 : C***********************************************************************
  35 : C Prière de PRENDRE LE TEMPS de compléter les commentaires
  36 : C en cas de modification de ce sous-programme afin de faciliter
  37 : C la maintenance !
  38 : C***********************************************************************
  39 : -INC CCOPTIO
  40 : -INC SMELEME
  41 :       POINTEUR MAIL.MELEME
  42 :       POINTEUR SOUMAI.MELEME
  43 : -INC SMLENTI
  44 :       INTEGER JG
  45 :       POINTEUR RPMAIL.MLENTI
  46 : *
  47 :       INTEGER MAETA,SMETA
  48 :       INTEGER IMPR,IRET
  49 :       INTEGER INBSOU
  50 :       INTEGER NBSOUS
  51 :       INTEGER NBEL,NELCOU
  52 : *     
  53 : * Executable statements
  54 : *
  55 :       IF (IMPR.GT.1) THEN
  56 :          WRITE(IOIMP,*) 'Entrée dans inirpl.eso'
  57 :       ENDIF
  58 :       NELCOU=1
  58 :       CALL OOOETA(MAIL,MAETA)
  59 :       IF (MAETA.NE.1) SEGACT MAIL
  60 :       NBSOUS=MAX(1,MAIL.LISOUS(/1))
  61 :       JG=NBSOUS+1
  62 :       SEGINI RPMAIL
  63 :       DO 1 INBSOU=1,NBSOUS
  64 :          IF (NBSOUS.EQ.1) THEN
  65 :             SOUMAI=MAIL
  66 :          ELSE
  67 :             SOUMAI=MAIL.LISOUS(INBSOU)
  67 :             CALL OOOETA(SOUMAI,SMETA)
  68 :             IF (SMETA.NE.1) SEGACT SOUMAI
  69 :          ENDIF
  70 :          RPMAIL.LECT(INBSOU)=NELCOU
  71 :          NBEL=SOUMAI.NUM(/2)
  72 :          NELCOU=NELCOU+NBEL
  73 :          IF (NBSOUS.NE.1.AND.SMETA.NE.1) SEGDES SOUMAI
  74 :  1    CONTINUE
  75 :       RPMAIL.LECT(NBSOUS+1)=NELCOU
  76 :       IF (MAETA.NE.1) SEGDES MAIL
  77 :       SEGDES RPMAIL
  78 : *
  79 : * Normal termination
  80 : *
  81 :       IRET=0
  82 :       RETURN
  83 : *
  84 : * Format handling
  85 : *
  86 : *
  87 : * Error handling
  88 : *
  89 :  9999 CONTINUE
  90 :       IRET=1
  91 :       WRITE(IOIMP,*) 'An error was detected in subroutine inirpl'
  92 :       RETURN
  93 : *
  94 : * End of subroutine INIRPL
  95 : *
  96 :       END
  97 : 
  98 :  
  99 :  

© Cast3M 2003 - All rights reserved.
Disclaimer