Download fimtr2.eso

Back to the list

   1 : C FIMTR2    SOURCE    CHAT      05/01/13    00:00:58     5004           
   2 :       SUBROUTINE FIMTR2(SORGAS,ILIINC,ICEN,IRO,IROVIT,IGRAV,IRKA,
   3 :      &                IREPS,IGRADR,IGRADV,IMUT,TSIGT,TCEPS1,TCEPS2,IRES)
   4 : C************************************************************************
   5 : C
   6 : C PROJET            :  CASTEM 2000
   7 : C
   8 : C NOM               :  FIMTR2
   9 : C
  10 : C DESCRIPTION       :  VOIR FIMTR1
  11 : C
  12 : C                      Discretisation of the source term
  13 : C                      related to the gravity and k-\eps model
  14 : C                      and the source terms of the equations
  15 : C                      for species mass conservation
  16 : C
  17 : C LANGAGE           :  FORTRAN 77 + ESOPE 2000 (avec extensions CISI)
  18 : C      
  19 : C AUTEUR            :  S. Kudriakov, DEN/DM2S/SFME/LTMF                        
  20 : C
  21 : C************************************************************************
  22 : C
  23 : C ENTREES  :
  24 : C            SORGAS  : pointer to the source terms 
  25 : C                      and the form. enthalpies of the species 
  26 : C
  27 : C            ILIINC  : LISTMOTS, noms des inconnues
  28 : C
  29 : C            ICEN    : SPG geometrique
  30 : C
  31 : C            IRO     : CHPOINT, densité
  32 : C     
  33 : C            IROVIT  : CHPOINT  qdm
  34 : C
  35 : C            IGRAV   : CHPOINT  gravité
  36 : C
  37 : C            IRKA    : CHPOINT density '*' k
  38 : C
  39 : C            IREPS   : CHPOINT density '*' \eps
  40 : C
  41 : C            IGRADR  : CHPOINT gradient of the density
  42 : C
  43 : C            IGRADV  : CHPOINT gradient of the velocity 
  44 : C 
  45 : C            IMUT    : CHPOINT turbulent viscosity
  46 : C
  47 : C            TSIGT   : REEL turbulent constant \sigma_t
  48 : C
  49 : C            TCEPS1  : REEL turbulent constant C_{\eps 1}
  50 : C
  51 : C            TCEPS2  : REEL turbulent constant C_{\eps 2}            
  52 : C      
  53 : C SORTIES  : IRES    : CHPOINT  residu
  54 : C
  55 : C     
  56 : C************************************************************************
  57 : C
  58 : C HISTORIQUE (Anomalies et modifications éventuelles)
  59 : C
  60 : C HISTORIQUE :  Créée le 3.12.03
  61 : C 
  62 : C************************************************************************
  63 : C
  64 : C
  65 : C**** Variables de COOPTIO
  66 : C
  67 : C      INTEGER IPLLB, IERPER, IERMAX, IERR, INTERR
  68 : C     &        ,IOTER,   IOLEC,  IOIMP,     IOCAR,  IOACQ
  69 : C     &        ,IOPER,   IOSGB,  IOGRA,     IOSAU,  IORES
  70 : C     &        ,IECHO,   IIMPI,  IOSPI
  71 : C     &        ,IDIM
  72 : C     &        ,MCOORD      
  73 : C     &        ,IFOMOD, NIFOUR, IFOUR, NSDPGE, IONIVE
  74 : C     &        ,NGMAXY, IZROSF, ISOTYP, IOSCR, LTEXLU
  75 : C     &        ,NORINC, NORVAL, NORIND, NORVAD
  76 : C     &        ,NUCROU, IPSAUV, IFICLE, IPREFI
  77 : C
  78 : C**** Les variables
  79 : C      
  80 :       IMPLICIT INTEGER(I-N)
  81 : -INC CCOPTIO
  82 : -INC SMELEME
  83 : -INC SMCHPOI
  84 :       POINTEUR MPRO.MPOVAL, MPROV.MPOVAL, MPGRAV.MPOVAL,
  85 :      &         MPSOUR.MPOVAL, MPTTT.MPOVAL, MPGRDR.MPOVAL
  86 : c--------------------------------------------------
  87 :       SEGMENT SORGAS
  88 :          REAL*8 H0K(NESP+1)
  89 :          POINTEUR SOUR(NESP+1).MCHPOI
  90 :       ENDSEGMENT
  91 :       SEGMENT LIPOV2
  92 :       POINTEUR MPSS(0).MPOVAL
  93 :       ENDSEGMENT 
  94 : c--------------------------------------------------
  95 :       INTEGER ILIINC,ICEN,IRKA,IREPS,IRES,N1,NLCE,NSPEC
  96 :      &     ,IGEOM,NESP,IGRADR,IGRADV,IMUT,IESP
  97 :       CHARACTER*8 TYPE
  98 :       REAL*8 REPS, RKA, CE1, CE2, VISTUR
  99 :       REAL*8 DUDX,DUDY,DUDZ,DVDX,DVDY,DVDZ,DWDX,DWDY,DWDZ 
 100 :       REAL*8 TDIV,S11,S12,S13,S22,S23,S33,STOT,PRTOT 
 101 :       REAL*8 RO,RVX,RVY,RVZ,GX,GY,GZ,SSPEC
 102 :       REAL*8 ROX,ROY,ROZ,SIGT,GRT,GREPS
 103 :       REAL*8 TSIGT,TCEPS1,TCEPS2
 104 :       REAL*8 SUMREA, STST, VTEM
 105 : C--------------------------------------------------
 106 :       CE1 = TCEPS1
 107 :       CE2 = TCEPS2      
 108 :       SIGT = TSIGT
 109 : C--------------------     
 110 :       IPT1 = ICEN
 111 :       SEGACT IPT1
 112 :       N1 = IPT1.NUM(/2)
 113 :       SEGDES IPT1
 114 : C
 115 : C**** Creation de CHPOINT IRES
 116 : C    
 117 :       TYPE='        '
 117 :       CALL KRCHP1(TYPE,ICEN,IRES,ILIINC)
 118 : C
 119 : C
 120 : C**** Lecture de MPOVALs
 121 : C
 121 :       CALL LICHT(IRO,MPRO,TYPE,IGEOM) 
 121 :       CALL LICHT(IROVIT,MPROV,TYPE,IGEOM)
 121 :       CALL LICHT(IGRAV,MPGRAV,TYPE,IGEOM) 
 122 : C--------------------------------------
 122 :       CALL LICHT(IRKA,MPOVA1,TYPE,IGEOM)
 122 :       CALL LICHT(IREPS,MPOVA2,TYPE,IGEOM)
 122 :       CALL LICHT(IGRADR,MPGRDR,TYPE,IGEOM)
 122 :       CALL LICHT(IGRADV,MPOVA3,TYPE,IGEOM)
 122 :       CALL LICHT(IMUT,MPOVA5,TYPE,IGEOM)
 122 :       CALL LICHT(IRES,MPOVA4,TYPE,IGEOM)
 123 : C
 124 : C**** LICHT active les MPOVALs en *MOD
 125 : C
 126 : C     i.e.
 127 : C
 128 : C     SEGACT MPOVA1*MOD
 129 : C     SEGACT MPOVA2*MOD
 130 : C     SEGACT MPOVA3*MOD
 131 : C     SEGACT MPOVA4*MOD
 132 : C
 133 : C
 134 : C---------------------------------------------
 135 :       SEGINI LIPOV2
 136 :       SEGACT SORGAS
 137 :       NESP=SORGAS.SOUR(/1)-1
 138 :       DO IESP=1,NESP
 139 :          ICSOUR=SORGAS.SOUR(IESP)
 139 :          CALL LICHT(ICSOUR,MPSOUR,TYPE,IGEOM)
 140 :          LIPOV2.MPSS(**)=MPSOUR
 141 :       ENDDO
 142 : C---------------------------------------------
 143 :       DO NLCE = 1, N1, 1
 144 : C
 145 : C******* Les differents variables a chaque centre
 146 : C        
 147 : c-----------------------------------
 148 :          DUDZ = 0.0D0
 149 :          DVDZ = 0.0D0
 150 :          DWDX = 0.0D0
 151 :          DWDY = 0.0D0
 152 :          DWDZ = 0.0D0
 153 :          S13 = 0.0D0
 154 :          S23 = 0.0D0
 155 :          S33 = 0.0D0
 156 :          RVZ = 0.0D0
 157 :          GZ = 0.0D0
 158 :          ROZ = 0.0D0
 159 :          IF(IDIM .EQ. 2) THEN
 160 :            DUDX = MPOVA3.VPOCHA(NLCE,1)
 161 :            DUDY = MPOVA3.VPOCHA(NLCE,2)
 162 :            DVDX = MPOVA3.VPOCHA(NLCE,3)
 163 :            DVDY = MPOVA3.VPOCHA(NLCE,4)
 164 :            TDIV=2.0D0*(DUDX+DVDY)/3.0D0
 165 :            S11 = 2.0D0*DUDX-TDIV
 166 :            S12 = DUDY+DVDX
 167 :            S22 = 2.0D0*DVDY-TDIV
 168 :            STOT=(S11*DUDX)+(S12*S12)+(S22*DVDY) 
 169 :          ELSE
 170 :            DUDX = MPOVA3.VPOCHA(NLCE,1)
 171 :            DUDY = MPOVA3.VPOCHA(NLCE,2)
 172 :            DUDZ = MPOVA3.VPOCHA(NLCE,3) 
 173 :            DVDX = MPOVA3.VPOCHA(NLCE,4)
 174 :            DVDY = MPOVA3.VPOCHA(NLCE,5)
 175 :            DVDZ = MPOVA3.VPOCHA(NLCE,6)
 176 :            DWDX = MPOVA3.VPOCHA(NLCE,7)
 177 :            DWDY = MPOVA3.VPOCHA(NLCE,8)
 178 :            DWDZ = MPOVA3.VPOCHA(NLCE,9) 
 179 :            TDIV=2.0D0*(DUDX+DVDY+DWDZ)/3.0D0
 180 :            S11 = 2.0D0*DUDX-TDIV
 181 :            S12 = DUDY+DVDX
 182 :            S13 = DUDZ+DWDX
 183 :            S22 = 2.0D0*DVDY-TDIV
 184 :            S23 = DVDZ+DWDY
 185 :            S33 = 2.0D0*DWDZ-TDIV
 186 :            STOT=(S11*DUDX)+(S12*S12)+(S13*S13)+
 187 :      &          (S22*DVDY)+(S23*S23)+(S33*DWDZ) 
 188 :          ENDIF
 189 :          VISTUR = MPOVA5.VPOCHA(NLCE,1)
 190 : *------ Creating the production term
 191 :          RO = MPRO.VPOCHA(NLCE,1)
 192 :          RVX = MPROV.VPOCHA(NLCE,1)
 193 :          RVY = MPROV.VPOCHA(NLCE,2)
 194 :          GX = MPGRAV.VPOCHA(NLCE,1)
 195 :          GY = MPGRAV.VPOCHA(NLCE,2)
 196 :          IF(IDIM .EQ. 3)THEN
 197 :             RVZ = MPROV.VPOCHA(NLCE,3)
 198 :             GZ = MPGRAV.VPOCHA(NLCE,3)
 199 :          ENDIF
 200 : c-----------------------------------     
 201 :          RKA = MPOVA1.VPOCHA(NLCE,1)
 202 :          REPS = MPOVA2.VPOCHA(NLCE,1)
 203 :          PRTOT=VISTUR*STOT-(TDIV*RKA)
 204 : *---- turbulent gravity term ----------
 205 :          ROX = MPGRDR.VPOCHA(NLCE,1)
 206 :          ROY = MPGRDR.VPOCHA(NLCE,2)
 207 :          IF(IDIM .EQ. 3)THEN
 208 :            ROZ = MPGRDR.VPOCHA(NLCE,3)
 209 :          ENDIF  
 210 :          GRT=(-1.0D0)*VISTUR*(ROX*GX+ROY*GY+ROZ*GZ)/(SIGT*RO)
 211 :          IF(GRT .LE. 0.0D0) THEN
 212 :            GREPS = 0.0D0 
 213 :          ELSE
 214 :            GREPS = CE1*GRT*REPS/RKA
 215 :          ENDIF  
 216 : *------------------------------------          
 217 :          MPOVA4.VPOCHA(NLCE,1) = 0.0D0
 218 :          MPOVA4.VPOCHA(NLCE,2) = RO*GX
 219 :          MPOVA4.VPOCHA(NLCE,3) = RO*GY
 220 :          IF(IDIM .EQ. 3)THEN
 221 :             MPOVA4.VPOCHA(NLCE,4) = RO*GZ
 222 :          ENDIF
 223 : c-----------------------------------
 224 :          SUMREA = 0.0D0
 225 :          STST = 0.0D0
 226 :          DO NSPEC = 1,NESP
 227 :           MPTTT = LIPOV2.MPSS(NSPEC)
 228 :           SSPEC = MPTTT.VPOCHA(NLCE,1)
 229 :           VTEM = SORGAS.H0K(NSPEC) 
 230 :           STST = STST + SSPEC*VTEM
 231 :           SUMREA = SUMREA + SSPEC
 232 :           MPOVA4.VPOCHA(NLCE,IDIM+2+NSPEC)=SSPEC 
 233 :          ENDDO
 234 :          VTEM = SORGAS.H0K(NESP+1)   
 235 :          STST = STST - (VTEM*SUMREA)
 236 :          MPOVA4.VPOCHA(NLCE,IDIM+2) = (RVX*GX)+(RVY*GY)+(RVZ*GZ)-STST
 237 :          MPOVA4.VPOCHA(NLCE,IDIM+NESP+3)=(-1.0D0)*REPS+PRTOT+GRT
 238 :          MPOVA4.VPOCHA(NLCE,IDIM+NESP+4)=((-1.0D0)*CE2*REPS*REPS/RKA)
 239 :      &                            +(CE1*(REPS/RKA)*PRTOT)+GREPS
 240 :       ENDDO
 241 : C
 242 :       SEGDES MPOVA1
 243 :       SEGDES MPOVA2
 244 :       SEGDES MPOVA3
 245 :       SEGDES MPOVA4
 246 :       SEGDES MPOVA5
 247 :       SEGDES MPGRDR 
 248 :       SEGDES MPRO
 249 :       SEGDES MPROV
 250 :       SEGDES MPGRAV
 251 :       SEGDES MPSOUR
 252 :       SEGDES MPTTT
 253 :       SEGDES LIPOV2.MPSS(*)
 254 :       SEGDES SORGAS
 255 :       SEGSUP LIPOV2
 256 : C
 257 :       RETURN
 258 :       END
 259 :  
 260 :  
 261 :  
 262 :  
 263 :  

© Cast3M 2003 - All rights reserved.
Disclaimer