TALK=F;RUN( 1, 1)
 
 ************************************************************
   Q1 created by VDI menu, Version 2009, Date 17/02/09
 CPVNAM=VDI;SPPNAM=Core
 ************************************************************
  Echo DISPLAY / USE settings
  DISPLAY
    Couette flow with Exact solution
    Nu = NU0/(1+2*kNU*Y/LY)
    U(Y) = 1/(1+kNU)*(Y/LY)*(1+kNU*(Y/LY))
  ENDDIS
 ************************************************************
 IRUNN = 1 ;LIBREF = 999
 ************************************************************
  Group 1. Run Title
 TEXT(Couette Flow with Exact solution )
 
 ************************************************************
  Group 2. Transience
 STEADY = T
 ************************************************************
  Groups 3, 4, 5  Grid Information
    * Overall number of cells, RSET(M,NX,NY,NZ,tolerance)
 RSET(M,10,10,1)
 ************************************************************
  Group 6. Body-Fitted coordinates
 ************************************************************
  Group 7. Variables: STOREd,SOLVEd,NAMEd
    * Non-default variable names
 NAME(149)=ENUL ;NAME(150)=PRPS
    * Solved variables list
 SOLVE(P1,U1,V1)
    * Stored variables list
 STORE(PRPS,ENUL)
    * Additional solver options
 SOLUTN(P1,Y,Y,Y,N,N,Y)
 
 ************************************************************
  Echo save-block settings for Group  7
  
   **** Select caseNO ***** 
