Download ponbl2.eso

Back to the list

   1 : C PONBL2    SOURCE    CHAT      05/01/13    02:17:31     5004           
   2 :       SUBROUTINE PONBL2(MAIL,KRIPO1,NPOMAX,
   3 :      $     PONBEL,IMPR,IRET)
   4 :       IMPLICIT INTEGER(I-N)
   5 :       IMPLICIT REAL*8 (A-H,O-Z)
   6 : C***********************************************************************
   7 : C NOM         : PONBL2
   8 : C DESCRIPTION : Maillage + tableau repérage de points => liste d'entiers
   9 : C               (un point)->(nb. d'éléments du maillage le contenant). 
  10 : C
  11 : C               Construit une liste d'entiers : PONBEL (type MLENTI)
  12 : C               PONBEL(i) est le nombre d'éléments de MAIL
  13 : C               contenant un point dont le numéro n 
  14 : C               est tel que KRIPO1(n)=i.
  15 : C               La dimension de PONBEL est NPOMAX
  16 : C
  17 : C LANGAGE     : ESOPE
  18 : C AUTEUR      : Stéphane GOUNAND (CEA/DRN/DMT/SEMT/TTMF)
  19 : C               mél : gounand@semt2.smts.cea.fr
  20 : C***********************************************************************
  21 : C APPELES          : 
  22 : C APPELE PAR       : MAKPRM
  23 : C***********************************************************************
  24 : C SYNTAXE GIBIANE    : -
  25 : C ENTREES            :
  26 : C ENTREES/SORTIES    : -
  27 : C SORTIES            : PONBEL (type MLENTI)
  28 : C CODE RETOUR (IRET) : = 0 si tout s'est bien passé
  29 : C***********************************************************************
  30 : C VERSION    : v1, 20/05/99, version initiale
  31 : C HISTORIQUE : v1, 20/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 PONBEL.MLENTI
  46 :       POINTEUR KRIPO1.MLENTI
  47 : *
  48 :       INTEGER IMPR,IRET
  49 :       INTEGER MAETA,KRETA,SMETA
  50 :       INTEGER INBEL,INBNO,INBSOU
  51 :       INTEGER  NBEL, NBNO,NBSOUS,NUMNO,NLOCP1,NPOMAX
  52 : *
  53 : * Executable statements
  54 : *
  55 :       IF (IMPR.GT.1) WRITE(IOIMP,*) 'Entrée dans ponbl2.eso' 
  55 :       CALL OOOETA(KRIPO1,KRETA)
  56 :       IF (KRETA.NE.1) SEGACT KRIPO1
  57 :       JG=NPOMAX
  58 :       SEGINI PONBEL
  59 : *
  60 : *   Parcourons le maillage
  61 : *
  61 :       CALL OOOETA(MAIL,MAETA)
  62 :       IF (MAETA.NE.1) SEGACT MAIL
  63 :       NBSOUS=MAX(1,MAIL.LISOUS(/1))
  64 :       DO 1 INBSOU=1,NBSOUS
  65 :          IF (NBSOUS.EQ.1) THEN
  66 :             SOUMAI=MAIL
  67 :          ELSE
  68 :             SOUMAI=MAIL.LISOUS(INBSOU)
  68 :             CALL OOOETA(SOUMAI,SMETA)
  69 :             IF (SMETA.NE.1) SEGACT SOUMAI
  70 :          ENDIF
  71 :          NBNO=SOUMAI.NUM(/1)
  72 :          NBEL=SOUMAI.NUM(/2)
  73 :          DO 12 INBEL=1,NBEL
  74 :             DO 122 INBNO=1,NBNO
  75 :                NUMNO=SOUMAI.NUM(INBNO,INBEL)
  76 :                NLOCP1=KRIPO1.LECT(NUMNO)
  77 :                IF (NLOCP1.NE.0) THEN
  78 :                   PONBEL.LECT(NLOCP1)=PONBEL.LECT(NLOCP1)+1
  79 :                ENDIF
  80 :  122        CONTINUE
  81 :  12      CONTINUE
  82 :          IF (NBSOUS.NE.1.AND.SMETA.NE.1) SEGDES SOUMAI
  83 :  1    CONTINUE
  84 :       IF (MAETA.NE.1) SEGDES MAIL
  85 :       IF (KRETA.NE.1) SEGDES KRIPO1
  86 :       SEGDES PONBEL
  87 : *
  88 : * Normal termination
  89 : *
  90 :       IRET=0
  91 :       RETURN
  92 : *
  93 : * Format handling
  94 : *
  95 : *
  96 : * Error handling
  97 : *
  98 :  9999 CONTINUE
  99 :       IRET=1
 100 :       WRITE(IOIMP,*) 'An error was detected in subroutine ponbl2'
 101 :       RETURN
 102 : *
 103 : * End of subroutine PONBL2
 104 : *
 105 :       END
 106 : 
 107 :  
 108 :  

© Cast3M 2003 - All rights reserved.
Disclaimer