TALK=F;RUN( 1, 1)
 
 ************************************************************
   Q1 created by VDI menu, Version 3.6, Date 31/01/06
 CPVNAM=VDI;SPPNAM=Core
 ************************************************************
  Echo DISPLAY / USE settings
   DISPLAY
  This case involves steady, turbulent flow over a backward-facing
  step, of height h, in a two-dimensional channel of width 3*h.
  The calculations are started at a distance 4h upstream of the step
  and terminated at a distance 16h downstream.
 
    //////////////////////// wall ///////////////////////
    -----------------------------------------------------
                                                           Pressure
  Inlet  ------->                              --------->  fixed at
                                                           zero
   /________________
  | ////////////////|                                  Exit
  |       wall     /| Recirculation
  |                /|  <----                ----->
   \ constant      /|____________________________________
  prescribed mass  //////////////////////////////////////
  inflow rate                        wall

  Please, set variable caseno from 1 to 4.
  Case 1 has uniform grid
  Case 2 has one level of coarsening and grid finer than case 1.
  Case 3 has two levels of coarsening and grid finer than case 2.
  Case 3 has three levels of coarsening and grid finer than case 3.
  ENDDIS
  Group 1. Run Title
 TEXT(USP. Laminar flow over step.
 
 
  Groups 3, 4, 5  Grid Information
    * Overall number of cells, RSET(M,NX,NY,NZ,tolerance)
 integer(caseno,LEVEL)
 caseno = 1
if(caseno.eq.1)then
      coarsen variant of grid
 NX = 20
 NY = 15
endif
if(caseno.eq.2)then
 NX = 40
 NY = 30
endif
if(caseno.eq.3)then
 NX = 80
 NY = 60
endif
if(caseno.eq.4)then
 NX = 160
 NY = 120
endif
NZ = 1

LEVEL = caseno-1
 mesg(Level of coarsening is :LEVEL:

 RSET(D,DOM,0.8,0.12,1.)
 
 integer(stnx,stny)
 stnx = 4; stny= 3
 real(STLEN,STH)
 STLEN = XULAST*STNX/NX
 STH = YVLAST*STNY/NY
 
  Group 7. Variables: STOREd,SOLVEd,NAMEd
 NAME(150) =PRPS
    * Solved variables list
 SOLVE(P1  ,U1  ,V1  )
    * Stored variables list
 STORE(PRPS)
    * Additional solver options
 SOLUTN(P1  ,Y,Y,Y,N,N,N)


      Usp related variables
USP    = T
UAUTO  = F
USPDBG = F 
UTCPLT = T
USPVTK = T
USPIMB = F
MXLEV  = 4 
MYLEV  = 4 
MZLEV  = 4
DOMAT  = -1
MINPRP = -1
MAXPRP = 100
CELLST = 10
FACEST = 10
PARSOL = F
 
  Group 9. Properties
 REAL(Uin,RE)
 Uin=0.1
 RHO1    = 1.000000E+00
 ENUL    = 1.E-05
 RE = Uin*YVLAST/ENUL
 mesg(Reynolds number is :RE:
 mesg(DO you want to change it (y/n)?
 readvdu(ans,char,n)
 if(:ans:.eq.y)then
 mesg(Enter new Reynolds number
 readvdu(RE,real,RE)
 Uin = RE*ENUL/YVLAST
 mesg(New Reynolds number is :RE:
 mesg(New velocity is :Uin: m/s
 endif

  Group 11.Initialise Var/Porosity Fields
 FIINIT(PRPS) = -1.000000E+00
 
 PATCH(BLK,INIVAL,1,NX/stnx,1,NY/stny,1,1,1,1)
 COVAL(BLK,PRPS, 0., 198.)
 
  Group 13. Boundary & Special Sources

 PATCH(INL,WEST,1,1,NY/stny+1,NY,1,1,1,1)
 COVAL(INL,P1, FIXFLU, Uin*RHO1)
 COVAL(INL,U1, ONLYMS, Uin)
 COVAL(INL,V1, ONLYMS, 0.)
 
 PATCH(OUT,EAST,NX,NX,1,NY,1,1,1,1)
 COVAL(OUT,P1, 1.E+07, 0.)
 
 PATCH(UPW,NWALL ,1,NX,NY,NY,1,1,1,1)
 COVAL(UPW,U1,1., 0.)
 
 PATCH(DNW,SWALL,NX/stnx+1,NX,1,1,1,1,1,1)
 COVAL(DNW,U1, 1., 0.)
  
  Group 15. Terminate Sweeps
 LSWEEP  =      2500
 RESFAC  = 1.000000E-07
 
  Group 17. Relaxation
if(caseno.eq.1)then
      coarsen variant of grid
 RELAX(P1  ,LINRLX, 8.000000E-01)
 RELAX(U1  ,FALSDT, 1.000000E-00)
 RELAX(V1  ,FALSDT, 1.000000E-00)
endif
if(caseno.eq.2)then
 RELAX(P1  ,LINRLX, 8.000000E-01)
 RELAX(U1  ,FALSDT, 1.000000E-00)
 RELAX(V1  ,FALSDT, 1.000000E-00)
endif
if(caseno.eq.3)then
 RELAX(P1  ,LINRLX, 3.000000E-01)
 RELAX(U1  ,FALSDT, 3.000000E-02)
 RELAX(V1  ,FALSDT, 3.000000E-02)
endif
if(caseno.eq.4)then
 RELAX(P1  ,LINRLX, 2.000000E-01)
 RELAX(U1  ,FALSDT, 1.000000E-02)
 RELAX(V1  ,FALSDT, 1.000000E-02)
endif

mesg(Do you want to use collocated arrangement (y) or staggered one (n)? (y/n)
readvdu(ans,char,n)
if(:ans:.eq.y)then
SPEDAT(SET,USP,METHOD,I,1)
if(caseno.eq.1)then
      coarsen variant of grid
 RELAX(P1  ,LINRLX, 4.000000E-01)
 RELAX(U1  ,FALSDT, 1.000000E-00)
 RELAX(V1  ,FALSDT, 1.000000E-00)
endif
if(caseno.eq.2)then
 RELAX(P1  ,LINRLX, 2.000000E-01)
 RELAX(U1  ,FALSDT, 1.000000E-00)
 RELAX(V1  ,FALSDT, 1.000000E-00)
endif
if(caseno.eq.3)then
 RELAX(P1  ,LINRLX, 2.000000E-01)
 RELAX(U1  ,FALSDT, 3.000000E-02)
 RELAX(V1  ,FALSDT, 3.000000E-02)
endif
if(caseno.eq.4)then
 RELAX(P1  ,LINRLX, 1.000000E-01)
 RELAX(U1  ,FALSDT, 1.000000E-02)
 RELAX(V1  ,FALSDT, 1.000000E-02)
 LSWEEP = 5000
endif
mesg(Do you want to use SIMPLEST (y) or SIMPLE (n)? (y/n)
readvdu(ans,char,n)
if(:ans:.eq.y)then
 SPEDAT(SET,USP,SIMPLEST,L,T)
endif

endif
  
  Group 20. Preliminary Printout
 ECHO    =    T
 
  Group 22. Monitor Print-Out
 IXMON   =         (stnx+NX)/2  ;IYMON  =    stny/2 ;IZMON  =         1
 NPRMON  =       100
 NPRMNT  =         1
 TSTSWP  =        -1

mesg(Do you want to use max&min(y) on monitor instead of default(n)? (y/n)
readvdu(ans,char,n)
if(:ans:.eq.y)then
#maxmin
endif

mesg(Do you want to view results in the centres of cells? (y/n)
readvdu(ans,char,n)
if(:ans:.eq.y)then
SPEDAT(SET,USPIO,VERTCENT,L,F)
endif


  Group 23.Field Print-Out & Plot Control
 NPRINT  =    100000
 IPLTF   =         1 ;IPLTL  =       100
 NPLT    =         1
 ISWPRF  =         1 ;ISWPRL =    100000
 ITABL   =         1

> DOM,    SIZE,        8.000000E-01, 1.200000E-01, 1.000000E+00
> DOM,    MONIT,       5.000000E-01, 6.000000E-02, 1.000000E+00
> DOM,    SCALE,       1.000000E+00, 1.000000E+00, 1.000000E+00
> DOM,    SNAPSIZE,    1.000000E-02


if(caseno.eq.2)then
> OBJ,    NAME,        B1
> OBJ,    POSITION,    0.000000E+00, 0.000000E+00, 0.000000E+00
> OBJ,    SIZE,        8.000000E-02, 8.800000E-02, 1.000000E+00
> OBJ,    GEOMETRY,    fine
> OBJ,    ROTATION24,        1
> OBJ,    TYPE,        FINE_GRID_VOL
> OBJ,    LEVELS,       0.000000E+00, 0.000000E+00, 0.000000E+00
> OBJ,    AXES,        IXY

> OBJ,    NAME,        B2
> OBJ,    POSITION,    6.800000E-01, 0.000000E+00, 0.000000E+00
> OBJ,    SIZE,        1.200000E-01, 8.800000E-02, 1.000000E+00
> OBJ,    GEOMETRY,    fine
> OBJ,    ROTATION24,        1
> OBJ,    TYPE,        FINE_GRID_VOL
> OBJ,    LEVELS,       0.000000E+00, 0.000000E+00, 0.000000E+00
> OBJ,    AXES,        IXY

> OBJ,    NAME,        B3
> OBJ,    POSITION,    0.000000E+00, 8.800000E-02, 0.000000E+00
> OBJ,    SIZE,        8.000000E-01, 3.200000E-02, 1.000000E+00
> OBJ,    GEOMETRY,    fine
> OBJ,    ROTATION24,        1
> OBJ,    TYPE,        FINE_GRID_VOL
> OBJ,    LEVELS,       0.000000E+00, 0.000000E+00, 0.000000E+00
> OBJ,    AXES,        IXY
endif

if(caseno.eq.3)then
> OBJ,    NAME,        B1
> OBJ,    POSITION,    0.000000E+00, 0.000000E+00, 0.000000E+00
> OBJ,    SIZE,        1.200000E-01, 8.000000E-02, 1.000000E+00
> OBJ,    GEOMETRY,    fine
> OBJ,    ROTATION24,        1
> OBJ,    TYPE,        FINE_GRID_VOL
> OBJ,    LEVELS,       0.000000E+00, 0.000000E+00, 0.000000E+00
> OBJ,    AXES,        IXY

> OBJ,    NAME,        B2
> OBJ,    POSITION,    6.000000E-01, 0.000000E+00, 0.000000E+00
> OBJ,    SIZE,        2.000000E-01, 8.000000E-02, 1.000000E+00
> OBJ,    GEOMETRY,    fine
> OBJ,    ROTATION24,        1
> OBJ,    TYPE,        FINE_GRID_VOL
> OBJ,    LEVELS,       0.000000E+00, 0.000000E+00, 0.000000E+00
> OBJ,    AXES,        IXY

> OBJ,    NAME,        B3
> OBJ,    POSITION,    0.000000E+00, 8.000000E-02, 0.000000E+00
> OBJ,    SIZE,        8.000000E-01, 4.000000E-02, 1.000000E+00
> OBJ,    GEOMETRY,    fine
> OBJ,    ROTATION24,        1
> OBJ,    TYPE,        FINE_GRID_VOL
> OBJ,    LEVELS,       0.000000E+00, 0.000000E+00, 0.000000E+00
> OBJ,    AXES,        IXY

> OBJ,    NAME,        B4
> OBJ,    POSITION,    0.000000E+00, 0.000000E+00, 0.000000E+00
> OBJ,    SIZE,        8.000000E-02, 8.800000E-02, 1.000000E+00
> OBJ,    GEOMETRY,    fine
> OBJ,    ROTATION24,        1
> OBJ,    TYPE,        FINE_GRID_VOL
> OBJ,    LEVELS,       1.000000E+00, 1.000000E+00, 0.000000E+00
> OBJ,    AXES,        IXY

> OBJ,    NAME,        B5
> OBJ,    POSITION,    6.800000E-01, 0.000000E+00, 0.000000E+00
> OBJ,    SIZE,        1.200000E-01, 8.800000E-02, 1.000000E+00
> OBJ,    GEOMETRY,    fine
> OBJ,    ROTATION24,        1
> OBJ,    TYPE,        FINE_GRID_VOL
> OBJ,    LEVELS,       1.000000E+00, 1.000000E+00, 0.000000E+00
> OBJ,    AXES,        IXY

> OBJ,    NAME,        B6
> OBJ,    POSITION,    0.000000E+00, 8.800000E-02, 0.000000E+00
> OBJ,    SIZE,        8.000000E-01, 3.200000E-02, 1.000000E+00
> OBJ,    GEOMETRY,    fine
> OBJ,    ROTATION24,        1
> OBJ,    TYPE,        FINE_GRID_VOL
> OBJ,    LEVELS,       1.000000E+00, 1.000000E+00, 0.000000E+00
> OBJ,    AXES,        IXY
endif

if(caseno.eq.4)then
> OBJ,    NAME,        B1
> OBJ,    POSITION,    0.000000E+00, 0.000000E+00, 0.000000E+00
> OBJ,    SIZE,        1.400000E-01, 7.600000E-02, 1.000000E+00
> OBJ,    GEOMETRY,    fine
> OBJ,    ROTATION24,        1
> OBJ,    TYPE,        FINE_GRID_VOL
> OBJ,    LEVELS,       0.000000E+00, 0.000000E+00, 0.000000E+00
> OBJ,    AXES,        IXY

> OBJ,    NAME,        B2
> OBJ,    POSITION,    5.400000E-01, 0.000000E+00, 0.000000E+00
> OBJ,    SIZE,        2.600000E-01, 7.600000E-02, 1.000000E+00
> OBJ,    GEOMETRY,    fine
> OBJ,    ROTATION24,        1
> OBJ,    TYPE,        FINE_GRID_VOL
> OBJ,    LEVELS,       0.000000E+00, 0.000000E+00, 0.000000E+00
> OBJ,    AXES,        IXY

> OBJ,    NAME,        B3
> OBJ,    POSITION,    0.000000E+00, 7.600000E-02, 0.000000E+00
> OBJ,    SIZE,        8.000000E-01, 4.400000E-02, 1.000000E+00
> OBJ,    GEOMETRY,    fine
> OBJ,    ROTATION24,        1
> OBJ,    TYPE,        FINE_GRID_VOL
> OBJ,    LEVELS,       0.000000E+00, 0.000000E+00, 0.000000E+00
> OBJ,    AXES,        IXY

> OBJ,    NAME,        B4
> OBJ,    POSITION,    0.000000E+00, 0.000000E+00, 0.000000E+00
> OBJ,    SIZE,        1.200000E-01, 8.000000E-02, 1.000000E+00
> OBJ,    GEOMETRY,    fine
> OBJ,    ROTATION24,        1
> OBJ,    TYPE,        FINE_GRID_VOL
> OBJ,    LEVELS,       1.000000E+00, 1.000000E+00, 0.000000E+00
> OBJ,    AXES,        IXY

> OBJ,    NAME,        B5
> OBJ,    POSITION,    6.000000E-01, 0.000000E+00, 0.000000E+00
> OBJ,    SIZE,        2.000000E-01, 8.000000E-02, 1.000000E+00
> OBJ,    GEOMETRY,    fine
> OBJ,    ROTATION24,        1
> OBJ,    TYPE,        FINE_GRID_VOL
> OBJ,    LEVELS,       1.000000E+00, 1.000000E+00, 0.000000E+00
> OBJ,    AXES,        IXY

> OBJ,    NAME,        B6
> OBJ,    POSITION,    0.000000E+00, 8.000000E-02, 0.000000E+00
> OBJ,    SIZE,        8.000000E-01, 4.000000E-02, 1.000000E+00
> OBJ,    GEOMETRY,    fine
> OBJ,    ROTATION24,        1
> OBJ,    TYPE,        FINE_GRID_VOL
> OBJ,    LEVELS,       1.000000E+00, 1.000000E+00, 0.000000E+00
> OBJ,    AXES,        IXY

> OBJ,    NAME,        B7
> OBJ,    POSITION,    0.000000E+00, 0.000000E+00, 0.000000E+00
> OBJ,    SIZE,        8.000000E-02, 8.800000E-02, 1.000000E+00
> OBJ,    GEOMETRY,    fine
> OBJ,    ROTATION24,        1
> OBJ,    TYPE,        FINE_GRID_VOL
> OBJ,    LEVELS,       2.000000E+00, 2.000000E+00, 0.000000E+00
> OBJ,    AXES,        IXY

> OBJ,    NAME,        B8
> OBJ,    POSITION,    6.800000E-01, 0.000000E+00, 0.000000E+00
> OBJ,    SIZE,        1.200000E-01, 8.800000E-02, 1.000000E+00
> OBJ,    GEOMETRY,    fine
> OBJ,    ROTATION24,        1
> OBJ,    TYPE,        FINE_GRID_VOL
> OBJ,    LEVELS,       2.000000E+00, 2.000000E+00, 0.000000E+00
> OBJ,    AXES,        IXY

> OBJ,    NAME,        B9
> OBJ,    POSITION,    0.000000E+00, 8.800000E-02, 0.000000E+00
> OBJ,    SIZE,        8.000000E-01, 3.200000E-02, 1.000000E+00
> OBJ,    GEOMETRY,    fine
> OBJ,    ROTATION24,        1
> OBJ,    TYPE,        FINE_GRID_VOL
> OBJ,    LEVELS,       2.000000E+00, 2.000000E+00, 0.000000E+00
> OBJ,    AXES,        IXY
endif
STOP