integer(caseno)
caseno=1
mesg(caseno=1: UnStructured Phoenics
mesg(caseno=2: Structured Phoenics
mesgm(caseno = :caseno: . Enter another if you want (1/2):
readvdu(caseno, int, 1)
if(:caseno:.LT.1.or.:caseno:.gt.2) then
caseno=1
endif
caseno
  SAVE7BEGIN
REAL(LX,LY,LZ,CN00) 
 LX = 2
 LY = 1
 LZ = 0.1
   **** Set Nu0,kNU ***** 
 real(kNU,NU00,RE00)
 kNU = 2
 NU00 = 0.01
 RE00 = 1/NU00
 kNU
 NU00
 RE00 

CN00 = 1/(1+kNU)
(STORED VAR U_TH IS :CN00:*(YG/:LY:)*(1+kNU*(YG/:LY:)) )
(STORED VAR DU1 IS U1-U_TH)
 
(property enul is :NU00:/(1+2*kNU*YG/:LY:))

  SAVE7END
 
IF(caseno.NE.2) THEN         ! USP

INTEGER(LEVEL)
LEVEL = 0
mesg(Level of refinement is :LEVEL:
mesg(Do you want to change it? (y/n)
readvdu(ans,char,n)
if(:ans:.eq.y)then
 mesg(Enter level of refinement
 readvdu(LEVEL,int,LEVEL)
 mesg(New level of refinement is :LEVEL:
endif

 USP = T ; USPDBG= F
 UTCPLT = T ; USPIMB= F
 UAUTO = T ; UGTGRD= F
 USPVTK = T ; USPTER= F
 USCANX = T ; USCANY= T
 USCANZ = T
 DOMAT = -1
 CELLST = 20 ; FACEST= 20
 MINPRP = -1 ; MAXPRP= 250
 UMXLEV = LEVEL ; UMXCLS= 10000
 UNOLAY = 2 ; UIOLEV= 0
 UWALEV = LEVEL ; UGRITR= 5
 UMXCRS = 16

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

ENDIF
 ************************************************************
  Group 8. Terms & Devices
 ************************************************************
  Group 9. Properties
 RHO1 =1.
 ENUL =1.
 CP1 =1.
 ENUT =0.
 ************************************************************
  Group 10.Inter-Phase Transfer Processes
 ************************************************************
  Group 11.Initialise Var/Porosity Fields
 FIINIT(ENUL)=1.001E-10 ;FIINIT(PRPS)=-1.

 INIADD = F
 ************************************************************
  Group 12. Convection and diffusion adjustments
   No PATCHes used for this Group
 ************************************************************
  Group 13. Boundary & Special Sources
   No PATCHes used for this Group
  SAVE13BEGIN

 (SOURCE of P1 at LEFT_IN is COVAL(FIXFLU,U_TH)!AREA) 
 (SOURCE of U1 at LEFT_IN is COVAL(ONLYMS,U_TH)!AREA) 
 (SOURCE of V1 at LEFT_IN is COVAL(ONLYMS,0)!AREA) 
 (SOURCE of U1 at FIX_WALL is COVAL(1,0)!AREA) 
 (SOURCE of U1 at MOV_WALL is COVAL(1,1)!AREA) 

   SAVE13END
 
 EGWF = T
 ************************************************************
  Group 14. Downstream Pressure For PARAB
 ************************************************************
  Group 15. Terminate Sweeps
 LSWEEP = 500
 RESFAC =1.0E-05
 ************************************************************
  Group 16. Terminate Iterations
 ************************************************************
  Group 17. Relaxation
IF(caseno.NE.2) THEN
 RELAX(P1 ,LINRLX,0.8 )
 RELAX(U1 ,FALSDT,1.0E+05 )
 RELAX(V1 ,FALSDT,1.0E+05 )
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)
 RELAX(P1  ,LINRLX, 0.3)
 RELAX(U1  ,FALSDT, 1.E-01)
 RELAX(V1  ,FALSDT, 1.E-01)
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

ELSE
 RELAX(P1 ,LINRLX,1 )
 RELAX(U1 ,FALSDT,1.0E+05 )
 RELAX(V1 ,FALSDT,1.0E+05 )
 SPEDAT(SET,OUTPUT,VTK,C,YES)
ENDIF

 ************************************************************
  Group 18. Limits
 ************************************************************
  Group 19. EARTH Calls To GROUND Station
 ************************************************************
  Group 20. Preliminary Printout
 ************************************************************
  Group 21. Print-out of Variables
 ************************************************************
  Group 22. Monitor Print-Out
 IXMON = 5 ;IYMON = 20 ;IZMON = 1
 NPRMON = 100000
 NPRMNT = 1
 TSTSWP = -1
 NXPRIN=1; NYPRIN=1
 ************************************************************
  Group 23.Field Print-Out & Plot Control
 NPRINT = 100000
 ISWPRF = 1 ;ISWPRL = 100000
 ITABL = 2
 NYPRIN=1
   No PATCHes used for this Group
 ************************************************************
  Group 24. Dumps For Restarts
 
 GVIEW(P,0.,0.,1.)
 GVIEW(UP,0.,1.,0.)
 
> DOM,    SIZE,        LX, LY, LZ
> DOM,    MONIT,       0.9, 0.975, 0.05
> DOM,    SCALE,       1.000000E+00, 1.000000E+00, 1.000000E+00
> DOM,    INCREMENT,   1.000000E-02, 1.000000E-02, 1.000000E-02
> GRID,   BOUNDS,       F F F F F F
  > GRID,   RSET_X_1,    10, 1.000000E+00
  > GRID,   RSET_Y_1,    10, 1.000000E+00
  > GRID,   RSET_Z_1,      1, 1.000000E+00
> DOM,    T_AMBIENT,   0.000000E+00
 
> OBJ,    NAME,        FIX_WALL
> OBJ,    POSITION,    0.000000E+00, 0.000000E+00, 0.000000E+00
> OBJ,    SIZE,        LX, 0.000000E+00, LZ
> OBJ,    GEOMETRY,    cube11
> OBJ,    TYPE,        PLATE
 
> OBJ,    NAME,        MOV_WALL
> OBJ,    POSITION,    0.000000E+00, LY, 0.000000E+00
> OBJ,    SIZE,        LX, 0.000000E+00, LZ
> OBJ,    GEOMETRY,    cube11
> OBJ,    TYPE,        PLATE
 
> OBJ,    NAME,        LEFT_IN
> OBJ,    POSITION,    0.000000E+00, 0.000000E+00, 0.000000E+00
> OBJ,    SIZE,        0.000000E+00, LY, LZ
> OBJ,    GEOMETRY,    cube3t
> OBJ,    TYPE,        INLET
 
> OBJ,    NAME,        RIGHT_IN
> OBJ,    POSITION,    LX, 0.000000E+00, 0.000000E+00
> OBJ,    SIZE,        0.000000E+00, LY, LZ
> OBJ,    GEOMETRY,    cube12t
> OBJ,    TYPE,        OUTLET
> OBJ,    PRESSURE,    0.
> OBJ,    COEFFICIENT, 1000.

STOP