```
TALK=T;RUN(1,1)
DISPLAY
This case describes how the 'moving grid' method (see MOFOR
entry in Encyclopedia, POLIS) is applied to simulation
of a sphere falling through air. The 'moving grid' method is
implemented by In-Form formulae written in the Q1 file.

A sphere falls through air experiences a force in direction
opposite to its motion. Terminal velocity is achieved when
the drag force is equal in magnitude but opposite in direction
to the gravity force propelling the sphere.

In this case, the quadratic drag equation is used to calculate
the drag force as follows.
Fd = - 0.5 * rho * U**2.0 * A * Cd
where Fd is the force of drag
rho is the density of air
U is the speed of the sphere
A is the area of the projection of the sphere on a plane
perpendicular to the direction of motion.
Cd is the drag coefficient

The velocity as a function of time for the sphere can be deriv\$
ed
as follows:

U(t)= A1 * (EXP(A2*t)-1)/(EXP(A2*t)+1)

where A1 = (2*M*G/rho*A*Cd)**0.5)
A2 = ((2*rho*A*Cd*G)/M)**0.5

where G is the gravity,9.81
M is the mass of the sphere

The following terminal velcoty is asymptotically approached:

Utm = (2*M*G/rho*A*Cd)**0.5

The accelaration is given by the derivative of the velocity
function with respect to time,

a = 4*A1**2.0*A3*EXP(A2*t)/(EXP(A2*t)+1)**2.0

where A3 is 0.5*rho*A*Cd/M

The fluid used is air; the radius of the sphere is 1.0 and
the drag coefficient, Cd used is 1.0

This file contains a marco of commands which cause the
Viewer when the Macro button is pressed to display the
animation automatically. Note that the probe value of the
last contour indicates the terminal velocity.

ENDDIS
VRV USE
DOMAIN ON
* Setting object visibility and painting status
OBJECT SHOW TYPE BLOCKAGE
OBJECT PAINT TYPE BLOCKAGE OFF
OBJECT WIREFRAME TYPE BLOCKAGE OFF
OBJECT SHOW TYPE OUTLET
OBJECT PAINT TYPE OUTLET OFF
OBJECT WIREFRAME TYPE OUTLET OFF
VARIABLE  Pressure; CON ON
VECTOR ON
ANIMATE 1 20 1
VARIABLE Velocity;vector on
PAUSE
ENDUSE
************************************************************
Group 1. Run Title and Number
************************************************************
************************************************************

TEXT(Falling sphere with air resistance      )

************************************************************
************************************************************

IRUNN = 1 ;LIBREF = 0
************************************************************
Group 2. Time dependence
* Set overall time and no. of steps
TFIRST =0. ;TLAST =4.
FSTEP = 1 ;LSTEP = 80
TFRAC(1)=0.0125 ;TFRAC(2)=0.025
TFRAC(3)=0.0375 ;TFRAC(4)=0.05
TFRAC(5)=0.0625 ;TFRAC(6)=0.075
TFRAC(7)=0.0875 ;TFRAC(8)=0.1
TFRAC(9)=0.1125 ;TFRAC(10)=0.125
TFRAC(11)=0.1375 ;TFRAC(12)=0.15
TFRAC(13)=0.1625 ;TFRAC(14)=0.175
TFRAC(15)=0.1875 ;TFRAC(16)=0.2
TFRAC(17)=0.2125 ;TFRAC(18)=0.225
TFRAC(19)=0.2375 ;TFRAC(20)=0.25
TFRAC(21)=0.2625 ;TFRAC(22)=0.275
TFRAC(23)=0.2875 ;TFRAC(24)=0.3
TFRAC(25)=0.3125 ;TFRAC(26)=0.325
TFRAC(27)=0.3375 ;TFRAC(28)=0.35
TFRAC(29)=0.3625 ;TFRAC(30)=0.375
TFRAC(31)=0.3875 ;TFRAC(32)=0.4
TFRAC(33)=0.4125 ;TFRAC(34)=0.425
TFRAC(35)=0.4375 ;TFRAC(36)=0.45
TFRAC(37)=0.4625 ;TFRAC(38)=0.475
TFRAC(39)=0.4875 ;TFRAC(40)=0.5
TFRAC(41)=0.5125 ;TFRAC(42)=0.525
TFRAC(43)=0.5375 ;TFRAC(44)=0.55
TFRAC(45)=0.5625 ;TFRAC(46)=0.575
TFRAC(47)=0.5875 ;TFRAC(48)=0.6
TFRAC(49)=0.6125 ;TFRAC(50)=0.625
TFRAC(51)=0.6375 ;TFRAC(52)=0.65
TFRAC(53)=0.6625 ;TFRAC(54)=0.675
TFRAC(55)=0.6875 ;TFRAC(56)=0.7
TFRAC(57)=0.7125 ;TFRAC(58)=0.725
TFRAC(59)=0.7375 ;TFRAC(60)=0.75
TFRAC(61)=0.7625 ;TFRAC(62)=0.775
TFRAC(63)=0.7875 ;TFRAC(64)=0.8
TFRAC(65)=0.8125 ;TFRAC(66)=0.825
TFRAC(67)=0.8375 ;TFRAC(68)=0.85
TFRAC(69)=0.8625 ;TFRAC(70)=0.875
TFRAC(71)=0.8875 ;TFRAC(72)=0.9
TFRAC(73)=0.9125 ;TFRAC(74)=0.925
TFRAC(75)=0.9375 ;TFRAC(76)=0.95
TFRAC(77)=0.9625 ;TFRAC(78)=0.975
TFRAC(79)=0.9875 ;TFRAC(80)=1.
************************************************************
Group 3. X-Direction Grid Spacing
CARTES = T
NX = 18
XULAST =4.
XFRAC(1)=0.05 ;XFRAC(2)=0.1
XFRAC(3)=0.15 ;XFRAC(4)=0.2
XFRAC(5)=0.25 ;XFRAC(6)=0.305556
XFRAC(7)=0.361111 ;XFRAC(8)=0.416667
XFRAC(9)=0.472222 ;XFRAC(10)=0.527778
XFRAC(11)=0.583333 ;XFRAC(12)=0.638889
XFRAC(13)=0.694444 ;XFRAC(14)=0.75
XFRAC(15)=0.8125 ;XFRAC(16)=0.875
XFRAC(17)=0.9375 ;XFRAC(18)=1.
************************************************************
Group 4. Y-Direction Grid Spacing
NY = 18
YVLAST =4.
YFRAC(1)=0.05 ;YFRAC(2)=0.1
YFRAC(3)=0.15 ;YFRAC(4)=0.2
YFRAC(5)=0.25 ;YFRAC(6)=0.305556
YFRAC(7)=0.361111 ;YFRAC(8)=0.416667
YFRAC(9)=0.472222 ;YFRAC(10)=0.527778
YFRAC(11)=0.583333 ;YFRAC(12)=0.638889
YFRAC(13)=0.694444 ;YFRAC(14)=0.75
YFRAC(15)=0.8125 ;YFRAC(16)=0.875
YFRAC(17)=0.9375 ;YFRAC(18)=1.
************************************************************
Group 5. Z-Direction Grid Spacing
PARAB = F
NZ = 31
ZWLAST =10.
ZFRAC(1)=0.030769 ;ZFRAC(2)=0.061538
ZFRAC(3)=0.092308 ;ZFRAC(4)=0.123077
ZFRAC(5)=0.153846 ;ZFRAC(6)=0.184615
ZFRAC(7)=0.215385 ;ZFRAC(8)=0.246154
ZFRAC(9)=0.276923 ;ZFRAC(10)=0.307692
ZFRAC(11)=0.338462 ;ZFRAC(12)=0.369231
ZFRAC(13)=0.4 ;ZFRAC(14)=0.433333
ZFRAC(15)=0.466667 ;ZFRAC(16)=0.5
ZFRAC(17)=0.533333 ;ZFRAC(18)=0.566667
ZFRAC(19)=0.6 ;ZFRAC(20)=0.633333
ZFRAC(21)=0.666667 ;ZFRAC(22)=0.7
ZFRAC(23)=0.733333 ;ZFRAC(24)=0.766667
ZFRAC(25)=0.8 ;ZFRAC(26)=0.833333
ZFRAC(27)=0.866667 ;ZFRAC(28)=0.9
ZFRAC(29)=0.933333 ;ZFRAC(30)=0.966667
ZFRAC(31)=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(148)=E1 ;NAME(149)=VLSQ
NAME(150)=PRPS
* 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,Y)
SOLUTN(U1,Y,Y,N,N,N,Y)
SOLUTN(V1,Y,Y,Y,N,N,Y)
SOLUTN(W1,Y,Y,Y,N,N,Y)
SOLUTN(E1,Y,N,N,N,N,N)
SOLUTN(VLSQ,Y,N,N,N,N,Y)
SOLUTN(PRPS,Y,N,N,N,N,Y)
PRPS = 150
************************************************************
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 =0.
DVO1DT =0. ;DRH1DP =0.
EMISS =0. ;SCATT =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 =1005. ;CP2 =1.
************************************************************
Group 10.Inter-Phase Transfer Processes
************************************************************
Group 11.Initial field variables (PHIs)
FIINIT(P1)=1.0E-10 ;FIINIT(U1)=1.0E-10
FIINIT(V1)=1.0E-10 ;FIINIT(W1)=1.0E-10
FIINIT(E1)=1.0E-10 ;FIINIT(VLSQ)=1.0E-10
FIINIT(PRPS)=-1.

PATCH(^OB2 ,INIVAL, 2, 0, 0, 0, 0, 0, 1, 1)
INIT(^OB2 ,PRPS,0. ,198. )
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(IN ,LOW , 1, 18, 1, 18, 1, 1, 1, 80)
COVAL(IN ,P1 ,In-Form:source - see Grp 19)
COVAL(IN ,W1 ,In-Form:source - see Grp 19)

PATCH(ACEL ,PHASEM, 1, 18, 1, 18, 1, 31, 1, 80)
COVAL(ACEL ,W1 ,In-Form:source - see Grp 19)

PATCH(OB1 ,HIGH , 1, 18, 1, 18, 31, 31, 1, 80)
COVAL(OB1 ,P1 ,1000. ,0. )
COVAL(OB1 ,U1 ,0. ,0. )
COVAL(OB1 ,V1 ,0. ,0. )
COVAL(OB1 ,W1 ,0. ,0. )
XCYCLE = F
EGWF = T
WALLCO = GRND2
************************************************************
Group 14. Downstream Pressure For PARAB
************************************************************
Group 15. Terminate Sweeps
LSWEEP = 20 ;ISWC1 = 1
LITHYD = 1 ;LITFLX = 1 ;LITC = 1 ;ITHC1 = 1
SELREF = T
RESFAC =1.0E-03
************************************************************
Group 16. Terminate Iterations
LITER(P1)=250 ;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(E1,LINRLX,1.)
RELAX(VLSQ,LINRLX,1.)
RELAX(PRPS,LINRLX,1.)
OVRRLX =0.
EXPERT = F ;NNORSL = F
************************************************************
Group 18. Limits
VARMAX(P1)=1.0E+10 ;VARMIN(P1)=-1.0E+10
VARMAX(U1)=1.0E+06 ;VARMIN(U1)=-1.0E+06
VARMAX(V1)=1.0E+06 ;VARMIN(V1)=-1.0E+06
VARMAX(W1)=1.0E+06 ;VARMIN(W1)=-1.0E+06
VARMAX(E1)=1.0E+10 ;VARMIN(E1)=-1.0E+10
VARMAX(VLSQ)=1.0E+10 ;VARMIN(VLSQ)=-1.0E+10
VARMAX(PRPS)=1.0E+10 ;VARMIN(PRPS)=-1.0E+10
************************************************************
Group 19. Data transmitted to GROUND
NAMSAT =MOSG
CALFOR = T
IDISPB = 1 ;IDISPC = 100
ISG62 = 1
SPEDAT(SET,GXMONI,TRANSIENT,L,F)
SPEDAT(SET,SOURCE,R1!IN,C,=5.114685*(EXP(3.836014*TIM)-1)/(EXP(3.\$)
SPEDAT(SET,SOURCE,R1!IN,C,836014*TIM)+1)*RHO1)
SPEDAT(SET,SOURCE,W1!IN,C,=5.114685*(EXP(3.836014*TIM)-1)/(EXP(3.\$)
SPEDAT(SET,SOURCE,W1!IN,C,836014*TIM)+1)!ONLYMS)
SPEDAT(SET,SOURCE,W1!ACEL,C,=4*9.81*EXP(3.836014*(TIM-0.025))/(EX\$)
SPEDAT(SET,SOURCE,W1!ACEL,C,P(3.836014*(TIM-0.025))+1)^2.0)
SPEDAT(SET,STORED,E1,C,=4*9.81*EXP(3.836014*(TIM-0.025))/(EXP(3.8\$)
SPEDAT(SET,STORED,E1,C,36014*(TIM-0.025))+1)^2.0!ZSLFIN)
SPEDAT(SET,GXMONI,PLOTALL,L,T)
SPEDAT(SET,DRAG,MOMCENX,R,0.)
SPEDAT(SET,DRAG,MOMCENY,R,0.)
SPEDAT(SET,DRAG,MOMCENZ,R,0.)
SPEDAT(SET,OBJNAM,!OB1,C,B2)
SPEDAT(SET,OBJTYP,!OB1,C,OUTLET)
SPEDAT(SET,ARATIO,!OB1,R,1.)
SPEDAT(SET,OBJNAM,^OB2,C,B3)
SPEDAT(SET,OBJTYP,^OB2,C,BLOCKAGE)
SPEDAT(SET,B3,MATERIAL,R,198.)
SPEDAT(SET,FACETDAT,NUMOBJ,I,2)
SPEDAT(SET,MATERIAL,198,L,T)
RG( 1) =2.
************************************************************
Group 20. Preliminary Printout
DISTIL = T ;NULLPR = F
NDST = 0
DSTTOL =1.0E-02
EX(P1)=1.545 ;EX(U1)=0.1283
EX(V1)=0.1283 ;EX(W1)=5.154
EX(E1)=0. ;EX(VLSQ)=0.
EX(PRPS)=0.
************************************************************
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,Y,Y,Y,Y)
OUTPUT(E1,Y,N,Y,N,N,N)
OUTPUT(VLSQ,N,N,Y,N,N,N)
OUTPUT(PRPS,N,N,Y,N,N,N)
************************************************************
Group 22. Monitor Print-Out
IXMON = 9 ;IYMON = 9 ;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
NTPRIN = -1 ;ISTPRF = 1 ;ISTPRL = 100000
NXPRIN = -1 ;IXPRF = 1 ;IXPRL = 10000
NYPRIN = -1 ;IYPRF = 1 ;IYPRL = 10000
NZPRIN = -1 ;IZPRF = 1 ;IZPRL = 10000
XZPR = F ;YZPR = T
IPLTF = 1 ;IPLTL = -1 ;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
No PATCHes yet used for this Group
************************************************************
Group 24. Dumps For Restarts
SAVE = T ;NOWIPE = F
NSAVE =CHAM
IDISPA = 2 ;IDISPB = 1 ;IDISPC = 100
CSG1    ='M'
STOP
```