Download rlxce1.eso

Back to the list

   1 : C RLXCE1    SOURCE    PV        09/03/12    21:33:55     6325           
   2 :       SUBROUTINE RLXCE1(MELEME,MLECOE,MCHELM)
   3 : C************************************************************************
   4 : C     
   5 : C PROJET            :  CASTEM 2000
   6 : C     
   7 : C NOM               :  RLXCE1 
   8 : C     
   9 : C DESCRIPTION       :  Appelle par GRADGE
  10 : C     
  11 : C LANGAGE           :  FORTRAN 77 + ESOPE 2000 (avec extensions CISI)
  12 : C     
  13 : C AUTEUR            :  A. BECCANTINI
  14 : C     
  15 : C************************************************************************
  16 : C     
  17 : C Input
  18 : C
  19 : C MELEME : SPG of MCHELM (CNETRE + neighbors)
  20 : C
  21 : C MLECOE : pointers of the list of coeff
  22 : C
  23 : C Output
  24 : C
  25 : C MCHELM : MCHAML which contains the coeff. to compute gradients
  26 : C
  27 : C     
  28 : C     
  29 : C**** Variables de COOPTIO
  30 : C
  31 :       IMPLICIT INTEGER(I-N)
  32 :       INTEGER IPLLB, IERPER, IERMAX, IERR, INTERR
  33 :      &        ,IOTER,   IOLEC,  IOIMP,     IOCAR,  IOACQ
  34 :      &        ,IOPER,   IOSGB,  IOGRA,     IOSAU,  IORES
  35 :      &        ,IECHO,   IIMPI,  IOSPI
  36 :      &        ,IDIM
  37 :      &        ,MCOORD
  38 :      &        ,IFOMOD, NIFOUR, IFOUR, NSDPGE, IONIVE
  39 :      &        ,NGMAXY, IZROSF, ISOTYP, IOSCR,LTEXLU
  40 :      &        ,NORINC,NORVAL,NORIND,NORVAD
  41 :      &        ,NUCROU, IPSAUV, IPREFI, IFICLE, ISAFOR, IREFOR
  42 : C
  43 :       INTEGER NSOU, JG, N3, L1, NBNN, NBELEM, ICEN, ISOUS
  44 :      &     , N1PTEL, N1EL, N2PTEL, N2EL, IELEM, IVOI
  45 : C
  46 :       INTEGER N1,N2
  47 :       SEGMENT MATRIX
  48 :       REAL*8 MAT(N1,N2)
  49 :       ENDSEGMENT
  50 : C
  51 : -INC CCOPTIO
  52 : -INC SMCHAML
  53 : -INC SMLENTI
  54 : -INC SMELEME
  55 :       POINTEUR MLESOU.MLENTI, MLECOE.MLENTI
  56 : C
  57 : C**** We recover the elemenary mesh of MELEME
  58 : C     
  59 :       SEGACT MELEME
  60 :       SEGACT MLECOE
  61 :       NSOU=MAX(MELEME.LISOUS(/1),1)
  62 :       JG=NSOU
  63 :       SEGINI MLESOU
  64 :       IF (NSOU.EQ.1)THEN
  65 :          MLESOU.LECT(1)=MELEME
  66 :       ELSE
  67 :          DO ISOUS=1,NSOU,1
  68 :             IPT1=MELEME.LISOUS(ISOUS)
  69 :             MLESOU.LECT(ISOUS)=IPT1
  70 :          ENDDO
  71 :       ENDIF
  72 : C
  73 : C**** Initialisation du MCHELM
  74 : C
  75 :       N1=NSOU
  76 :       N2=IDIM
  77 :       N3=6
  78 :       L1=8
  79 :       SEGINI MCHELM
  80 :       MCHELM.TITCHE='Gradient'
  81 :       MCHELM.IFOCHE=IFOUR
  82 : C
  83 :       ICEN=0
  84 :       DO ISOUS = 1, NSOU, 1
  85 :          IPT1=MLESOU.LECT(ISOUS)
  86 :          MCHELM.IMACHE(ISOUS)=IPT1
  87 :          SEGINI MCHAML
  88 :          MCHELM.ICHAML(ISOUS)=MCHAML
  89 :          MCHAML.NOMCHE(1)='alphax  '
  90 :          MCHAML.NOMCHE(2)='alphay  '
  91 :          MCHAML.TYPCHE(1)='REAL*8          '
  92 :          MCHAML.TYPCHE(2)='REAL*8          '
  93 :          SEGACT IPT1
  94 :          NBNN=IPT1.NUM(/1)
  95 :          NBELEM=IPT1.NUM(/2)
  96 :          SEGDES IPT1
  97 :          N1PTEL=NBNN
  98 :          N1EL=NBELEM
  99 :          N2PTEL=0
 100 :          N2EL=0
 101 :          SEGINI MELVA1
 102 :          SEGINI MELVA2
 103 :          MCHAML.IELVAL(1)=MELVA1
 104 :          MCHAML.IELVAL(2)=MELVA2
 105 :          IF(IDIM.EQ.3)THEN
 106 :             MCHAML.NOMCHE(3)='alphaz  '
 107 :             MCHAML.TYPCHE(3)='REAL*8          '
 108 :             SEGINI MELVA3
 109 :             MCHAML.IELVAL(3)=MELVA3
 110 :          ENDIF
 111 :          DO IELEM=1,NBELEM,1
 112 :             ICEN=ICEN+1
 113 :             MATRIX=MLECOE.LECT(ICEN)
 114 :             SEGACT MATRIX
 115 :             DO IVOI=1,NBNN,1
 116 :                MELVA1.VELCHE(IVOI,IELEM)=MATRIX.MAT(2,IVOI)
 117 :                MELVA2.VELCHE(IVOI,IELEM)=MATRIX.MAT(3,IVOI)
 118 :                IF(IDIM.EQ.3) MELVA3.VELCHE(IVOI,IELEM)=
 119 :      $              MATRIX.MAT(4,IVOI)
 120 :             ENDDO
 121 :             SEGSUP MATRIX
 122 :          ENDDO
 123 :          SEGDES MCHAML
 124 :          SEGDES MELEME
 125 :          SEGDES MELVA1
 126 :          SEGDES MELVA2
 127 :          IF(IDIM.EQ.3) SEGDES MELVA3
 128 :       ENDDO
 129 : C
 130 :       SEGDES MCHELM
 131 : C
 132 :       SEGSUP MLECOE
 133 :       SEGSUP MLESOU
 134 :       IF(NSOU .GT. 1) SEGSUP MELEME
 135 : C
 136 :       RETURN
 137 :       END
 138 :                
 139 :             
 140 :             
 141 :          
 142 : C                                          
 143 :  
 144 :  
 145 :  
 146 :  
 147 :  
 148 :  

© Cast3M 2003 - All rights reserved.
Disclaimer