Download pente5.eso

Back to the list

   1 : C PENTE5    SOURCE    CHAT      05/01/13    02:12:29     5004           
   2 :       SUBROUTINE PENTE5(NFAC,NCOMP,MELEFL,MPOCHP,MLECEN,MPOVCL,MLENCL,
   3 :      &           MPOMIN,MPOMAX)
   4 : C     
   5 : C************************************************************************
   6 : C     
   7 : C PROJET            :  CASTEM 2000
   8 : C     
   9 : C NOM               :  PENTE5
  10 : C     
  11 : C DESCRIPTION       :  Cette subroutine est appellée par la subroutine
  12 : C                      PENTE1 (calcul du gradient d'un CHPOINT de type
  13 : C                      CENTRE)
  14 : C                      Elle contient la partie du calcul de max et min
  15 : C                      sur les noeuds voisins, dans le cas de 
  16 : C                      reconstruction quadratique exacte
  17 : C     
  18 : C LANGAGE           :  ESOPE 2000 avec extensions CISI
  19 : C     
  20 : C AUTEUR            :  A. BECCANTINI, DRN/DMT/SEMT/TTMF
  21 : C     
  22 : C************************************************************************
  23 : C     
  24 : C     
  25 : C APPELES (E/S)     : none
  26 : C     
  27 : C APPELES (Calcul)  : none
  28 : C     
  29 : C     
  30 : C************************************************************************
  31 : C     
  32 : C ENTREES  : NFAC : nombre de faces
  33 : C     
  34 : C            NCOMP  : nombre de composantes de CHPOINT dont on veut
  35 : C                     calculer les pentes
  36 : C     
  37 : C            MELEFL : pointeur du  MELEME  'FACEL'
  38 : C     
  39 : C            MPOCHP : pointeur de MPOVAL de CHPOINT dont on  veut le
  40 : C                     gradient
  41 : C     
  42 : C            MLECEN : pointeur de MLENTI qui contient la table
  43 : C                     numerotation global/local de CENTREs
  44 : C     
  45 : C            MPOVCL  : MPOVAL du CHPOINT de C.L.
  46 : C     
  47 : C            MLENCL  : table numerotation global/local pour les
  48 : C                            SPG du CHPOINT de C.L. ou
  49 : C                      table de 0 si ce CHPOINT n'existe pas
  50 : C
  51 : C     
  52 : C SORTIES  : MPOMIN : pointeur de MPOVAL du  minimum  sur le stencil
  53 : C     
  54 : C            MPOMAX : pointeur de MPOVAL du  maximum  sur le stencil
  55 : C     
  56 : C     
  57 : C************************************************************************
  58 : C     
  59 : C HISTORIQUE (Anomalies et modifications éventuelles)
  60 : C     
  61 : C HISTORIQUE : Cree le 12-5-2000
  62 : C     
  63 : C     
  64 : C************************************************************************
  65 : C     
  66 :       IMPLICIT INTEGER(I-N)
  67 : -INC CCOPTIO
  68 : C     
  69 : C**** Variables de CCOPTIO
  70 : C     
  71 : C      INTEGER IPLLB, IERPER, IERMAX, IERR, INTERR
  72 : C     &     ,IOTER,   IOLEC,  IOIMP,     IOCAR,  IOACQ
  73 : C     &     ,IOPER,   IOSGB,  IOGRA,     IOSAU,  IORES
  74 : C     &     ,IECHO,   IIMPI,  IOSPI
  75 : C     &     ,IDIM
  76 : C     &     ,MCOORD
  77 : C     &     ,IFOMOD, NIFOUR, IFOUR, NSDPGE, IONIVE
  78 : C     &     ,NGMAXY, IZROSF, ISOTYP, IOSCR,LTEXLU
  79 : C     &     ,NORINC,NORVAL,NORIND,NORVAD
  80 : C     &     ,NUCROU, IPSAUV
  81 : C     
  82 : C     
  83 : -INC SMCHPOI
  84 : -INC SMELEME
  85 : -INC SMLENTI
  86 :       POINTEUR MPOMIN.MPOVAL, MPOMAX.MPOVAL, MPOVCL.MPOVAL, 
  87 :      &         MPOCHP.MPOVAL        
  88 :       POINTEUR MELEFL.MELEME, MLECEN.MLENTI, MLENCL.MLENTI 
  89 : C
  90 :       INTEGER NFAC, NCOMP, NLCF, NGCEG, NLCEG, NGCF, NGCED, NLCED
  91 :      &       , NLCL, ICOMP
  92 :       REAL*8 VAL
  93 : C
  94 : C**** N.B. Tous les pointeurs ici sont déjà activés!
  95 : C     
  96 : C**** Maillage FACEL
  97 : C     Boucle sur les faces
  98 : C     
  99 : C     
 100 : C**** NGCEG = Numero global centre d'elt "gauche"
 101 : C     NLCEG = Numero local centre d'elt "gauche"
 102 : C     NGCF  =   "    global centre de face
 103 : C     NLCF  = numero local  centre de face
 104 : C     NGCEG = Numero global centre d'elt "gauche"
 105 : C     NLCEG = Numero local centre d'elt "gauche"
 106 : C     
 107 :       DO NLCF = 1, NFAC
 108 :          NGCEG = MELEFL.NUM(1,NLCF)
 109 :          NLCEG = MLECEN.LECT(NGCEG)
 110 :          NGCF  = MELEFL.NUM(2,NLCF)
 111 :          NGCED = MELEFL.NUM(3,NLCF)
 112 :          NLCED = MLECEN.LECT(NGCED)
 113 :          IF(NGCEG .EQ. NGCED)THEN
 114 : C     
 115 : C********** Cas mur
 116 : C     
 117 :             NLCL = MLENCL.LECT(NGCF)
 118 :             IF(NLCL .NE. 0)THEN
 119 : C
 120 : C************* Le point face appartient au C.L. 
 121 : C     
 122 :                DO ICOMP = 1, NCOMP, 1
 123 :                   VAL = MPOVCL.VPOCHA(NLCL,ICOMP)
 124 :                   MPOMAX.VPOCHA(NLCEG,ICOMP)= MAX(VAL,
 125 :      &                 MPOMAX.VPOCHA(NLCEG,ICOMP))
 126 :                   MPOMIN.VPOCHA(NLCEG,ICOMP)= MIN(VAL,
 127 :      &                 MPOMIN.VPOCHA(NLCEG,ICOMP))
 128 :                ENDDO
 129 :             ENDIF
 130 :          ELSE
 131 :             DO ICOMP = 1, NCOMP, 1
 132 :                VAL = MPOCHP.VPOCHA(NLCED,ICOMP)
 133 :                MPOMAX.VPOCHA(NLCEG,ICOMP)= MAX(VAL,
 134 :      &              MPOMAX.VPOCHA(NLCEG,ICOMP))
 135 :                MPOMIN.VPOCHA(NLCEG,ICOMP)= MIN(VAL,
 136 :      &              MPOMIN.VPOCHA(NLCEG,ICOMP))
 137 : C     
 138 :                VAL = MPOCHP.VPOCHA(NLCEG,ICOMP)
 139 :                MPOMAX.VPOCHA(NLCED,ICOMP)= MAX(VAL,
 140 :      &              MPOMAX.VPOCHA(NLCED,ICOMP))
 141 :                MPOMIN.VPOCHA(NLCED,ICOMP)= MIN(VAL,
 142 :      &              MPOMIN.VPOCHA(NLCED,ICOMP))
 143 :             ENDDO
 144 :          ENDIF
 145 :       ENDDO
 146 :       RETURN
 147 :       END
 148 :  
 149 :  
 150 :  

© Cast3M 2003 - All rights reserved.
Disclaimer