TALK=T;RUN( 1, 1) PHOTON USE p parphi 1 5000 1 gr ou x 1 con f2 x 1 fi;0.001 upause 1 con f5 x 1 fi;0.001 upause 1 con f8 x 1 fi;0.001 upause 1 con f11 x 1 fi;0.001 upause 1 con f14 x 1 fi;0.001 upause 1 con f17 x 1 fi;0.001 upause 1 con f20 x 1 fi;0.001 upause 1 con f23 x 1 fi;0.001 upause 1 con f26 x 1 fi;0.001 upause 1 con f29 x 1 fi;0.001 upause 1 ENDUSE TEXT(1d ocean layer; 2d pop. ; v & w as PDAs TITLE DISPLAY This Q1 uses the multi-fluid model to simulate turbulence in the surface layer of a body of water subjected to a uniform shear stress. The process is time-dependent. A 2D population of fluids is used, the population-defining attributes being vertical velocity, v, and horizontal velocity, w. The geometrical grid is 1D, the discretized direction being vertical, of 1 meter length. The shear is simulated by filling the bottom cell with the fluid having the attributes v=0, w=0, and the top cell with the fluid having the attributes v=0, w=1 meter/second. The micro-mixing rate is set equal to RATE, prescribed as 1.0 hertz, times a constant: CONMIX. Mixing is simulated by setting the effective viscosity to 1.0 meter ** 2 /seconds. The geometrical grid is as shown below on the left and the 2D population grid as shown on the right. |--------| | T | v NV |--------| +0.5 |------|------|------|------|------| int | | ^ | | | | | | erv |--------| | |------|------|------|------|------| als | | IV | | | | | | |--------| | |------|------|------|------|------| | | | | IFLUID=IV+(IW-1)*NV | | |--------| | |------|------|------|------|------| | | 0.0 | b | | | | t | |--------| |------|------|------|------|------| | | | | | | | | |--------| y |------|------|------|------|------| | | | | | | | | |--------| ^ |------|------|------|------|------| | | | | | | | | | |--------| | -0.5|------|------|------|------|------| | B | | IW |--------| | 0.0 ------------> w 1.0 ---> z NW intervals ENDDIS Data settings INTEGER(NV,NW,NFLUIDS,IFLUIB,IFLUIT) INTEGER(NFLR,NFLF) CHAR(MFMMOD) REAL(CONMIX) NV=11;NW=11 CONMIX=100 MFMMOD=MFM derived quantities NFLF = NV NFLR = NW NFLUIDS=NV*NW IFLUIB=(NV+1)/2 ! index of bottom fluid IFLUIT=IFLUIB + NV*(NW-1) ! index of top fluid ************************************************************ group 1. run title and number ************************************************************ ************************************************************ group 2. transience STEADY = F GRDPWR(T,10,1000/conmix,1.0) ! small conmix -> long time ************************************************************ group 4. y-direction grid spacing NY = 9 YVLAST = 1.000000E+00 GRDPWR(Y,NY,YVLAST,1.0) ************************************************************ group 7. variables: stored,solved,named ONEPHS = T SOLVE(W1) STORE(RATE) IF(NFLF.GT.1) THEN STORE(AVEF); VARMAX(AVEF)=1.0; VARMIN(AVEF)=0.0 IF(NFLR.EQ.1) THEN STORE(MNSQ); VARMAX(MNSQ)=1.0; VARMIN(MNSQ)=0.0 ENDIF ENDIF IF(NFLR.GT.1) THEN STORE(AVER); VARMAX(AVER)=1.0; VARMIN(AVER)=0.0 IF(NFLF.EQ.1) THEN STORE(MNSQ); VARMAX(MNSQ)=1.0; VARMIN(MNSQ)=0.0 ENDIF ENDIF STORE(RMSO,RMSA,RMOA,FLSM,PGRD,NETM,FRSM) INTEGER(III) III=NFLUIDS+1 ! DO loop order chosen so that ! F1 is solved first DO II = 1,NFLUIDS III = III-1 SOLVE(F:iii:) VARMAX(F:iii:)=1.0; VARMIN(F:iii:)=0.0; RELAX(F:iii:,LINRLX,0.5) VARMAX(F:iii:)=1.0; VARMIN(F:iii:)=0.0; RELAX(F:iii:,LINRLX,1.0) ENDDO STORE(VIST,RATE,AVER,AVEF) ************************************************************ Group 8. Terms & Devices * Y in TERMS argument list denotes: * 1-built-in source 2-convection 3-diffusion 4-transient * 5-first phase variable 6-interphase transport DO II=1,NFLUIDS TERMS(F:II:,N,N,Y,Y,Y,N) ENDDO TERMS(W1,N,N,Y,P,P,P) ************************************************************ Group 9. Properties RHO1 = 1000.0 enut=1.0 enut=.0 ************************************************************ Group 11.Initialise Var/Porosity Fields FIINIT(VIST)=1.0 ; FIINIT(RATE)=1.0 DO II=1,NFLUIDS FIINIT(F:II:)=1/NFLUIDS FIINIT(F:II:)=0.0 RELAX(F:II:,LINRLX,0.5) OUTPUT(F:II:,Y,Y,N,N,Y,Y) ENDDO PATCH(TOPINIT,INIVAL,1,1,NY,NY,1,1,1,1) INIT(TOPINIT,F:IFLUIT:, FIXVAL, 1.000000E+00) PATCH(BTMINIT,INIVAL,1,1,1,1,1,1,1,1) INIT(BTMINIT,F:IFLUIB:, FIXVAL, 1.000000E+00) integer(ifluim) ifluim=(ifluib + ifluit)/2 patch(midinit,inival,1,1,ny/2+1,ny/2+1,1,1,1,1) init(midinit,F:ifluim:, FIXVAL, 1.000000E+00) output(f1,y,y,y,y,y,y) FSWEEP = 1 NAMFI =CHAM ************************************************************ Group 13. Boundary & Special Sources PATCH(BOTTOM,CELL,1,1,1,1,1,1,1,LSTEP) ! at the bottom there is only DO II=1,NFLUIDS ! one fluid with w=0 COVAL(BOTTOM ,F:II:, FIXVAL, 0.000000E+00) ! and v = 0 ENDDO COVAL(BOTTOM ,F:IFLUIB:, FIXVAL, 1.000000E+00) COVAL(BOTTOM,W1,FIXVAL,0.0) PATCH(TOP,CELL,1,1,NY,NY,1,1,1,LSTEP) ! at the topthere is only DO II=1,NFLUIDS ! one fluid with w=maximum COVAL(TOP ,F:II:, FIXVAL, 0.000000E+00) ! and v = 0 ENDDO COVAL(TOP ,F:IFLUIT:, FIXVAL, 1.000000E+00) COVAL(TOP,W1,FIXVAL,1.0) ************************************************************ Group 15. Terminate Sweeps LSWEEP = 100 ;ISWC1 = 1 LITHYD = 1 ;LITFLX = 1 ;LITC = 1 ;ITHC1 = 1 SELREF = T ************************************************************ Group 19. EARTH Calls To GROUND Station USEGRD = T ;USEGRX = T SPEDAT(SET,MFM,MFMMOD,C,MFM) SPEDAT(SET,MFM,NFLUIDS,I,NFLUIDS) SPEDAT(SET,MFM,NFLF,I,NW) SPEDAT(SET,MFM,NFLR,I,NV) SPEDAT(SET,MFM,CONMIX,R,:CONMIX:) ************************************************************ Group 20. Preliminary Printout ECHO = T ************************************************************ Group 22. Monitor Print-Out IXMON = 1 ;IYMON = ny/2 + 1 ;IZMON = 1 NPRMON = 100000 ;NPRMNT = 1 ;TSTSWP = -1 UWATCH = T ;USTEER = T HIGHLO = F ********************************************************** Group 23.Field Print-Out & Plot Control NPRINT = 100000 ;NUMCLS = 5 IPLTF = 1 ;IPLTL = -1 ;NPLT = -1 ISWPRF = 1 ;ISWPRL = 100000 ITABL = 1 ;IPROF = 1 ABSIZ = 5.000000E-01 ;ORSIZ = 4.000000E-01 NTZPRF = 1 ;NCOLPF = 50 ICHR = 2 ;NCOLCO = 45 ;NROWCO = 20 NYPRIN=1 PATCH(Y,PROFIL,1,1,1,NY,1,1,1,1) ! activation of line-printer plots DO II=1,NFLUIDS COVAL(Y,F:II:,0.0,1.0) ENDDO IDISPA=1 PATCH(PLOT,PROFIL,1,1,1,NY,1,1,1,LSTEP) COVAL(PLOT,W1,0,0) COVAL(PLOT,AVEF,0,0) COVAL(PLOT,AVER,0,0) PATCH(PLOT2,PROFIL,1,1,1,NY,1,1,1,LSTEP) COVAL(PLOT2,F3,0,0) COVAL(PLOT2,F8,0,0) COVAL(PLOT2,F13,0,0) COVAL(PLOT2,F18,0,0) COVAL(PLOT2,F23,0,0) ORSIZ=ORSIZ/2 ************************************************************ Group 24. Dumps For Restarts SAVE = T ;AUTOPS = F ;NOWIPE = F NSAVE =CHAM lsweep=200 lstep=1 (realread of 2dpop is -5 5 0 10) ! values read into micromix ! inactive in-form statements used in de-bugging store(flsm,pgrd) (stored var f9AN is anco(f9)) (stored var f9so is resi(f9)) (stored var f8so is resi(f8)) (stored var f7so is resi(f7)) (stored var f6so is resi(f6)) (stored var f5so is resi(f5)) (stored var f4so is resi(f4)) (stored var f3so is resi(f3)) (stored var f2so is resi(f2)) (stored var f1so is resi(f1)) (stored var f9ap is apco(f9)) (stored var f8ap is apco(f8)) (stored var f7ap is apco(f7)) (stored var f6ap is apco(f6)) (stored var f5ap is apco(f5)) (stored var f4ap is apco(f4)) (stored var f3ap is apco(f3)) (stored var f2ap is apco(f2)) (stored var f1ap is apco(f1)) output(w1,n,n,n,n,n,n) output(vist,n,n,n,n,n,n) output(RATE,n,n,n,n,n,n) numcls=3 inifld=t lsweep=10 nprint=1 lsweep=3 nprint=lsweep/10 selref=f resref(f1)=0.0 resref(f2)=0.0 inifld=t sharbegin index 1 power 2 factor 0.00001 gradfac 0 sharend STOP