fimtr2
C FIMTR2 SOURCE CB215821 20/11/25 13:28:53 10792 & IREPS,IGRADR,IGRADV,IMUT,TSIGT,TCEPS1,TCEPS2,IRES) C************************************************************************ C C PROJET : CASTEM 2000 C C NOM : FIMTR2 C C DESCRIPTION : VOIR FIMTR1 C C Discretisation of the source term C related to the gravity and k-\eps model C and the source terms of the equations C for species mass conservation C C LANGAGE : FORTRAN 77 + ESOPE 2000 (avec extensions CISI) C C AUTEUR : S. Kudriakov, DEN/DM2S/SFME/LTMF C C************************************************************************ C C ENTREES : C SORGAS : pointer to the source terms C and the form. enthalpies of the species C C ILIINC : LISTMOTS, noms des inconnues C C ICEN : SPG geometrique C C IRO : CHPOINT, densité C C IROVIT : CHPOINT qdm C C IGRAV : CHPOINT gravité C C IRKA : CHPOINT density '*' k C C IREPS : CHPOINT density '*' \eps C C IGRADR : CHPOINT gradient of the density C C IGRADV : CHPOINT gradient of the velocity C C IMUT : CHPOINT turbulent viscosity C C TSIGT : REEL turbulent constant \sigma_t C C TCEPS1 : REEL turbulent constant C_{\eps 1} C C TCEPS2 : REEL turbulent constant C_{\eps 2} C C SORTIES : IRES : CHPOINT residu C C C************************************************************************ C C HISTORIQUE (Anomalies et modifications éventuelles) C C HISTORIQUE : Créée le 3.12.03 C C************************************************************************ C C C**** Variables de COOPTIO C C INTEGER IPLLB, IERPER, IERMAX, IERR, INTERR C & ,IOTER, IOLEC, IOIMP, IOCAR, IOACQ C & ,IOPER, IOSGB, IOGRA, IOSAU, IORES C & ,IECHO, IIMPI, IOSPI C & ,IDIM C & ,MCOORD C & ,IFOMOD, NIFOUR, IFOUR, NSDPGE, IONIVE C & ,NGMAXY, IZROSF, ISOTYP, IOSCR, LTEXLU C & ,NORINC, NORVAL, NORIND, NORVAD C & ,NUCROU, IPSAUV, IFICLE, IPREFI C C**** Les variables C IMPLICIT INTEGER(I-N) -INC PPARAM -INC CCOPTIO -INC SMELEME -INC SMCHPOI POINTEUR MPRO.MPOVAL, MPROV.MPOVAL, MPGRAV.MPOVAL, & MPSOUR.MPOVAL, MPTTT.MPOVAL, MPGRDR.MPOVAL c-------------------------------------------------- SEGMENT SORGAS REAL*8 H0K(NESP+1) POINTEUR SOUR(NESP+1).MCHPOI ENDSEGMENT SEGMENT LIPOV2 POINTEUR MPSS(0).MPOVAL ENDSEGMENT c-------------------------------------------------- INTEGER ILIINC,ICEN,IRKA,IREPS,IRES,N1,NLCE,NSPEC & ,IGEOM,NESP,IGRADR,IGRADV,IMUT,IESP CHARACTER*8 TYPE REAL*8 REPS, RKA, CE1, CE2, VISTUR REAL*8 DUDX,DUDY,DUDZ,DVDX,DVDY,DVDZ,DWDX,DWDY,DWDZ REAL*8 TDIV,S11,S12,S13,S22,S23,S33,STOT,PRTOT REAL*8 RO,RVX,RVY,RVZ,GX,GY,GZ,SSPEC REAL*8 ROX,ROY,ROZ,SIGT,GRT,GREPS REAL*8 TSIGT,TCEPS1,TCEPS2 REAL*8 SUMREA, STST, VTEM C-------------------------------------------------- CE1 = TCEPS1 CE2 = TCEPS2 SIGT = TSIGT C-------------------- IPT1 = ICEN SEGACT IPT1 N1 = IPT1.NUM(/2) SEGDES IPT1 C C**** Creation de CHPOINT IRES C TYPE=' ' C C C**** Lecture de MPOVALs C C-------------------------------------- C C**** LICHT active les MPOVALs en *MOD C C i.e. C C SEGACT MPOVA1*MOD C SEGACT MPOVA2*MOD C SEGACT MPOVA3*MOD C SEGACT MPOVA4*MOD C C C--------------------------------------------- SEGINI LIPOV2 SEGACT SORGAS NESP=SORGAS.SOUR(/1)-1 DO IESP=1,NESP ICSOUR=SORGAS.SOUR(IESP) LIPOV2.MPSS(**)=MPSOUR ENDDO C--------------------------------------------- DO NLCE = 1, N1, 1 C C******* Les differents variables a chaque centre C c----------------------------------- DUDZ = 0.0D0 DVDZ = 0.0D0 DWDX = 0.0D0 DWDY = 0.0D0 DWDZ = 0.0D0 S13 = 0.0D0 S23 = 0.0D0 S33 = 0.0D0 RVZ = 0.0D0 GZ = 0.0D0 ROZ = 0.0D0 IF(IDIM .EQ. 2) THEN DUDX = MPOVA3.VPOCHA(NLCE,1) DUDY = MPOVA3.VPOCHA(NLCE,2) DVDX = MPOVA3.VPOCHA(NLCE,3) DVDY = MPOVA3.VPOCHA(NLCE,4) TDIV=2.0D0*(DUDX+DVDY)/3.0D0 S11 = 2.0D0*DUDX-TDIV S12 = DUDY+DVDX S22 = 2.0D0*DVDY-TDIV STOT=(S11*DUDX)+(S12*S12)+(S22*DVDY) ELSE DUDX = MPOVA3.VPOCHA(NLCE,1) DUDY = MPOVA3.VPOCHA(NLCE,2) DUDZ = MPOVA3.VPOCHA(NLCE,3) DVDX = MPOVA3.VPOCHA(NLCE,4) DVDY = MPOVA3.VPOCHA(NLCE,5) DVDZ = MPOVA3.VPOCHA(NLCE,6) DWDX = MPOVA3.VPOCHA(NLCE,7) DWDY = MPOVA3.VPOCHA(NLCE,8) DWDZ = MPOVA3.VPOCHA(NLCE,9) TDIV=2.0D0*(DUDX+DVDY+DWDZ)/3.0D0 S11 = 2.0D0*DUDX-TDIV S12 = DUDY+DVDX S13 = DUDZ+DWDX S22 = 2.0D0*DVDY-TDIV S23 = DVDZ+DWDY S33 = 2.0D0*DWDZ-TDIV STOT=(S11*DUDX)+(S12*S12)+(S13*S13)+ & (S22*DVDY)+(S23*S23)+(S33*DWDZ) ENDIF VISTUR = MPOVA5.VPOCHA(NLCE,1) *------ Creating the production term RO = MPRO.VPOCHA(NLCE,1) RVX = MPROV.VPOCHA(NLCE,1) RVY = MPROV.VPOCHA(NLCE,2) GX = MPGRAV.VPOCHA(NLCE,1) GY = MPGRAV.VPOCHA(NLCE,2) IF(IDIM .EQ. 3)THEN RVZ = MPROV.VPOCHA(NLCE,3) GZ = MPGRAV.VPOCHA(NLCE,3) ENDIF c----------------------------------- RKA = MPOVA1.VPOCHA(NLCE,1) REPS = MPOVA2.VPOCHA(NLCE,1) PRTOT=VISTUR*STOT-(TDIV*RKA) *---- turbulent gravity term ---------- ROX = MPGRDR.VPOCHA(NLCE,1) ROY = MPGRDR.VPOCHA(NLCE,2) IF(IDIM .EQ. 3)THEN ROZ = MPGRDR.VPOCHA(NLCE,3) ENDIF GRT=(-1.0D0)*VISTUR*(ROX*GX+ROY*GY+ROZ*GZ)/(SIGT*RO) IF(GRT .LE. 0.0D0) THEN GREPS = 0.0D0 ELSE GREPS = CE1*GRT*REPS/RKA ENDIF *------------------------------------ MPOVA4.VPOCHA(NLCE,1) = 0.0D0 MPOVA4.VPOCHA(NLCE,2) = RO*GX MPOVA4.VPOCHA(NLCE,3) = RO*GY IF(IDIM .EQ. 3)THEN MPOVA4.VPOCHA(NLCE,4) = RO*GZ ENDIF c----------------------------------- SUMREA = 0.0D0 STST = 0.0D0 DO NSPEC = 1,NESP MPTTT = LIPOV2.MPSS(NSPEC) SSPEC = MPTTT.VPOCHA(NLCE,1) VTEM = SORGAS.H0K(NSPEC) STST = STST + SSPEC*VTEM SUMREA = SUMREA + SSPEC MPOVA4.VPOCHA(NLCE,IDIM+2+NSPEC)=SSPEC ENDDO VTEM = SORGAS.H0K(NESP+1) STST = STST - (VTEM*SUMREA) MPOVA4.VPOCHA(NLCE,IDIM+2) = (RVX*GX)+(RVY*GY)+(RVZ*GZ)-STST MPOVA4.VPOCHA(NLCE,IDIM+NESP+3)=(-1.0D0)*REPS+PRTOT+GRT MPOVA4.VPOCHA(NLCE,IDIM+NESP+4)=((-1.0D0)*CE2*REPS*REPS/RKA) & +(CE1*(REPS/RKA)*PRTOT)+GREPS ENDDO C SEGDES MPOVA1 SEGDES MPOVA2 SEGDES MPOVA3 SEGDES MPOVA4 SEGDES MPOVA5 SEGDES MPGRDR SEGDES MPRO SEGDES MPROV SEGDES MPGRAV SEGDES MPSOUR SEGDES MPTTT SEGDES LIPOV2.MPSS(*) SEGDES SORGAS SEGSUP LIPOV2 C RETURN END
© Cast3M 2003 - Tous droits réservés.
Mentions légales