TALK=T;RUN(1,1)
  DISPLAY
  The submarine part of a floating body sits in the domain of
  integration, which extends from the water surface to the bottom.
  The z coordinate is vertically downwards. The water flows in the
  positive x-direction around, & under the body. In this first case
  the flow is treated as incompressible, to contrast with the
  following case in which compressibility is introduced throughout
  the domain so as to simulate the surface waves. The model cases
  are subsequently refined in various ways.
    The results of the calculations resulting from the inputs
  in this and subsequent cases in this section, together with
  background information are in the paper entitled 'The Computation
  of Flow around Ships with Allowance for Free-Surface and
  Density-Gradient Effects' by D Brian Spalding in the
  Proceedings of the First Intercontinental Symposium on
  Maritime Simulation (June 1985).
  ENDDIS
  DISPLAY
  Shallow water theory is invoked in this case to emulate the
  surface waves. This theory recognizes the analogy with the
  isentropic flow of an ideal gas with a ratio of principal
  specific heats of 2. RHO1=COMPRESS activates the isentropic gas
  law formula in GREX3.
  ENDDIS
  PHOTON USE
  p
  phi


  view -0.4 1 1
  norm
  msg        FLOW AROUND FLOATING BODY WITH RIGID SURFACE
  msg
  msg   Pressure contours:
  con p1 y 1 fi;.001
  con p1 z 1 fi;.001
  gr ou y 1;gr ou z 1
  con p1 x 4 fi;.001
  con p1 x 7 fi;.001
  msg
  msg Press  to continue
  pause
  *cl
  *msg        Axial velocity contours:
  *con u1 y 1 fi;.001
  *con u1 z 1 fi;.001
  *gr ou y 1;gr ou z 1
  *con u1 x 4 fi;.001
  *con u1 x 7 fi;.001
  *msg
  *msg Press  to continue
  *pause
  cl
  msg        Velocity vectors:
  vec y 1 sh;vec z 1 sh
  gr ou y 1;gr ou z 1
  msg
  msg Press e to END
  enduse
 ************************************************************
  Group 1. Run Title and Number
 ************************************************************
 ************************************************************
 
 TEXT(Variable Porosity, 3D                   )
 
 ************************************************************
 ************************************************************
 
 IRUNN = 1 ;LIBREF = 457
 ************************************************************
  Group 2. Time dependence
 STEADY = T
 ************************************************************
  Group 3. X-Direction Grid Spacing
 CARTES = T
 NX = 15
 XULAST =15.
 XFRAC(1)=0.066667 ;XFRAC(2)=0.133333
 XFRAC(3)=0.2 ;XFRAC(4)=0.266667
 XFRAC(5)=0.333333 ;XFRAC(6)=0.4
 XFRAC(7)=0.466667 ;XFRAC(8)=0.533333
 XFRAC(9)=0.6 ;XFRAC(10)=0.666667
 XFRAC(11)=0.733333 ;XFRAC(12)=0.8
 XFRAC(13)=0.866667 ;XFRAC(14)=0.933333
 XFRAC(15)=1.
 ************************************************************
  Group 4. Y-Direction Grid Spacing
 NY = 10
 YVLAST =5.
 YFRAC(1)=0.1 ;YFRAC(2)=0.2
 YFRAC(3)=0.3 ;YFRAC(4)=0.4
 YFRAC(5)=0.5 ;YFRAC(6)=0.6
 YFRAC(7)=0.7 ;YFRAC(8)=0.8
 YFRAC(9)=0.9 ;YFRAC(10)=1.
 ************************************************************
  Group 5. Z-Direction Grid Spacing
 PARAB = F
 NZ = 5
 ZWLAST =2.5
 ZFRAC(1)=0.2 ;ZFRAC(2)=0.4
 ZFRAC(3)=0.6 ;ZFRAC(4)=0.8
 ZFRAC(5)=1.
 ************************************************************
  Group 6. Body-Fitted Coordinates
 ************************************************************
  Group 7. Variables: STOREd,SOLVEd,NAMEd
 ONEPHS = T
 NAME(1)=P1 ;NAME(3)=U1
 NAME(5)=V1 ;NAME(7)=W1
 NAME(145)=PRPS ;NAME(146)=HPOR
 NAME(147)=NPOR ;NAME(148)=EPOR
 NAME(149)=VPOR ;NAME(150)=RHO1
    * Y in SOLUTN argument list denotes:
    * 1-stored 2-solved 3-whole-field
    * 4-point-by-point 5-explicit 6-harmonic averaging 
 SOLUTN(P1,Y,Y,Y,N,N,N)
 SOLUTN(U1,Y,Y,N,Y,N,Y)
 SOLUTN(V1,Y,Y,N,Y,N,Y)
 SOLUTN(W1,Y,Y,N,Y,N,Y)
 SOLUTN(PRPS,Y,N,N,N,N,N)
 SOLUTN(HPOR,Y,N,N,N,N,Y)
 SOLUTN(NPOR,Y,N,N,N,N,Y)
 SOLUTN(EPOR,Y,N,N,N,N,Y)
 SOLUTN(VPOR,Y,N,N,N,N,N)
 SOLUTN(RHO1,Y,N,N,N,N,Y)
 DEN1 = 150
 EPOR = 148 ;HPOR = 146 ;NPOR = 147 ;VPOR = 149
 PRPS = 145
 ************************************************************
  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         
 TERMS(P1,Y,Y,Y,N,Y,Y)
 TERMS(U1,Y,Y,Y,Y,Y,Y)
 TERMS(V1,Y,Y,Y,Y,Y,Y)
 TERMS(W1,Y,Y,Y,Y,Y,Y)
 DIFCUT =0.5 ;ZDIFAC =1.
 GALA = F ;ADDDIF = F
 ISOLX = 1 ;ISOLY = 1 ;ISOLZ = 1
 ************************************************************
  Group 9. Properties used if PRPS is not
  stored, and where PRPS = -1.0 if it is!
 RHO1 =1. ;TMP1 =0.
 EL1 =0.
 TSURR =0. ;TEMP0 =0.
 PRESS0 =1.0E+06
 DVO1DT =0. ;DRH1DP =1.
 EMISS =0. ;SCATT =0.
 RADIA =0. ;RADIB =0.
 ENUL =1.0E-05 ;ENUT =0.
 PRNDTL(U1)=1. ;PRNDTL(V1)=1.
 PRNDTL(W1)=1.
 PRT(U1)=1. ;PRT(V1)=1.
 PRT(W1)=1.
 CP1 =1. ;CP2 =1.
 ************************************************************
  Group 10.Inter-Phase Transfer Processes
 ************************************************************
  Group 11.Initial field variables (PHIs)
 FIINIT(P1)=0. ;FIINIT(U1)=1.
 FIINIT(V1)=0. ;FIINIT(W1)=0.
 FIINIT(PRPS)=-1. ;FIINIT(HPOR)=1.
 FIINIT(NPOR)=1. ;FIINIT(EPOR)=1.
 FIINIT(VPOR)=1. ;FIINIT(RHO1)=1.
 
 PATCH(BODY ,INIVAL, 4, 7, 1, 2, 1, 3, 1, 1)
 INIT(BODY ,PRPS,0. ,199. )
 INIADD = F
 FSWEEP = 1
 NAMFI =CHAM
 ************************************************************
  Group 12. Patchwise adjustment of terms
  Patches for this group are printed with those
  for Group 13.
  Their names begin either with GP12 or &
 ************************************************************
  Group 13. Boundary & Special Sources
 
 PATCH(UPSTRM ,WEST , 1, 1, 1, 10, 1, 5, 1, 1)
 COVAL(UPSTRM ,P1 , FIXFLU ,1. )
 COVAL(UPSTRM ,U1 ,0. ,1. )
 COVAL(UPSTRM ,V1 ,0. ,0. )
 COVAL(UPSTRM ,W1 ,0. ,0. )
 
 PATCH(DWNSTRM ,EAST , 15, 15, 1, 10, 1, 5, 1, 1)
 COVAL(DWNSTRM ,P1 , FIXVAL ,0. )
 COVAL(DWNSTRM ,U1 ,0. ,0. )
 COVAL(DWNSTRM ,V1 ,0. ,0. )
 COVAL(DWNSTRM ,W1 ,0. ,0. )
 XCYCLE = F
 EGWF = T
 WALLCO = GRND2
 ************************************************************
  Group 14. Downstream Pressure For PARAB
 ************************************************************
  Group 15. Terminate Sweeps
 LSWEEP = 5 ;ISWC1 = 1
 LITHYD = 1 ;LITFLX = 1 ;LITC = 1 ;ITHC1 = 1
 SELREF = T
 RESFAC =1.0E-02
 ************************************************************
  Group 16. Terminate Iterations
 LITER(P1)=-20 ;LITER(U1)=10
 LITER(V1)=10 ;LITER(W1)=10
 ENDIT(P1)=1.0E-03 ;ENDIT(U1)=1.0E-03
 ENDIT(V1)=1.0E-03 ;ENDIT(W1)=1.0E-03
 ************************************************************
  Group 17. Relaxation
 RELAX(P1,LINRLX,1.)
 RELAX(U1,FALSDT,1.)
 RELAX(V1,FALSDT,1.)
 RELAX(W1,FALSDT,1.)
 RELAX(PRPS,LINRLX,1.)
 RELAX(RHO1,LINRLX,0.25)
 OVRRLX =0.
 EXPERT = F ;NNORSL = F
 ************************************************************
  Group 18. Limits
 VARMAX(P1)=1.0E+10 ;VARMIN(P1)=-0.9
 VARMAX(U1)=1.0E+06 ;VARMIN(U1)=-1.0E+06
 VARMAX(V1)=1.0E+06 ;VARMIN(V1)=-1.0E+06
 VARMAX(W1)=2.0E-03 ;VARMIN(W1)=-1.0E+11
 VARMAX(PRPS)=1.0E+10 ;VARMIN(PRPS)=-1.0E+10
 VARMAX(HPOR)=1.0E+10 ;VARMIN(HPOR)=-1.0E+10
 VARMAX(NPOR)=1.0E+10 ;VARMIN(NPOR)=-1.0E+10
 VARMAX(EPOR)=1.0E+10 ;VARMIN(EPOR)=-1.0E+10
 VARMAX(VPOR)=1.0E+10 ;VARMIN(VPOR)=-1.0E+10
 VARMAX(RHO1)=2. ;VARMIN(RHO1)=0.5
 ************************************************************
  Group 19. Data transmitted to GROUND
 PARSOL = F
 IPORIA = 1
 ISG62 = 1
 PORIA =1. ;PORIB =1.
 SPEDAT(SET,MATERIAL,199,L,T)
 ************************************************************
  Group 20. Preliminary Printout
 ************************************************************
  Group 21. Print-out of Variables
 INIFLD = F ;SUBWGR = F
    * Y in OUTPUT argument list denotes:
    * 1-field 2-correction-eq. monitor 3-selective dumping      
    * 4-whole-field residual 5-spot-value table 6-residual table
 OUTPUT(P1,Y,N,Y,Y,Y,Y)
 OUTPUT(U1,Y,N,Y,Y,Y,Y)
 OUTPUT(V1,Y,N,Y,Y,Y,Y)
 OUTPUT(W1,Y,N,N,N,N,N)
 OUTPUT(PRPS,Y,N,Y,N,N,N)
 OUTPUT(HPOR,Y,N,Y,N,N,N)
 OUTPUT(NPOR,Y,N,Y,N,N,N)
 OUTPUT(EPOR,Y,N,Y,N,N,N)
 OUTPUT(VPOR,Y,N,N,N,N,N)
 OUTPUT(RHO1,Y,N,Y,N,N,N)
 ************************************************************
  Group 22. Monitor Print-Out
 IXMON = 5 ;IYMON = 5 ;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
 NXPRIN = 1 ;IXPRF = 1 ;IXPRL = 15
 NYPRIN = -1 ;IYPRF = 1 ;IYPRL = 10
 NZPRIN = 1 ;IZPRF = 1 ;IZPRL = 1
 XZPR = F ;YZPR = F
 IPLTF = 1 ;IPLTL = 100 ;NPLT = 1
 ISWPRF = 1 ;ISWPRL = 100000
 ITABL = 3 ;IPROF = 1
 ABSIZ =0.5 ;ORSIZ =0.4
 NTZPRF = 1 ;NCOLPF = 50
 ICHR = 2 ;NCOLCO = 45 ;NROWCO = 20
 
 PATCH(CONT1 ,CONTUR, 1, 15, 1, 10, 1, 1, 1, 1)
 PLOT(CONT1 ,P1 ,0. ,50. )
 
 PATCH(PROF1 ,PROFIL, 5, 5, 1, 10, 1, 1, 1, 1)
 PLOT(PROF1 ,P1 ,-0.5 ,1. )
 PLOT(PROF1 ,U1 ,-0.5 ,1.5 )
 
 PATCH(PROF2 ,PROFIL, 3, 3, 1, 10, 1, 1, 1, 1)
 PLOT(PROF2 ,P1 ,-0.5 ,1. )
 PLOT(PROF2 ,U1 ,-0.5 ,1.5 )
 
 PATCH(PROF3 ,PROFIL, 8, 8, 1, 10, 1, 1, 1, 1)
 PLOT(PROF3 ,P1 ,-0.5 ,1. )
 PLOT(PROF3 ,U1 ,-0.5 ,1.5 )
 ************************************************************
  Group 24. Dumps For Restarts
 SAVE = T ;NOWIPE = F
 NSAVE =CHAM
STOP