Encyclopaedia Index

Appendix - Q1 file for example


TALK=f;RUN( 1, 1);VDU=VGAMOUSE
     GROUP 1. Run title and other preliminaries

TEXT(COMBUSTION OF CONFINED JET : 17 FLUID MFM
     -------------------------------
REAL(GMIXL,CLEN,WIDTH,WIN1,WIN2,REYNO,WD2)
REAL(TKEIN1,EPIN1,TKEIN2,EPIN2)
INTEGER(IYJ);IYJ=3
REYNO=1.E4;WIDTH=0.3
WIN1=35.7;WIN2=0.13

    GROUP 3. X-direction grid specification
CARTES=F;XULAST=0.1
    GROUP 4. Y-direction grid specification
WD2=0.5*WIDTH
NY=20
NREGY=2
IREGY=1;GRDPWR(Y,3,0.0025,1.)
IREGY=2;GRDPWR(Y,17,WD2-0.0025,2.)
    GROUP 5. Z-direction grid specification
NZ=20;CLEN=0.75;GRDPWR(Z,NZ,CLEN,1.3)

    GROUP 7. Variables stored, solved & named

SOLVE(P1,W1,V1,FMIX)
REAL(FSTOI,CPFU,CPOX,STOIC,RIMF,HFU,HFUEL,TFUEL,TOX,HOX)
TFUEL = 289.0;TOX   =289.0
CPFU=  1000.*(2.11+1.67e-3*TFUEL)
CPOX=  1000.*(1.00+1.21e-4*TOX)
HFU=1.e7
HOX  = CPOX*TOX;HFUEL= CPFU*TFUEL + HFU
STOIC=0.5174/0.232
FSTOI=1/(1+STOIC)
RIMF=1./(1-FSTOI)
STORE(DEN1,TEMP,PROD,FUEL,OXID,EPKE)

SOLUTN(P1,Y,Y,Y,N,N,N)
TURMOD(KEMODL)

    GROUP 8. Terms (in differential equations) & devices
TERMS(FMIX,N,Y,Y,Y,Y,Y)

    GROUP 9. Properties of the medium (or media)
REAL(RHOIN1,RHOIN2,WAIR,WFU,WPR)
PRESS0=1.e5
WAIR=29.;WFU=28.;WPR=38.
RHOIN1=PRESS0*WFU/(8314.*TFUEL)
RHOIN2=PRESS0*WAIR/(8314.*TOX)

RHO1=GRND

    DEN1= F1/((PRESS0+P1)/(8314.*$
     (RG(31)/:WFU:+RG(11)/:WAIR:+RG(91)/:WPR:)*RG(71)+TINY))

    DEN1= DEN1+F2/((PRESS0+P1)/(8314.*$
     (RG(32)/:WFU:+RG(12)/:WAIR:+RG(92)/:WPR:)*RG(72)+TINY))

    DEN1= DEN1+F3/((PRESS0+P1)/(8314.*$
     (RG(33)/:WFU:+RG(13)/:WAIR:+RG(93)/:WPR:)*RG(73)+TINY))

    DEN1= DEN1+F4/((PRESS0+P1)/(8314.*$
     (RG(34)/:WFU:+RG(14)/:WAIR:+RG(94)/:WPR:)*RG(74)+TINY))

    DEN1= DEN1+F5/((PRESS0+P1)/(8314.*$
     (RG(35)/:WFU:+RG(15)/:WAIR:+RG(95)/:WPR:)*RG(75)+TINY))

    DEN1= DEN1+F6/((PRESS0+P1)/(8314.*$
     (RG(36)/:WFU:+RG(16)/:WAIR:+RG(96)/:WPR:)*RG(76)+TINY))

    DEN1= DEN1+F7/((PRESS0+P1)/(8314.*$
     (RG(37)/:WFU:+RG(17)/:WAIR:+RG(97)/:WPR:)*RG(77)+TINY))

    DEN1= DEN1+F8/((PRESS0+P1)/(8314.*$
     (RG(38)/:WFU:+RG(18)/:WAIR:+RG(98)/:WPR:)*RG(78)+TINY))

    DEN1= DEN1+F9/((PRESS0+P1)/(8314.*$
     (RG(39)/:WFU:+RG(19)/:WAIR:+RG(99)/:WPR:)*RG(79)+TINY))

    DEN1= DEN1+F10/((PRESS0+P1)/(8314.*$
     (RG(40)/:WFU:+RG(20)/:WAIR:+RG(100)/:WPR:)*RG(80)+TINY))

    DEN1= DEN1+F11/((PRESS0+P1)/(8314.*$
     (RG(41)/:WFU:+RG(21)/:WAIR:+RG(101)/:WPR:)*RG(81)+TINY))

    DEN1= DEN1+F12/((PRESS0+P1)/(8314.*$
     (RG(42)/:WFU:+RG(22)/:WAIR:+RG(102)/:WPR:)*RG(82)+TINY))

    DEN1= DEN1+F13/((PRESS0+P1)/(8314.*$
     (RG(43)/:WFU:+RG(23)/:WAIR:+RG(103)/:WPR:)*RG(83)+TINY))

    DEN1= DEN1+F14/((PRESS0+P1)/(8314.*$
     (RG(44)/:WFU:+RG(24)/:WAIR:+RG(104)/:WPR:)*RG(84)+TINY))

    DEN1= DEN1+F15/((PRESS0+P1)/(8314.*$
     (RG(45)/:WFU:+RG(25)/:WAIR:+RG(105)/:WPR:)*RG(85)+TINY))

    DEN1= DEN1+F16/((PRESS0+P1)/(8314.*$
     (RG(46)/:WFU:+RG(26)/:WAIR:+RG(106)/:WPR:)*RG(86)+TINY))

    DEN1= DEN1+F17/((PRESS0+P1)/(8314.*$
     (RG(47)/:WFU:+RG(27)/:WAIR:+RG(107)/:WPR:)*RG(87)+TINY))

    DEN1= 1./DEN1

ENUL=WIN1*0.005/REYNO
PRT(FMIX)= 0.86;PRNDTL(FMIX)= 0.71

    GROUP 11. Initialization of variable or porosity fields
FIINIT(W1)=0.5*(WIN1+WIN2)
FIINIT(FMIX)=1.
FIINIT(DEN1)=1.
FIINIT(TEMP)=289
FIINIT(OXID)=0.5
FIINIT(FUEL)=0.5
FIINIT(PROD)=0.0

  ** TKEIN = 0.25*WIN1*WIN1*FRIC where FRIC=0.018 AT REYNO=1.E5
TKEIN1=1.*0.25*WIN1*WIN1*0.018
TKEIN2=1.*0.25*WIN2*WIN2*0.018
FIINIT(KE)=0.5*(TKEIN1+TKEIN2)
  ** EPIN = 0.1643*KIN**1.5/LMIX where LMIX=0.045*WIDTH
GMIXL=0.011*WD2
EPIN2=TKEIN2**1.5/GMIXL*0.1643
EPIN1=TKEIN1**1.5/GMIXL*0.1643
FIINIT(EP)=0.5*(EPIN1+EPIN2)
FIINIT(P1)=1.3E-4
    GROUP 13. Boundary conditions and special sources
  ** Inlet Boundaries
INLET(IN1,LOW,1,1,1,IYJ,1,1,1,1)
VALUE(IN1,P1 , RHOIN1*WIN1)
VALUE(IN1,W1 , WIN1)
VALUE(IN1,FMIX , 1.0)
VALUE(IN1,KE , TKEIN1)
VALUE(IN1,EP , EPIN1)

INLET(IN2,LOW,1,1,IYJ+1,NY,1,1,1,1)
VALUE(IN2,P1, 2.*RHOIN2*WIN2)
VALUE(IN2,W1, WIN2)
VALUE(IN2,FMIX, 0.0)
VALUE(IN2,KE, TKEIN2)
VALUE(IN2,EP, EPIN2)

  **Outlet boundary
PATCH(OUTLET,HIGH,1,NX,1,NY,NZ,NZ,1,1)
COVAL(OUTLET,P1,FIXP,0.0)
COVAL(OUTLET,W1,ONLYMS,0.0);COVAL(OUTLET,V1,ONLYMS,0.0)
COVAL(OUTLET,KE,ONLYMS,0.0);COVAL(OUTLET,EP,ONLYMS,0.0)
COVAL(OUTLET,FMIX  ,ONLYMS,SAME)

  **North-Wall boundary (generalised wall functions)
WALL (WFNN,NORTH,1,NX,NY,NY,1,NZ,1,1)

    GROUP 15. Termination of sweeps
LSWEEP=3600
  RESTRT(all)
RESFAC=0.01

    GROUP 16. Termination of iterations
LITHYD=10
VARMIN(TEMP)=0.1*TFUEL;VARMAX(TEMP)=4000
VARMAX(OXID)=1.0;VARMIN(OXID)=0.0
VARMAX(PROD)=1.0;VARMIN(PROD)=0.0
VARMAX(FMIX)=1.0;VARMIN(FMIX)=0.0
VARMAX(FUEL)=1.0;VARMIN(FUEL)=0.0
VARMAX(DEN1)=5.0;VARMIN(DEN1)=0.001
    GROUP 17. Under-relaxation devices
KELIN=3
RELAX(P1,LINRLX,0.25)
RELAX(V1,FALSDT,0.0015)
RELAX(W1,FALSDT,0.0015)
RELAX(KE,FALSDT,0.0015)
RELAX(EP,FALSDT,0.0015)
RELAX(DEN1,LINRLX,.01)

    GROUP 19. Data communicated by SATELLITE to GROUND
    GROUP 21. Print-out of variables
WALPRN=T;OUTPUT(KE,Y,Y,Y,Y,Y,Y);OUTPUT(FMIX,Y,Y,Y,Y,Y,Y)

    GROUP 22. Monitor print-out
IZMON=10;IYMON=1;UWATCH=T

    GROUP 23. Field print-out and plot control
NPLT=1;NZPRIN=1
NYPRIN=1;IYPRF=1;IYPRL=30
TSTSWP=-1
NAMSAT=MOSG

     ********************     MFTM section    ***************

     ** Number of fluids in population
INTEGER(NFLUIDS)
NFLUIDS=17
     ** Micro-mixing constant
REAL(MMC)
MMC = 5.0 ; RG(1) = MMC
     ** Solve for fluid mass fractions F1, F2, ..., F17
DO II=1,NFLUIDS
 SOLVE(F:II:)
 TERMS(F:II:,N,Y,y,y,y,y)
 PRT(F:II:)= 0.86;PRNDTL(F:II:)= 0.71
 RELAX(F:II:,FALSDT,0.0008)
 FIINIT(F:II:)=1./NFLUIDS
 VARMIN(F:II:)=0.0;VARMAX(F:II:)=1.0
ENDDO

REAL(DD,RA,RB,AOX,AFU,APR,BOX,BFU,BPR)
AOX=1000.
BOX=0.121
AFU=2110.
BFU=1.67
APR=1080.
BPR=0.1
REAL(NF,III)
INTEGER(IIF,IIU,IIO,IIT,IIH,IIP)
NF=NFLUIDS
REAL(F,OX,FU,TT,PR)
DO II=1,NFLUIDS
 REAL(FF:II:,HH:II:,TT:II:,FU:II:,OX:II:,PR:II:)
 III=II
 FF:II:=(NF-III)/(NF-1.)
 FU:II:= RIMF*(FF:II:-FSTOI)
 OX:II:= 1.-FF:II:/FSTOI
 IF (FU:II:.LT.0.) THEN
 FU:II:=0.0
 ENDIF
 IF (OX:II:.LT.0.) THEN
 OX:II:=0.0
 ENDIF
 PR:II:= 1.-FU:II:-OX:II:
 HH:II:= FF:II:*(HFUEL-HOX)+HOX
 RA=AOX*OX:II:+AFU*FU:II:+APR*PR:II:
 RB=BOX*OX:II:+BFU*FU:II:+BPR*PR:II:
 DD=RA*RA-4.*RB*(-HH:II:+FU:II:*HFU)
 TT:II:=(-RA+SQRT(DD))/(2.*RB)
 IIP=II+90
 IIT=II+70
 IIF=II+50
 IIU=II+30
 IIO=II+10
 RG(:IIF:)=FF:II:
 RG(:IIU:)=FU:II:
 RG(:IIO:)=OX:II:
 RG(:IIT:)=TT:II:
 RG(:IIP:)=PR:II:

 F=FF:II:
 FU=FU:II:
 OX=OX:II:
 PR=PR:II:
 TT=TT:II:
 mesg( F=:F:   FU=:FU:    OX=:OX:   TT=:TT:
ENDDO
     ** Fluid population boundary conditions
DO II=1,NFLUIDS
 VALUE(IN1,F:II:,0.0)
 VALUE(IN2,F:II:,0.0)
ENDDO
VALUE(IN1,F1 , 1.0)
VALUE(IN2,F:NFLUIDS:, 1.0)

     ** Coupling/splitting rates
PATCH(MIX,PHASEM,1,NX,1,NY,1,NZ,1,1)
      *  Fluid 1
   CO=RG(1)*EPKE*(F3+F5+F7+F9+F11+F13+F15+F17)
COVAL(MIX,F1   , GRND  ,0.0 )
      *  Fluid 2
   VAL=2.*RG(1)*EPKE*(F1*F3)-$
           RG(1)*EPKE*(F4+F6+F8+F10+F12+F14+F16)*F2
COVAL(MIX,F2, FIXFLU,GRND)
       *  Fluid 3
   VAL=2.*RG(1)*EPKE*(F2*F4+F1*F5)-$
           RG(1)*EPKE*(F1+F17+F5+F7+F9+F11+F13+F15)*F3
COVAL(MIX,F3, FIXFLU,GRND)
       *  Fluid 4
   VAL=2.*RG(1)*EPKE*(F3*F5+F2*F6+F1*F7)-$
           RG(1)*EPKE*(F2+F6+F8+F10+F12+F14+F16)*F4
COVAL(MIX,F4, FIXFLU,GRND)
       *  Fluid 5
   VAL=2.*RG(1)*EPKE*(F4*F6+F3*F7+F2*F8+F1*F9)-$
           RG(1)*EPKE*(F1+F3+F17+F7+F9+F11+F13+F15)*F5
COVAL(MIX,F5, FIXFLU,GRND)
       *  Fluid 6
   VAL=2.*RG(1)*EPKE*(F5*F7+F4*F8+F3*F9+$
                                 F2*F10+F1*F11)-$
           RG(1)*EPKE*(F2+F4+F8+F10+F12+F14+F16)*F6
COVAL(MIX,F6, FIXFLU,GRND)
        * Fluid 7
   VAL=2.*RG(1)*EPKE*(F6*F8+F5*F9+F4*F10+$
                           F3*F11+F2*F12+F1*F13)-$
           RG(1)*EPKE*(F1+F3+F5+F17+F9+F11+F13+F15)*F7
COVAL(MIX,F7, FIXFLU,GRND)
         * Fluid 8
   VAL=2.*RG(1)*EPKE*(F7*F9+F6*F10+F5*F11+$
                     F4*F12+F3*F13+F2*F14+F1*F15)-$
           RG(1)*EPKE*(F2+F4+F6+F10+F12+F14+F16)*F8
COVAL(MIX,F8, FIXFLU,GRND)
         * Fluid 9
   VAL=2.*RG(1)*EPKE*(F8*F10+F7*F11+F6*F12+$
               F5*F13+F4*F14+F3*F15+F2*F16+F1*F17)-$
           RG(1)*EPKE*(F1+F3+F5+F7+F17+F11+F13+F15)*F9
COVAL(MIX,F9, FIXFLU,GRND)
         * Fluid 10
   VAL=2.*RG(1)*EPKE*(F9*F11+F8*F12+F7*F13+$
                      F6*F14+F5*F15+F4*F16+F3*F17)-$
           RG(1)*EPKE*(F2+F4+F6+F8+F12+F14+F16)*F10
COVAL(MIX,F10, FIXFLU,GRND)
         * Fluid 11
   VAL=2.*RG(1)*EPKE*(F10*F12+F9*F13+F8*F14+$
                              F7*F15+F6*F16+F5*F17)-$
           RG(1)*EPKE*(F1+F3+F5+F7+F9+F17+F13+F15)*F11
COVAL(MIX,F11, FIXFLU,GRND)
         * Fluid 12
   VAL=2.*RG(1)*EPKE*(F11*F13+F10*F14+F9*F15+$
                                      F8*F16+F7*F17)-$
           RG(1)*EPKE*(F2+F4+F6+F8+F10+F14+F16)*F12
COVAL(MIX,F12, FIXFLU,GRND)
         * Fluid 13
   VAL=2.*RG(1)*EPKE*(F12*F14+F11*F15+$
                              F10*F16+F9*F17)-$
           RG(1)*EPKE*(F1+F3+F5+F7+F9+F11+F15+F17)*F13
COVAL(MIX,F13, FIXFLU,GRND)
         * Fluid 14
   VAL=2.*RG(1)*EPKE*(F13*F15+F12*F16+F11*F17)-$
           RG(1)*EPKE*(F2+F4+F6+F8+F10+F12+F16)*F14
COVAL(MIX,F14, FIXFLU,GRND)
         * Fluid 15
   VAL=2.*RG(1)*EPKE*(F14*F16+F13*F17)-$
           RG(1)*EPKE*(F1+F3+F5+F7+F9+F11+F13+F17)*F15
COVAL(MIX,F15, FIXFLU,GRND)
         * Fluid 16
   VAL=2.*RG(1)*EPKE*(F15*F17)-$
           RG(1)*EPKE*(F2+F4+F6+F8+F10+F12+F14)*F16
COVAL(MIX,F16, FIXFLU,GRND)
         * Fluid 17
   CO=RG(1)*EPKE*(F1+F3+F5+F7+F9+F11+F13+F15)
COVAL(MIX,F17  , GRND  ,0.0 )

  ** Output calculations
     FAV - averaged mass fraction;
     FSUM - sum of fluid mass fractions;

STORE(FAV,FSUM)
   FAV= RG(51)*F1 + RG(52)*F2 + RG(53)*F3 +$
                RG(54)*F4 + RG(55)*F5 + RG(56)*F6 +$
                RG(57)*F7 + RG(58)*F8 + RG(59)*F9 +$
                  RG(60)*F10+RG(61)*F11+RG(62)*F12+$
                  RG(63)*F13+RG(64)*F14+RG(65)*F15+$
                  RG(66)*F16+RG(67)*F17

   FSUM=F1+F2+F3+F4+F5+F6+F7+F8+F9+F10+F11+F12+$
                F13+F14+F15+F16+F17
STORE(FUEL)
VARMIN(FUEL)=0.; VARMAX(FUEL)=1.
   FUEL=RG(31)*F1+RG(32)*F2+RG(33)*F3+$
                RG(34)*F4+RG(35)*F5+RG(36)*F6+$
                RG(37)*F7+RG(38)*F8+RG(39)*F9+$
                        RG(40)*F10+RG(41)*F11+$
                        RG(42)*F12+RG(43)*F13+$
                        RG(44)*F14+RG(45)*F15+$
                        RG(46)*F16+RG(47)*F17
STORE(OXID)
   OXID=RG(11)*F1+RG(12)*F2+RG(13)*F3+$
                RG(14)*F4+RG(15)*F5+RG(16)*F6+$
                RG(17)*F7+RG(18)*F8+RG(19)*F9+$
                        RG(20)*F10+RG(21)*F11+$
                        RG(22)*F12+RG(23)*F13+$
                        RG(24)*F14+RG(25)*F15+$
                        RG(26)*F16+RG(27)*F17

   TEMP=RG(71)*F1+RG(72)*F2+RG(73)*F3+$
                RG(74)*F4+RG(75)*F5+RG(76)*F6+$
                RG(77)*F7+RG(78)*F8+RG(79)*F9+$
                        RG(80)*F10+RG(81)*F11+$
                        RG(82)*F12+RG(83)*F13+$
                        RG(84)*F14+RG(85)*F15+$
                        RG(86)*F16+RG(87)*F17
   PROD=1.-OXID-FUEL
STOP