Download as pdf or txt
Download as pdf or txt
You are on page 1of 143

LA-10612-MS

(!3 9
Los Alamos National L.5boratoryIs operated by the Unlveralty of California for the United States Department of Energy under contract W-7405 -ENG-36

LosNanms

LosAlamosNationalLaboratory
LosAlamos,NewMexico87545

An AITmmativcAclion/Equal OpportunityEmployer

This
workwassupported
bythe
National
Aeronautics
andSpace
Administration
at
the
NASA-Lewis
Research
Center,
Cleveland,
Ohio.

DISCLAIMER
This reportwaspreparedasan accountof work sponsoredby an agencyof theUnited SUStes
Government.
Neiiherthe United SratesGovemmenl noranyagencythereof,noranyoftheiremployeea, makcsany
svarmnty,expressor implied. or assumesany legalliability or responsibilityfor theaccuracy,completeness.
orusefuhressof any information,apparatus.product.or processdisclosed,or representsthat its usewould
not infringeprivatelyownedrights.Referencehereinto any sptcificcommercialproduct,process.or service
bymadename.trademark.manufacturer,or otherwise,doesnot necessarilyconstiusleorimplyits
endorsement,recommendation.or favoringby the United SsaesGovernmentor any agencythereof.Ilse
viewsand opinionsof authorsexpressedhereindo no! necessarilystateor reflectthoseof the United States
Governmentoranyagencythereof.

LA-10612-MS
UC-32
Issued: December 1985

NASA-VOF2D: A Computer Programfor


IncompressibleFlows with Free Surfaces

Martin
D.Torrey
LawrenceD.Cloutman
Raymond C.Mjolsness
C.W. Hirt*

F-

L.. .

-.

.-

L
F

..

-. .

. ..

-.

.
.,

..,.
FlowScienceInc.,1325TrinityDrive,LosAlamos,NM87544.

.. - . ,

.=

CONTENTS
ABSTRACT

I.

INTRODUCTION

II.

THE NUMERICALMETHOD

III. PROGRAMDESCRIPTION

30

IV.

46

SAMPLEAPPLICATIONS

APPENDIXA. THE PARTIALCELL TREATMENT

83

APPENDIXB. PROGRAMLISTING

85

iv

NASA-VOF2D:A COMPUTERPROGRAMFOR INCOMPRESSIBLE


FLOWSWITH FREE SURFACES

by

MartinD. Torrey,LawrenceD. Cloutman,


RaymondC. Mjolsness,and C. W. Hirt

ABSTIU4CT
We presentthe NASAVOF2D two-dimensional,transient,
freesurfacehydrodynamicsprogram. It has a varietyof
options that provide capabilitiesfor a wide range of
applications,and it is designedto be relativelyeasy to
use. It is basedon the fractionalvolume-of-fluidmethod
and allows multiple free surfaceswith surfacetensionand
wall adhesion. It also has a partial cell treatment that
allowscurvedboundariesand internalobstacles. This report
includes a discussion of the numerical method, a code
listing,and a selectionof sampleproblems.

I. INTRODUCTION
The NASA-VOF2D program simulatesincompressible
flowswith free surfaces
1-3
This
technique
is basedon the use
using the volume-offluid
(VOF)algorithm.
of donor-acceptordifferencing4to trackthe free surfaceacrossan Eulerian
grid. Similarprocedureswere developedcontemporarily
by other workers59 to
track materialinterfacesas well as freesurfaces. A similarprogramhas been
writtenspecificallyfor simulating the draining of spacecraft propellant
over thesecodes,
tanks.10 The NASA-VOF2Dprogramcontainsseveralimprovements
and theseimprovements
will be describedalongwith the governingequations,the
numerical algorithm, a programdescription,
severalnumericalsolutions,and a
programlisting.
1

One of the chiefweaknessesof the earlierVOF codeswrittenfor the tank


drainingproblemis thatobstaclesand curvedboundariesare createdby blocking
out the appropriatecomputationalcells. This weakness means that curved
boundaries are representedby discretestairstepapproximations.Our original
plan was to improve upon this situation by letting curved boundaries be
representedby a stringof cell sidesusing the arbitrarymesh capabilityof a
11 The resultingtechnique would
modifiedversionof the ALE code CONCHAS-SPRAY.
12 but with a rezoningcapability.owever~
have resembled the LINC technique,
the occurrence of a strong parasitic node-couplingmode in tank-draining
problems forcedus to abandonthisapproach. It shouldbe noted that thismode
is much less severewhen the code is run in the Lagrangian mode. It might
therefore be possible to utilize such a code in the Lagrangianmode with
14
infrequent,gross rezoningsuch as thatproposedby Horaket al.,13 Dukowicz,
and Ramshaw.15In particular,thiswouldallow the code to put the free surface
along a grid line,which in turnwouldallow the simpleand accuratecalculation
of surface-tensionand wall-adhesionforces. The main limitationwould be
difficultyin programmingthe logicneededto allowone regionof fluid to join
another region of fluid, such as we have in propellant reorientation
and accurate for
calculations.However,the techniquewouldbe straightforward
the simpletank-draining
solutionpresentedin thisreport.
The developmentof a partial-celltreatmentfor SOLA-VOFtypeprograms(for
example,as describedin Ref. 16) allowedUS tO return to this more robust
methodology. The basicconceptis to introducethe fractionof the cell volume
open to fluid,the fractionof each cell faceopen to flow, and to use this
information to modifythe differenceequationsin the partialcells. A concept
17 Appendix A
similarto thiswas used at leastas earlyas the FLIC program.
gives a justification
for the partialobstacletreatment.
A number of other improvementshave been made to the originalSOLA-VOF
program. These includefixes in the donor-acceptordifferencing,a better
algorithm for picking the fluid orientationflags, and an upgraded
surface-tension
calculation.In addition,we have added the option of solving
the pressure equation by a conjugateresidualmethodratherthan successive
over-relaxation
(SOR)method.
The basic algorithm is based on the Navier-Stokesequations for an
incompressible
fluid. The continuityequationis

1 a(r e U)
v(e ~) =
r
ax
2

a(ev) =0
ay

(1)

where x and y are the coordinates,


0 is the partialcell parameterdefinedin
AppendixA, ~ is the velocityvector,u and v are velocitycomponentsin the xand ydirectionsrespectively,and r is a factorthat is unity in Cartesian
coordinatesor x in cylindricalcoordinates.In cylindricalcoordinates,y is
the axial coordinate.The momentumequationsare

~+ufi+v
at
ax

and

au
1 ap
=gx_i=+v
aY

a2u
~+
[

$+,

[;:->]]

(2)

(3)

where p is the pressure,p is the density,gx and gy are the componentsof the
externalacceleration,
t is a factorthat is zero or unity in Cartesian or
cylindricalcoordinatesrespectively,
and v is the kinematicviscosity. These
equationsapplyat everypointinsidethe fluid.
The free surfacesare treatedby introducinga function F(x,y,t) that is
defined to be unity at any pointoccupiedby fluidand zero elsewhere. When
averagedover the cellsof a computingmesh, the averagevalueof F in a cell is
equal to the fractionalvolumeof the cell occupiedby fluid. In particular,a
unit valueof F correspondsto a cell full of fluid, whereas a zero value
indicates the cell containsno fluid. Cellswith F valuesbetweenzero and one
are partiallyfilledwith fluidand are eitherintersectedby a free surface or
contain voids (bubbles) smallerthancell mesh dimensions.The F functionis
utilizedto determinewhich cellscontaina boundary and where the fluid is
located in those cells. Additionally,the derivativesof F can be used to
determinethe mean localsurfacenormal,and usingalso the cell F value, to
construct a line cutting the cell that will approximate the interface.
Sufficientinformationis then available to incorporatesurface-tensionand
wall-adhesionforces into the calculation.BecauseF is a step functionits
derivativesmust be computedin a specialway, as describedin the next section.
The timedependenceof F is governedby

aF
aF
z+uz+v~=

aF

(4)

This approach allows the fluidinterface(s)


to be representedin a simpleand
elegantway in the differential
equationform. However,the flux of F through
each cell face of our Eulerian grid will be required. Standard
finite-difference
techniqueswould lead to a smearingof F, and the interfaces
would lose their definition.The fact thatF is a step functionallowsus to
use a form of donor-acceptordifferencingthat preserves the discontinuous
natureof F.
The next section describes the numerical methodin detail. The third
sectionisa usersmanualfor the computerprogram,and the finalsectionis a
selection of applicationsof NASAVOF2D. A program listing is given in
AppendixB .

II. THE NUMERICALMETHOD


This sectionprovidesa detaileddescriptionof the numerical algorithm
used in the NASA-VOF2Dprogram. It is essentiallyan extendedversionof the
SOLA-VOFmethod,zand our descriptionof the numericalmethoddraws heavily on
the discussion inRef. 2. The programis Eulerianand allowsfor an arbitrary
numberof segmentsof freesurfacewith any reasonable shape. The complete
Navier-Stokesequations in primitivevariablesfor an incompressible
fluidare
solvedby finitedifferences,
with surfacetensionand wall adhesionincluded.
A typicalcomputational
grid is illustratedin Fig. 1. The Eulerian mesh
comprises rectangularcells havingvariablesizes,&xi for the ith columnand
&yj for the jth row. There is a row of fictitiouscellsaroundthe entiremesh.
Figure2 shows the locationof the velocity components,pressures, and
F-values within each cell. The pressurepi,j and fractionalvolumeof fluid
Fi ~ are cell-centered
quantities.The horizontalvelocity component l-li+l/2,j
?

is

definedon the rightcell face,and the verticalvelocitycomponentvi,j+l/2


is definedon the top of the cell. Also shown are the locations of the
geometrical quantitiesAR, AT, and AC, arisingfrom the partialcelltreatment,
which are the fractionsof the rightcell face,top cell face,and cell volume
open to flow. In cylindricalcoordinates,thesefractionsare multipliedby the
value of 2KX evaluatedat the appropriatecell faceor cell center.
4

k~xf+
Fig. 2. location06 the vhblti

in a -tgpical
muh cdl.

A freesurface
or interfacecell (i,j)is definedas a cell containing a
nonzero value of F and havingat leastone neighboringcell (i~l,j)or (i,j~l)
that containsa zero valueof F. In a surfacecell,we assume that the free
surface can have only one orientation(mainlyhorizontalor mainlyvertical),
and for thatorientationall the liquidis on one side or the other of the
surface. That is, the liquid is mainlylocatedadjacentto one of the four
sidesof the cell. Some surface orientationsresult in cells with nonzero
values of F and no emptyneighbors(i~l,j)or (i,j+l). These are treatedas
full cells. We keep trackof the freesurfaceorientationwith a cell flag
array,NF(i,j),as shownin TableI.
The basic procedure for advancingthe solutionthroughone time step at
consistsof threesteps. First,from timen values,explicitapproximationsto
the momentum Eqs. (2) and (3) are used to find provisionalvaluesof the new
time velocities. Second,an.iterativeprocedureis used to solve for advanced
time pressure and velocityfieldsthatsatisfyEq. (1) to withina convergence
criterion(EPSI)at the new time.
Finally,the F-functionis updatedby solvingexplicitlyEq. (4), the new
free-surface
orientationin each surfacece11is determined,and surfacetension
forcesare computed. Suitableboundaryconditionsmust be imposedat all mesh,
free-surface,or obstacle boundariesduringeach stage. Repetitionof these
threestepsallowsadvancingthe solutionthroughan arbitraryintervalof time.
Detailsof theseoperationsare presentedin the paragraphsbelow.
The first task in solvinga problemis to set up the computational
mesh.
Two kinds of informationare required. First, the horizontal and vertical
locations of cell faces i+l/2 and yj+l/2are specified. The cell centers
(Xi,yj)are definedas

(5)

xi = 0.5 (xi-1/2+ i+l/2)

and

Yj = 0.5 (Yj-1/2

yj+l/2)

(6)

Second,geometricalarrays~i+l/2,j9 ATi,j+l/29and ACi,jmust be definedif an


obstacle is includedin the mesh. These tasksare simplifiedby automaticmesh
and obstaclegeneratorsincludedin the code.
6

TABLE 1
VEFIN1TIONOF MF ARRAY VALUES
Free surfacedoes not bisectcell
NF = O

fluidcell--novoid cellsadjacent

NF > 5

void cell--nofluidin cell

Free surfacemainlyvertical
NF = 1

surfacecell--neighboring
fluidcell to the left

NF = 2

surfacecell--neighboring
fluidcell to the right

Free surfacemainlyhorizontal
NF = 3

surfacecell-neighboring
fluidcell on the bottom

NF = 4

surfacecell--neighboring
fluidcell on the top

Freesurface
orientationindeterminate
NF = 5

surfacecell-isolated,
all adjacentcellsare void

The next task is to select boundary conditions,to define the volume


occupied by fluid,and to set the initialvaluesof the velocityand pressures
fields. Selectingboundaryconditions is described in detail in the next
section and is accomplishedby settingfour inputboundaryflags. The other
tasksare problemdependentand must be implementedby the user unless the
simple default setuproutineis adequate.Finally,physicalpropertiesof the
fluid,outputrequirements,
and solutionoptions must be furnished as input
data.
The program is then readyto begina cycle. The firststep is to solve
explicitdifferenceequationsfor an estimateof the new timevelocities. This
calculation is done only if the cell faceon which the velocity(u or v) is
locatedis open to flow (thatis, ARi*l/2,j> 0 or ATi,j+l/2> 0) and some fluid
is adjacent to the appropriateboundary. Void/void and fluid/obstacle
boundariesare skippedfor efficiency.We beginby defining the gradients of
the velocity components that are required for the finite-difference
approximation
for Eqs. (2) and (3). They are for the x-coordinate,

[1
au
Z

i,,j

i+l/2,j- il/2,j
=

(7)

i+l/2- i-l/2
7

and

j .
i+l/2,
j+1 - i+l/2,
au
* i+l/2,
j+l/2=
Yj+l - Yj
[1

(8)

Similarequationswith appropriateindices are used to calculate u-velocity


derivativesat (i+l,j),(i+l/2,j-l/2)
sincesecondderivatives
will be required.
Once the velocity gradients are calculated, the viscousterm in Eq. (2) is
approximatedby

1sxi+1,2j=v([[4i+l$j[4d(xi+l-xi)
[[1
+2

au
~ i+l/2,
j+l/2 - [:li+l/2j-J(yj+l-yj-1)

(9)

i+1t2,
j are obtained bY
In the precedingequations,factors such as (au/ax)
linearinterpolation
of cell-centered
quantities.
We use similardifferenceequationsfor the viscoustermsin Eq. (3). We
definethe velocitygradientcomponents

[1
av
~

[1

i,j

= i,j+1/2 - i,j-1/2
Yj+1/2 - Yj-1/2

i+l,j+l/2- i,j+l/2 .
av
Z i+l/2,
j+l/2=
i+l - i

(lo)

(11)

The viscousterm in Eq. (3) is thenapproximated


by

lsyi,j+l/2v([[~]i,j+~-

+2

[#]i,j]/(yj+l-yj)

[[1
av

i+l/2,
j+l/2 - [;li-1/2)j+l/21
(xi+l-xi-1)

av
~ i+l/2,
j+l/2 + [gli-1/2jj+J}
[[1

t
q

(12)

where the last term is a simpleaverage of derivativeslocated at the cell


corners.
We follow the procedureof Nichols,Hirt,and Hotchkiss2in approximating
the convectiveterms. These termsare calculatedexplicitlyat the same time as
the viscoustermsusing the same velocityderivatives.Thus,we have

[1
u au

i+l/2,

i+l/2,
j
j

&Xa

6X
{

[1
au

i+l,

+ a sgn(ui+l/2,
j)

[xi+l[%litj -xi

tix~+l

au
K i,j
[1

[:li+l$jl}
~

(13)

where

j) (6x.i+l
- axi)
&xa = 6X~ +&X~+l + a sgIl(Ui+l/2,

(14)

Here &xi is the widthof cell i, a is the donor-cellfraction,and sgn(u)means


the sign of u.
1+1/2,
j; that is, the convective differencingis a linear
combinationof donor cell and centered differencing. When a = O, this
formulat
ion reduces to
a
second-order-accurate, centered-difference
approximate
ion. When a = 1, the firstorderdonor-cellform is recovered. This
particularform is thenat leastfirst-order-accurate
for any a between these
limits. In order to obtain stabilitywhilemaximizingaccuracy,experience
9

indicatesthat0.25 < a < 0.5 may be utilized. In practicethe initialruns of


a problem are generallymade with a= 1. Subsequentruns are oftenmade with
reduceda. Similarly, the vertical convectionof horizontal momentum is
approximatedby

[1
v au
%

= i+l/2,j
&ya ((Yj+l
i+l/2,j

au
Yj)

i+l/2,j_l/2

[1

[1

au
+ (Yj - Yj-1) ~ i+l/2,j+l/2

[1
(yj-yj-l)
[3+1,2A+J
9
(yj+l- Y.j) ~au

+ aSgn(Vi+l/2,j)

i+l/2,j-l/2

(15)

where
j)1yj+1/2 - j-1/2]
&ya= @j+l/2 + Ayj-1/2+ a sgn(vi+l/2,
yj+1/2 = yj+l - yj 9

Ayj-1,2

yj - yj-~

(16)
(16.1)

and wherewe use doublelinearinterpolation


to compute

i+l/2,
j =

xiVi+l,
j+l/2+ i+l,j1/2)+ Xi+l(vi,
j+l/2+ i,j-1/2)
.
2 (6x~+ ax~+~)

(17)

Analogousdifferenceequationsare written for the convectionof v.


The completemomentumequationsare
n+l
- i))
i+l/2,
j = i+l/2,
j + at gx - (p~~~,j- p~~~)/(P(Xi+l
[

- [~li+l/2$j -

10

[v:li+l/2tj+vrsxi+1/2jl

(18)

n+l - p~~~)/(P(Yj+l
n+l
- Yj))
1,j+1
i,j+1/2 = i,j+l/2 + &t g. - (p.
[
(19)
- [u Eli fj+l/2- [v:;iyj+l/2+v1syij+1/21

where a superscriptn+l denotesan advancedtimequantity. Variableswithout a


superscriptare takenat the old timelevel,n.
The velocities from Eqs. (18) and (19)will not satisfythe continuity
Eq. (l),which is difference as

- Un+l
n+l
i-1/2,
j i-l/2,j
i+l/2,J ~i+l/2,j
tix~
[
- q+l
n+l
+ i,j+l/2Ti,j+l/2 1,j-1/2 Tifjl/2
6yj

/Aci ~ = o
1-

(20)

In thisequation,fractionalvolumes open to flow are denoted by integral


subscripts and fractionalareas open to flow are denotedby half-integral
subscripts,i.e.tei,j and i+l/2,j respectively.Moreover,as currently used
in the code

i+l/2,j = i+l/2,j $

Ti,j+l/2= i,j+l/2 ~

and

ACij = ei,j .

throughoutthe mesh, the pressures


In order to satisfyEq. (20)simultaneously
and velocitiesmust be adjustedin each computational
cell occupied by fluid.
The solution may be obtainedby the followingiterativeprocess:Eqs. (18) and

(19) evaluatedwith timen quantitiesproducea provisional


velocityfield used

as an estimateof the advancedtimevelocities. In cells that containfluid,a


pressurecorrectionis calculatedfrom
(21)

. &p = -s/(as/ap) ,

where S in each cell is the valueof the left side of Eq. (20), the residual,
evaluated with the most updatedvaluesof p, u, and v available. Equation(21)
is derivedby substitutingthe rightsidesof Eqs.
.a (23) through(26) below into
is
Eq. (20) and solvingfor 8P. The quantity@ = 2
awap
p ACi,j
6= 26t (Ai+l/2+ i-l/2+ cj+U2 + Lj_l/2)

where

i+l/2,j
i+l/2= &xi(6xi+1+ ~xi)

i-l/2,j
~i-1/2= tix~(iixi
+ axi-1)

AT.
l,j+l/2

Cj+l/2 =
6yj(6yj+l

Yj)

and

Ti,j-l/2
<j-1/2= ~yj(&yj + Yj-1)

12

The Vth iteratefor the pressureis

(22)

and the velocitiesfor all four cell facesare updatedwith

(23)

v-1
Uv
- /2,j = u -1/ ,j - at 6p/[P(Xi- i-l)] ~

N!

(24)

(25)

and

(26)

This procedureis modifiedfor cellscontaininga free surface. For these


cells [pi,j] is obtainedfrom linearinterpolation
(or extrapolation)
between
the surfacepressure [ps], computed from surface-tensionand walladhesion
forces, and a neighboringpressure[pn]insidethe fluidin a directionmost
nearlyperpendicular
to the freesurface. Specifically,

Pi,j = [1 - rl]pn+ n ps ,

(27)

where ~ = de/d is the ratioof the distancebetweenthe cell centers and the
distance between the free surfaceand the centerof the interpolation
neighbor
cell as shown in Fig. 3. A &p is obtainedfrom the new pn and the old pi,j
and, as explained below, the new pi,j is obtained iteratively by
under-relaxation.
The iteration is continueduntilall the S/s are made sufficientlysmall
such that the velocityfieldis within accuracy requirements;that is, the
magnitude of S < EPSI,which is chosento be approximately
10-3 timesa typical
absolutevalueof 3u/3xor 3v/3y. The last iteratedquantitiesof velocity and
pressureare takenas the advancedtimevalues.
13

Surface
ml
f
y--x

Surface

[interpolation
-r

In most cases, convergenceof the SOR iterationsmay be acceleratedby


multiplyingthe &p fromEq. (21)by an over-relaxation
parameter(A)
(OMG in the
program). A meshwiseconstantvalueof 1.8 is oftenused,but the optimalvalue
is flowdependent.A valueof two or greatergivesan unstableiteration. This
parameteris incorporated
into the BETA array in the code.
We have found empiricallythat the free-surfacecondition,Eq. (27),
requiresthat the interpolation
neighborcell of any surfacecell must have a
modified u parameter. We employ the correctionof Eq. (15)of the SOLA-VOF
report,
2 notingthat the! of that report is our pp-l, and that further
corrections to the denominatorof Eq. (15) (includedin the presentcode)occur
when some interpolation
neighborcell has severalsurfacecells as neighboring
cells. This stabilizes the coupling between the surface cell and the
interpolation
neighborcell pressures.This modifiedrelaxationis incorporated
into the pressureiterationthroughthe PETA array.
A second procedure for finding the advancedtimevelocityand pressure
fieldsmay be invokedby switchingthe inputvariableISOR froma valueof unity
to zero. For most problemsthisalternateprocedureis more efficientthan the
successive-over-relaxation
(SOR)methodjust described. It is based on the
18 for solvinglinearsystemsof equations.
conjugateresidualsolutiontechnique
14

First, Eqs. (18)-(20) are converted into a Poisson equation for the
advancedtimepressurefield. We beginby rewritingEqs. (2) and (3) in vector
form:

(28)

where the viscous, body, and advective terms have been absorbedinto the
auxiliaryquantity~. The pressureequationis derivedby substituting
Eq. (28)
into the continuityequation
v

(e ~n+l)= o

(29)

whichyields

:Vv

(e v Pn+l) = v v (q)

(30)

where V is the volume of the computational


cell (i,j). The cell volumeis
requiredto insurethat the linear system created by the finite-difference
approximationto Eq. (30) is conservative
and thereforesymmetric. The exact
form of the differenceoperatorsmay be seen by substituting
Eqs. (18)and (19)
into (20), but it is not usefulto write themout in detailhere. We merely
note that Eq. (30) leads to a sparse, symmetric linear system when the
free-surface,obstacle, and perimeter boundary conditionsare algebraically
incorporatedinto the systemof equations in such a way that symmetry is
retained. We write thissystemas

(31)

where A is the symmetriccoefficientmatrix,~ is the solutionvector(thatis,


the unknownP~:;ts)tand ~ is the righthandside of the linearsystem. We use
.#.
the conjugate residual technique to solve this system. Daly and Torreyly
discussthe motivation for using this procedure in detail. However, one
important feature of the methodis that~ is founditerativelyin such a way

that the vth iterate?(~) has an a~~ociatedresidualA !() - !?that is equal to


v V(eyn+l). Therefore, convergenceof the iterationon the linearsystemis
equivalentto drivingthe divergenceof the velocityto zero, as in the SOR
method.
There is one exception to the rule thatV*(@) is drivento zero. In a
fluidcell (NF = O), the F-transportalgorithm can generate tiny spurious
bubbles, or voids, when the divergenceis zero,and thesevoids persistonce
generated. To suppressthis,a smallpositivenumberis added to S when NF = O,
as describedbelow,and the modifiedS is drivento zero by the iterations. The
resultis an actualnet negativedivergencein thesecells(correspondingto a
net inflow of fluid duringthe F-transport).The velocityfieldis slightly
nonconservative,
but the conservation
of the total volume of fluid is not
affected.
After the velocityand pressurefieldshave been foundfor a fixedF-field,
we advanceF in time. We combineEqs. (1) and (4) to obtain

a(eF) 1 a(reFu)+ a (ew) =0


at i
ax
ay

(32)

where 0 is the partialcell parameterdefinedin AppendixA, and r is a factor


that is unity in Cartesiancoordinatesor x in cylindricalcoordinates.This
conservativeform of Eq. (1) allowsus to writea differenceapproximationthat
conservesfluidvolume;namely,

+1 =
F~,j

&t

i,j ~

ARi+l/2,ju~~~/2,jFi+l/2
,j

i,j[[
xi

.Uq+l
-ARi-112,J
1-12YJ
Fi-1/2,j
1
1
~

n+l
n+l
Ti,j+l/2vi,j+l/2Fi
,j+l/,2
- Ti7j-l/2vi,j-l/2Fiij-l/2 9
[
II
(32.1)

which servesas the basisfor the convectionof F.


16

The convection algorithm must (1) preservethe sharpdefinitionof free


boundaries,which we denote here as fluid instances; (2) avoid negative
diffusiontruncationerrors;and (3) not fluxmore fluid,or more void,acrossa
computingcell interfacethan the cell losingthe flux contains. To accomplish
this, the SOLA-VOF technique adopts a type of donor-acceptorflux
4 in whichboth the fluidvelocities and the F values of
approximation,
the
computing cell boundaries,or interfaces,appearing in Eq, (32.1), are
redefined,as necessary.
It shouldbe noted in Eq. (32.1)thatFij (ourshorthand for F~j) should
really be understood as F~~l/2 and F~jl reallydenotesFn+3/2, while &t is
really~(&tn+ 6tn+l). The code ignoresthe changein F thatoccursduring the
firsthalf timestep of the calculation
and uses initialvaluesof Fii for F~{2.
-J
The code graphicsdisplaysF~j at tn insteadof at the more correct tn+; i;n.
These imprecisionare not usuallysignificant:typicallythe fluidstartsfrom
rest,while the timestep is usuallyuniform,or it changes slowly if it is
being controlledby a timestep limiter. However,in one testproblem(of slug
flow),it was necessaryto displayFij at the-correcttime to obtain precise
graphicalcorrespondence
with an analyticsolution.
At each boundaryof each computingcell, the two cellsimmediatelyadjacent
to the interfaceare distinguished,
one becominga donorcell and the other an
acceptor cell, and cell quantities are given the subscripts D and A,
respectively,
e.g.,FD and PA. The labelingis accomplishedby means of the
algebraic sign of the fluidvelocitynormalto the boundary;the donor cell is
alwaysupstream, and the acceptor cell downstream, of the boundary. We
emphasize that the D and A labels are assigned separatelyfor each cell
cellwill have four separateassignments of
boundary. Thus,each computational
D or A corresponding
to each of its cell boundaries.The boundaryvalue of F,
denotedby FAD, whichappearsat the fourboundariesin Eq. (32.1), will be
either D r A according to an algorithmchosento partiallyaccomplish
purposes(1) and (2) above. once FAD is chosenPthe actualvalueof F used at
the boundaries in Eq. (32.1)is redefinedfurtherby a simplealgorithm,which
accomplishespurpose(3) and furtherassists
in carryingout purposes (1) and
.
.
(2). We denotethe finalvalueof the boundaryF by FAD. It is the finalFAD
that,when convectedwith the fluidvelocitynormalto the interface, will not
remove more fluid per unit area,nor more void per unit area, than the donor
cell contains,even when the boundaryis completelyopen to flow.

17

We illustratethe redefinition
FAD, assuming that FAD has already been
determined at the right-handcell boundary, discussing firstthe original
SOLA-VOFalgorithm.2For thiscase

AD !~~/2,j &t = sgn ui~{~2,jMIN(FADIVXI+ CF, FD~xD) ~


[1

(33)

where
Vx

Un+l.
i+l/2,jt

and

CF = MAX([l.O- FAD]IVXI- (1.0-

FD)6xD!

0.0)

For numericallystablecomputations,
i.e.,for IVxl< &xD, the MIN statement of
Eq. (33) prevents fluxing more fluid per unit area than the donor cell
contains,while the MAX statementpreventsfluxingof more void per unit area
than the donor cell contains, namely FD&xDand [1.0- FD]&xDrespectively,
.
providedthatFAD is fluxed at the fluid normal velocity ui+l/2,j. Note,
however, that it is the entireleft-handside of Eq. (33) thatappearsat the
,.
right-hand cell boundary in Eq. (32.1). Thus, AD never appears as an
independently
definedsymbolin the code.
For the present code, the CF givenaboveand in the SOLAVOFreport2 is
modifiedto be more restrictivein the amountof void fluxedby the operationof
the CF term. This is done to improvethe accuracyof the fluidconvectionand
to suppressthe appearanceof spurioussmallwispsof fluidin the void cellsof
the computingmesh. We definethe DM cell to be the cell upstreamof the donor
cell and thenspecify

CF = MAX([<F>- FAD]IVXI- [<F>- FD]6xD,0.0) ,

(34)

where

<F> = MAX(FD,FDM, 0.1)


18

(34.1)

The firsttwo optionsfor <F>.increase


the accuracyof the representation
of the
fluid convection process, while the thirdoptionpreventsthe convectionof
fluidby the CF termuntileitherthe D or the DM cell becomesat least0.1 full
of fluid,which suppressesthe spuriouswispsof fluid.
TO determinewhetherFAD is FD or FA, we use FD when the D cell is a fluid
cell, which is automaticallyincorporatedinto a standard donor-acceptor
algorithm. For surfacecells,we determinethe primaryorientationof the donor
cell fluidand of the fluidinterface from NFD and determine by inspection
whether convection of donor cell fluidacrossthe computingcell boundaryis
primarilynormalor primarilytangentialto the fluid interface. For most
cases, we set AD . FA when the convectionis primarilynormalto the fluid
interfaceand FAD = FD when it is primarilytangentialto the fluid interface.
However, if the A cell or the DM cell is empty,thenwe alwaystake FAD = FA.
This requiresthata donor cell must be nearly full before any fluid is
convectedto a downstreamemptycell.
The complete fluxingalgorithmis appliedcompletelyindependently
at the
four computingcell boundariesappearing in Eq. (32.1). When the necessary
fluxeshave been computed,F is advancedthroughone timestep usingEq. (32.1).
The full operation of the F-convectionalgorithm at a computingcell
boundary,namely,the choiceof FAD and the applicationof Eqs. (33),(34), and
(34.1), is equivalent to the implicit constructionin the donor cell of
intra-cellinterfacesthatgovernthe convectionof fluid into the acceptor
cell. The interfacesare independentlydetermined for each of the four
computingcell boundaries,are not the same as the localmean free surface, and
may be of threegeneralshapes,two of whichare illustratedin Fig. 4. The
intra-cellinterfacesmay be a singlehorizontal or vertical line, with all
fluid pushed towardthe main volumeof adjacentfluid,as illustratedin Figs.
4b and 4c; theymay be a pair of lines, one horizontal and one vertical,
confining the fluidinto the cell corneradjacentto the main body of fluid,as
illustratedin Fig. 4d; or they may be a step function whose height is
determinedby FA and FDM.
Sometimesthe VOF F-advectionalgorithmwill generatenonphysicalfilaments
of fluid thatpropagatethroughoutlargeregionsof void. The appearanceof 0.1
as a lower bound for <F> in Eq. (34.1)helpssuppressthesefilaments. If a
surfacecell is tryingto fluxmaterialintoan emptycell, the flux is set to
zero until F is greaterthan0.1 in the surfacecell. The limitingvalueof 0.1
may not be optimalfor all problems. The original.SOLA-VOF schemes may be
recoveredby settingthe limitingvalue to zero.

(c) AD=A

(d) AD=A

Next we applyseveralfine-tuningproceduresto the new valuesof F. The


first is an optional algorithm for suppressingnonphysical fluid voids or
filaments. It is invokedby settingthe off/onflagNPACK to unity. Used only
for problemsin which the fluidlies againstthe bottomof the tank and has a
simplesurfaceshape,thisschemeforcesthe code to startat the bottomof each
columnof cellsand to pack all of the fluid down, producing a singlevalued
surfaceheightfunction. Unfortunately,
thisschemeis not easy to generalize
to problems with a multivaluedsurface-heightfunction, such as fuel
reorientation
problems.
A second algorithm utilized to suppress spurious voids,mentionedin
discussingthe pressureiterationearlier,overcomes these restrictions. The
modifieddivergence(~i,j) that is drivento zero is definedas

BDEFM*(l.O- Fi,j)/6t) ,
?i,j = si,j + MIN(ADEFM*EPSI,

where ADEFM is typically 102 to 103, BDEFM is typically 0.10, and the
.
convergencecriterionEPSI is normally10-J. The first term represents the
maximum allowable incrementto be added to the computeddivergenceon a single
timestep,while the secondis a fractionof the currentdeficitthatwill tend
to zero as the cell fills. BDEFM is actuallythe reciprocalof the numberof
time steps in which the deficiencyis to be removed. The input variable IDEFM
is an off/onflag for thisoption(O = off, 1 = on).

20

The next optionalalgorithmis controlledwith the off/onflag IDIV,and it


usuallyimprovesthe accuracy and robustnessof the program. This scheme
(e~n+l)) is not exactlyzero
recognizes that the divergenceof yn+l (s=v.
becauseof the finitenumberof pressureiterationsand roundingerrors,and it
adjusts the value of F in each cell proportionalto the actualvalue of its
divergence.If IDEFM= 1, this algorithm must be skipped. The algorithms
controlledby IDEFM,NPACK,and IDIV are referredto as defoamersvbecausethey
are sometimesneededon problemsto preventvoid regions from filling with a
frothof tinyFs or the formationof spuriousvoidswithinthe fluidinterior.
Truncation errorsand roundingerrorscan cause the F-valuesdeterminedby
the above procedureto occasionally
have values slightly less than zero or
slightly greater than unity. Therefore,after the advectioncalculationhas
been completed,a pass is made throughthe mesh to resetvaluesof F less than
zero back to zero and valuesof F greaterthanone back to one. Accumulated
errorsin fluidvolumeintroducedby theseadjustmentsare recordedand may be
printedat any time.
There is one final adjustment needed in F so that it may be used as a
boundarycell flag. Boundarycellshave valuesof F lyingbetweenzero and one.
However, in a numerical solution, F-values cannot be testedagainstexact
numberslike zero and one becauseroundingerrorswouldcausespurious results.
Instead, a cell is definedto be emptyof F when F is less than CF (EMF in the
program)and fullwhen F is greaterthan 1 - EF, where CF is typically 10-6.
If, after advection,a cell has an F valueless than &F, thisF is set to zero
and all neighboringfull cellsbecomesurfacecells by having their F-values
reducedfromunityby an amount1.1 &F. Thesechangesin F are also includedin
the accumulatedvolumeerror. Volume errors after hundreds of cycles are
typicallyobservedto be a fractionof 1% of the totalF volume.
Following the calculationof the new F-valuesthe code sweepsthe mesh
redefiningthe new cell typesand assigningappropriate flags NFi,j. At the
same time the approximateorientationof the fluidin each surfacecell is
determined,and a pressureinterpolation
neighborcell is assigned.
Determination
of whetherthe fluidis mostlyhorizontalor vertical in a
surface cell relieson estimatingthe localslopeof the fluid/voidinterface.
We assumethat the interfaceis a straightline segmentpartitioningthe cell.
The slope is estimatedby introducingtwo surface-height
functionsY(x) and X(y)
basedon the valueof F in the surfacecell and its eight neighbors. A good
approximation
to Y(x) is

21

+ Fi,j6yj+ i,j+l~yj+l

Y~ = Y(x~) = i,j-l&Yj-l

(35)

where Y = O has been takenas the bottomof the j-1 row of cells. For fluid
cells the slope is givenby

dY
z
[1

= [(yi+~- i)

+ (Yi

~xi-1/2/~xi+l/2

i-l) xi+l/2/&xi-l/2]/(&xi-l/2 + ~xi+l/2) ?

(36)

the rolesof x and y, we can


.,,9(6X++ &x4,,)/2. Interchanging
where 6xit-.i.,.z
write a similarequationfor (dX/dy)j. When evaluatingthe X and Y-functions,
one must be carefulto includeany obstacle volume in F that modifies the.
algorithm.
If ldY/dxlis smallerthan ldX/dyl,the boundaryis more nearlyhorizontal
thanvertical. Otherwise, it is more nearly vertical. The side of the
interface containing the fluid is then chosendependingon the sign of the
largerderivative.For example,ifldY/dxlis the smaller, the interface is
horizontal. If dX/dyis negative,fluidlies below the interface,NF = 3, and
cell (i,j1)is used as the interpolation
neighborin Eq. (27). If dX/dy iS
positive, the fluid lies at the top of the cell,NF = 4, and cell (i,j+l)is
chosenas the interpolation
neighbor.
For a free-surface
cell the surface-tension
and wall-adhesionforces are
evaluated and expressedas a surfacepressureps[PS(I,J)in the program]. The
surfacepressureentersthe calculationthroughEq: (27).
The surfacetension,
wall-adhesion
algorithmmust takeaccountof the facts
that the code has a very impreciseknowledgeof the natureand the locationof
obstaclesand that the code is usuallyused at the limitsof flow resolution to
save computationalcosts. (Frequentlyflowsalong the tankwallswill be only
one or two computationalcells wide.) Thus it is essential that the
surfacetension,walladhesionroutine be robust(thatis, shouldacceptvery
imprecisedata,shouldnot make largeerrors in processing the data, should
yield smooth output, and should never cause a catastrophicfailureof the
calculation)
and simple.
For each free-surface
cell,the program uses the array NF to specify
whether the fluidlies primarilyat the bottom,top, left,or rightside of the
A

22

A-I-A

wall-adhesion
modelworks in the
cell. We illustratehow the surface-tension,
case of a free-surface
cell in which the fluidis locatedat the bottomof the
cell (thatis, NF = 3). The other threecasesare treatedby analogous means.
We also assumeCartesiancoordinates.The extensionto cylindricalcoordinates
will be discussedafterwards.
The surface-tension
forceactingacrossthe facesof the computational
cell
is computedfrom [20]

g=-a

c ~ X d~

(37)

where a is the surfacetension,~ is the outwardunit normal(thatis, directed


into the void) to the fluid surface, and the path c denotes the counter
clockwise-traversed
intersectionof the fluidinterfacewith the facesof the
computational
cell. For thisNF = 3, Cartesiancoordinateexample,we consider
the cell to be three-dimensional
with unit depthin the thirddirection. Thus,
the path c is a closedlooparoundthe fourverticalcell faces. This equation
is valid if the free surfacecontinuesbeyondthe currentcell in all directions
and does not terminateon an obstacle wall in the current cell. Then the
surfacepressureps may be computedfrom the verticalforceas follows:

ps(I$J)&xi &Z = -$*Y = - a &z [sin(~) - sin(~)]

(38)

where 6 denotes the local angle that the tangent(in the x-y plane)to the
interfacemakes (rotatedcounterclockwise)
with the x-axis (or the angle the
normal makes with the y-axis), while the subscriptE or W denotesthe east
(right)or west (left) boundary of cell (I,J). The unit normal in the
y-directionis denotedby y.
For the NF = 3 case, the programdeterminesan averagefluidheightAVFR in
the columnto the east of (I,J),an averagefluidheightAVFCX in cell (I,J),
and an averagefluidheightAVFL in the columnto the west of cell (I,J)from a
weightingschemethat involvesthe F valuesin (I,J)and its eight neighboring
cells. The (3anglesare determinedfrom the definingrelations

tan(~) =

2 (AVFR- AVFCX)
&Xi + &Xi+~

(39)

23

and

tan(~) = 2 AVFCX- vFL)


6Xi-~+ 6Xi

(40)

afterwhichwe use relationsof the form

tan(~)
(41)

sin(~) =
[1 + tan2(~)]1/2

to evaluatequantitiesappearingin the ps formulas.


Supposethe fluidsurfaceends on an obstacleat the east wall, its tangent
making the contactangle@c with the east wall insteadof continuingon into the
east column of cells, as assumed in the previousformulafor ps. Then the
verticalforceat the east wall needs to be modifiedto allow for the fact that
the true force is a wall-adhesion
forceratherthana surface-tension
force.
Specifically,
assumethat the surfacecell (I,J)is a partial flow cell whose
right, or east, boundaryis a line segmentrunningfrom its bottompoint ~b =
(Xb, Yb) to its top pointEt = (xt,yt), whereyt > yb? and the fluid lies to
the left,or west, of thisboundary. Then we definethe angle~
wall makeswith the verticalby

tan(~) =

t - Xb

that this east

(42)

Yt - yb

That is, ~ > 0 if (~t - ~b) is in the firstquadrant,while~ < 0 if (Et - ~b)
is in the second quadrant. Then the vertical component of the east
wall-adhesionforceon the fluidis

fZE = tY6zCSANG*u&zcos(~

+@c)

and the surfacepressureis properlygivenby


24

(43)

[1

p~ = - ~

[CSANG-sin(~)]

(44)

Similarly,if Et and ~b definea line segmentrepresenting


the west wall of a
partial flow cell, with the fluidlyingto the east of thisboundary,thenwe
definethe angle~ that the west wall makeswith the verticalby

tan(~) . -

t - b
Yt - yb

(45)

in thiscase ~ > 0 if (Et - ~b) iS in the secondquadrantand ~ < 0


if (~t - ~b) s in the firstquadrant. The verticalcomponentof the west
walladhesion
forceis stillgivenby

That is,

fZw = u 62 CSANG3 u 62 COS(~ + @c) ,

(46)

and the surfacepressureis givenby

[1

[CSANG- sin(~)] .

Ps = $

(47)

Unfortunately,the implementationof the above physically correct


determination of Ps requires, in general, an expensive and complex
front-tracking
procedureto determinepreciselywhetherit is wall adhesion or
surface tensionthat is appropriateat any surfacecell boundaryat any time in
the calculation.In partialflow cellsin cylindricalgeometry, it is also
important to know on exactlywhichcellwall and at exactlywhat radiuseach
complexity would
surfaceforceis delivered. Such an increasein calculational
be incompatible
with our goal of a simpleand robustalgorithm. Thus we give up
the attempt at precise front tracking and precise evaluation of the
forceand evaluatethe appropriatesurfaceforce
surface-tension,wall-adhesion
on each wall of the computational
cell by meansof an algorithm,which has the
genericform in Cartesiangeometrytypifiedby
25

fzE = ~ ~z [AFEsin(~) + (1 - AFE) CSANGI

(48)

It is theselatterexpressionsthatare used in the programto evaluateps.


When the code escapesthe generalsurfaceforcealgorithmsby settingthe
flag INW to INW = O (designedto providethe capability to treat walls with
porous baffles in them)then,for example,AFE is the fractionalarea open to
flow and the surfaceforceis taken to be a linear combinationof surface
tension and wall adhesion. Even thoughsuch an expressionwill not be correct
at any momentin any particularflow,it will represent the behavior of an
ensemble average (and, in some cases,a timeaverage)of flows. This mode of
treatment of AFE is the simplest reasonable treatment of the surface
tension/walladhesion dichotomy,and is well suitedfor a first,inexpensive!
cut at the complexities
of the porousbaffleoption.
Otherwise,INW = 1 (thiswill be the normalcase in a partial flow cell)
and we will have eithersurfacetensionor wall adhesion. That is, the computer
algorithmswill force a choice AFE = 1.0 or AFE = 0.0. This forces any
wall-adhesionforce to appear on the appropriatewall and ignoresthe exact
radiallocation,and thus the exact numerical magnitude, of the actually
occurring wall adhesion. This permitsus to reducethe complexities
of front
trackingto a manageablelevel. In addition, we make the physically very
reasonable approximation
thatec = O, which furtherreducesthe numberof cases
thatmust be analyzed.
The basicdecisionalgorithmsare implemented
by introducinganother cell
index NW(I,J) for partialflow cells,which,togetherwith NF and the F values
of the neighboringcells,determinesAFE and the otheranalogous quantities on
the othercell walls. The indexNW labelsthe geometryof the obstacleto flow
in a partialflow cell. If NW = O, the ceil volumeis fullyopen to flow, but
the cell surfacesmay be partiallyor whollyclosedto flow. WesetINW=Oin
this case,with the consequences
describedpreviously. Otherwise INW = 1, we
have a partialflow cell and NW describesthe natureof the obstacleto flow.
A seemingly unnatural orderingof the numericalvaluesof NW is adopted,
which simplifiesthe teststo be made on NW and NF. Specifically,
we adopt:
NW= 1; when the rightwall is closedand the top and bottom walls are
partiallyopen
NW. 2; when the left wall is closed and the top and bottomwalls are
partiallyopen

26

Nw = 3; when the top wall is closed and the left and right walls are
partiallyopen
NW = 4; when the bottom wall is closedand the left and rightwalls are
partiallyopen
NW . 5; when the top and the rightwallsare closed
Nw = 6; when the bottomand the rightwallsare closed
NW . 7; when the top and the rightwallsare partiallyopen,but the other
wallsare open
Nw = 8; when the bottom and the rightwallsare partiallyopen,but the
otherwall are open.
We returnto the discussionof how AFE and the other cell wall flags are
set when INW . 1. We startwith defaultvaluesof 1.0 for theseflags,which
puts surfacetensiononly on the appropriatecellwalls. We specialize to the
discussion of how AFE is changedto 0.0 (givingwall adhesion)when NF = 3.
This happensfor NW . 2. It happensfor NW . 3 or 4 when the cell to the right
is empty. It happensfor NW . 5 when the cell belowis empty,but for NW . 6
when the cell above is empty. It does not happen for M = 7. Finally, it
happens for NW = 8 when the cell to the rightis empty. Analogousrulesare
given for the othercellwall flagsAFW, AFN, and AFS; other NF values also
generateappropriatevaluesfor all four cell flags.
In cylindricalgeometrythe aboveprescriptions
for slab geometrymust be
supplementedby an additionalcontributionto ps. In terms of the principal
radiiof curvaturein an axisymmetric
case,

[1

ps . - a
c

(49)

where RXy ~s
the principalradiusof curvaturein the x-y planeand RT is the
principalradiusof curvaturein the ~ direction.The expressionswe have just
described correspond t. the ~y termonly. The RT term is evaluatedthe same
way as in NASA SOLA-VOF.10This term is of simpleuniversalform (thatis, it is
independentof the shape of the curvein the xy plane)and is unmodifiedby
wall-adhesioneffects. The near-horizontaland near-vertical cases are
considered separately. For a near-horizontal
surface,the surfaceslope PFX =
tan(rs),where-rsis the angle the surfacemakeswith the horizontal.Then RT .
xi/sin(rs). The sign of RT is opposite that of pFX. For near-vertical
surfaces,PFY = tan(~s);only now Ts is the anglebetweenthe surface and the
27

The top signsof the choices


vertical. Then RT = (Xi+l/2 : Fi,j &xi)/cos(~s).
y and T are takenif fluidis to the rightof the freesurface,and the bottom
signs are chosenif the fluidis to the leftof the interface.The sign of RT
is determinedb;.?FX as in the horizontalcase.
In the code,a pressurepsat is added to the ps calculatedabove. This
pressurerepresentsthe void pressureappropriateto the problembeing run. For
example,in a passivetank-draining
problem,psat is the liquidvapor pressure,
while under forcedtankdrainingconditions,psat is the totalforcingpressure.
In the lattercase,psat may be takento be a functionof time?but thismust be
done by hand.
For certain problems, namely those in which an initialsteadystate
meniscusis requiredin a rightcircularcylindricalsectionof a tank (such as
we have in the two sampleproblems),SUBROUTINEEQUIBcan be calledto generate
the initialsurfaceshape. We startwith a flat interface,and the subroutine
then calculates the deviations from flatness, T. Both T and the radial
coordinateC are scaledin unitsof the tank radius. The surface displacement
is calculatedby numericallysolving

Id
< (dT/dc)
.
Bo ~- 2 COS(TC)= O
~ d< [(1 + (dT/d~)2)121

(50)

where Bo is the Bond number. The boundaryconditionsare dT/dC= O at C = O and


dT/dC= tan(~c)at ~= 1. The constraint

2n

: C T dc = O

(51)

I
is enforced. The numerical method is essentiallythe same as that of
Hotchkiss.10
For convenience,NASA-VOF2Dhas fivedifferentboundaryconditionoptions
on each side of the mesh. Theseoptionsare controlledby setting four flags,
KL, KR, KB, and KT, thatcontrolthe left,right,bottom,and top boundaries,
respectively.The choicesfor KL are as follows:KL = 1, rigidfree-slip wall;
boundary;KL = 4, periodic
KL = 2, rigid no-slip wall;KL = 3, continuative
boundary(KR must equal fouras well);and KL = 5, specified pressure outflow
boundary. The same optionsapply to the other threeboundaries.The detailsof
how theseare implementedare describedin the SOLA-VOFreport,2or theymay be
28

gleaned from SUBROUTINEBC with littleeffort,so theywill not be repeated


here. Other typesof boundaryconditions,
such as the tank-drainhole in the
numerical example in Sec. III, must be suppliedby the user at the end of
SUBROUTINEBC.
The finalconsideration
of the numerical algorithm is stability. Since
many termsare evaluatedexplicitly,that is, at timeleveln, the timestep 6t
must be smallerthana certaincriticalvalue to preventthe unboundedgrowthof
parasiticsolutionsof the differenceequations.Once the mesh has been chosen,
severalrestrictions
are placedon &t to insurethat it is below the critical
value. First, material cannot move more thanone cellwidth per time step.
Therefore,

(52)

where the minimumis takenover everycell in the mesh. Typicallyht is chosen


to be some fairly small fraction, say 0.25, of the minimum. Centered
differencing(a = O) is unconditionally
unstable,and it is necessaryto make a
at least approximately1.2 to 1.5 timeslargerthan the valueof the minimum
functionin Eq. (52)dividedinto the actualat.
The explicitdifferencing
of the viscoustermsalso limitsthe time step.
We require

For this stability limit,at can be quiteclose to the criticalvalue,unlike


the convectivelimit [Eq. (52)].
Finally,the explicittreatmentof the surface-tension
forcesrequiresthat
capillary waves not travelmore thanone cell width in one timestep. A rough
estimatefor this limitis

(J tit2<

6X;

4 (1 + <)

(54)
29

where &xm is the minimumcellwidth in eitherdirectionanywherein the mesh.


All of the above time step controls except the choice of a are
automaticallysatisfied by the programif the user selectsthe automatictime
step controlby settingAUTOT= 1.0. SettingAUTOT= 0.0 will permita constant
6t to be used. The automaticoptionalso adjuststhe timestep to keep pressure
iterationsat approximately
25 per cycle or less. In situations where the
pressure iterationshave not converged after 1000 iterations,or when an
advectiveflux exceedsmore thanhalf the volumeof a cell, the time step is
of the AUTOTselection. Further,in the
automaticallycut in half independent
case of an excessiveadvectiveflux,the cycleis restartedwith the reduced&t.
Examplesof the use of the numerousoptionsof thiscode are presented and
discussed in the contextof severalspecificproblemsat the end of Sec. III,
PP 45-47,and in Sec. IV.

III. PROGRAMDESCRIPTION
The NASA-VOF2Dprogramis highlystructuredso that individual components
may be easily modified to fit specificproblem requirements
or to accept
subsequentcode upgrades. This approachallowsgreaterefficiencyin operation,
simplifies problem setup,and facilitatescode modification.WhileNASA-VOF2D
can run many problemsas is, in general a specific applicationwill require
changes to the logic for special inflow or outflow ports~ complicated
geometries,or unusualinitialconditions.Seldom does anything have to be
will be additionsto the existingstructure.
deleted; rather the modifications
Exampleswill be givenof how to easilyaccomplishchangesutilizingthe UPDATE
utility.
Figure5 displaysthe code logicalsequence,which is containedprincipally
in the main programroutineIIWI. The FILMSETblockcomprisesa seriesof calls
to systemdependent
routineswhichdefineand initializegraphicsoutputunits.
The user must substitute his own comparable routines or eliminate these
statements. SubroutineSETUPis calledto read the inputdata. Problemrestart
capabilityhas been incorporatedinto the code. If the input parameter
NDUMP > 0, SUBROUTINE TAPIN is called, dump tape7 is read,and controlis
transferredback to the main calculational
loop. Otherwise,problem setup and
initializationoccur. The mesh generatoris calledto constructthe computing
mesh and specifyzoningvariables.Next the obstacle generator is called to
interpret input data and to produce the cell area and volumeopen-to-flow
30

Q
START

! FILMSEr

C!!41
BC

PREssIT

I MESHSET \

SETUP
t=cycle=O

-/
L

EEL!

o
0;0%3
P
Prilj

IDEI-TADJ
]

f:t*~l

cycle=cycle
1 I

Fig. 5.

~.tOWduvd

@h

NASA- VOF2V

variablesthatare used throughoutthe calculationto representsolidor porous


interior boundaries.The fluidflow portionof the mesh is then initialized,
a
free surfaceconstructedif indicated,and variousparametersor variablearrays
set. Control is returnedto themain calculational
loop. Boundaryconditions
are implementedby SUBROUTINEBC, which interpretsthe cell BETA values, the
mesh input boundary flags, and the cellNF arrayvaluesand sets appropriate
quantitiesinto interiorobstaclecells, the fictitiousmesh perimeter cells,
and void cellsadjacentto freesurfaces.
Each cycle is started by calling SUBROUTINETILDE to calculatethe
provisionaltimen+l velocitiesusing timen quantities for advective fluxes,
or
body
forces. Becausethe
pressure gradient accelerations,and ViSCOUS
velocityfieldwas changed,SUBROUTINEBC is calledagain to updatethe boundary
cells. The block PRESSIT represents either of the two pressureiteration
31

solutionmethodsavailable. SUBROUTINEVFCONVis next called to advect fluid


utilizing the new velocitiesdeterminedfollowingconvergenceof the pressure
field. Boundaryvaluesare againupdatedwith the new Fs . Because the the
fluidconfiguration
has changed,SUBROUTINEPETACALis calledto redeterminethe
locationand orientationof the surfaceor surfaces,to identifysurface cells,
and to calculate the pressurein thesecellsdue to surfacetension. At the
same time,pressureinterpolation
neighborsare designatedand the interpolation
all quantities
coefficientscalculated. This completesthe timeadvancement,
now beingat timen+l. Outputindicatorsare tested,followedby an adjustment
of the time step and testingof problemend parameters.The problemtime is
advancedalongwith the cyclecounterand controlreturnsto the beginning of
the calculational
loop.
It should be noted thatalthoughthisprogramevolvedfrom SOLA-VOF,not
all of the capabilities
of the lattercode are available. In particular, the
particle-tracking scheme, the two-material capability, and limited
compressibility
have not yet been made compatiblewith partialflowareas.
A briefdescriptionof each subroutineappearsbelow.
IIWI
(main program) Exercises logical control over the sequence of
calculations, initiates output, and tests for problem termination
conditions.
ASET
(interior obstacle generator) Generates the problem variables,
parameters,and flagsto implementthe partialflowareas feature.
BC
(boundary conditions)Sets the appropriatefluidvariablesat the mesh
boundaries and interiorobstacles to produce specified boundary
conditions; sets velocities on free surface and adjacentvoid cell
boundariesin the absenceof real pressuregradients. Proper place to
incorporatespecialboundaryconditionsnot builtinto code.
CAVOVO (calculatesvoid volume)Computesthe volumeof disjointvoid (F = 0.0)
regions.
DELTADJ(timestep adjustment)Computes maximum allowable at for stability;
adjusts At consideringstabilitylimitandnumber of iterationsrequired
to convergepressures;recomputesrelaxationfactors(BETA)used with SOR
method.
DRAW
(generates graphical output) Draws velocity vector plotswith free
surfaces;providesmesh plot;and callssystemutilityfor contour plots
of F and P.
DRWOBS (drawobstacles)Drawslinesaroundall obstacles.
32

DRWVEC (draw a vector)Providesa system-dependent


call opportunityto draw a
line betweenpoints(Xl,yl)and (X2,Y2);plots the symmetric form of a
given line if requested.
DVCAL (additionalboundaryconditions)Providesfree-slipboundaryconditions
for all obstaclesurfaceflow cells.
EQUIB (generatesequilibriumsurface)Solves the two point boundary value
problem to obtain the equilibriumshapeof the free surfacefor time
zero.
EXITLDC(exitmessage)Writesmessageupon terminationindicating reason and
location.
FRAME (graphicsroutine)Drawsa framearoundcomputingmesh.
LAVORE (label void regions) Detects and labels(NF values> 5) all disjoint
(F = 0.0) regions.
MESHSET(meshgenerator)Generatesthe computingmesh from NAMELIST/MSHSET/data
Providesthe necessarygeometricvariablesfor the code.
PETACAL(surfacetension)Determinesthe localfree-surface
orientation(slope),
the surfacecell type [NF(I,J)],interpolationcoefficients[PETA(I
,J)]
and the surfacepressure[PS(i,j)]exertedby surfacetensionforces.
NF = O fluidcell--novoid cellsadjacent
NF = 1 surfacecell--neighboring
fluidcell to the left
NF = 2 surfacecell--neighboring
fluidcell to the right
NF = 3 surfacecell--neighboring
fluidcell on the bottom
NF = 4 surfacecell--neighboring
fluidcell on the top
NF = 5 surfacecell--isolated,
all adjacentcellsare void
NF > 5 void cell--nofluidin cell
PLTPT (plot a point)Providesa systemdependentcall to graphicsroutineto
plot a singlepoint (xl,yl).
PRESCR (conjugateresidualsolution) Utilizesthe conjugateresidualmethod to
bring the advancedtime,pressure,and
velocityfieldsinto agreement.
PRESIT (successiveover-relaxationsolution)Utilizesthe SOR method to bring
the advancedtime,pressure,and velocityfieldsintoagreement.
PRTPLT (printsand plots)Outputroutinefor paperprints, film data prints,
and film plots.
SETUP (problem initialization)Sets necessary constants, computesscaling
factorsand otherparametersfor graphics,calls mesh generator, calls
obstacle generator, initializescell variables, and computes the
relaxationfactorsused with SOR solutionand as cell-typeidentifiers.

TAPIN

(restart)Readsproblemvariablesand controlparametersfrom tape 7 to


continuea previousproblem.
TAPOUT (restart) Writesproblemvariablesand controlparametersto tape7 for
subsequentrestartof problem.
TILDE (temporaryvelocity calculation)calculatesexplicitly provisional
valuesof the velocitiesfrom timen advectionfluxes,pressures,viscous
stresses,and body forces.
Computesthe advective fluxes of F(I,J)
VFCONV (volumefractionconvection)
from the newlydeterminedvelocityfieldand updatesthe F(i,j)array.
vARIABLEsLISTEDIN cOMON (EXCLUDINGINpuTpARAMETERS)
ADEFM
BDEFM
CYL
DTSFT
DTVIS
DXMIN
DYMIN
DUDB
DUDL
DUDR
DUDT
DVDB
DVDL
DVDR
DVDT
EHF
EMF1
EM6
EM6P1
EM1O
EP1O
FCVLIM

34

Defoamoptionparameterdefinedin SUBROUTINEPRESCR
Defoamoptionparameter
Mesh geometryindicator(= ICYL)
MaximumDELT valueallowedby the surface-tension
forces
stabilitycriterion(DELTis automatically
adjusted)
MaximumDELT valueallowedby the viscousforces
stabilitycriterion(DELTis automatically
adjusted)
Variableusuallyequalingthe localmesh size DELX(i)
Variableusuallyequalingthe localmesh size DELY(j)
y-derivative
of u at bottomof cellat timeleveln
x-derivative
of u at leftof cell at timeleveln
x-derivative
of u at rightof cell at timeleveln
y-derivative
of u a top of cellat timeleveln
y-derivative
of v at bottomof cell at timeleveln
x-derivative
of v at left of cell at timeleveln
x-derivative
of v at rightof cell at timeleveln
y-derivative
of v at top of cellat timeleveln
Smallvalue,typically1.Oe-06,used to negateround-off
erroreffectswhen testingf = 1.0 or f = 0.0
=leO-emf
=1.Oe-06
=1.0+EM6
=1.Oe-10
=1.Oe+10
Variableis used to controlsizesof velocities;entered
as data, it is also resetinternally

FLG

FLGX

FNOX
FVOL
I
IBAR
IBAR
IBAR2
IEQIC
IMAX
IM1
IPL

IPR

ITER
J
JBAR
JBAR
JBAR2
JMAX

Pressureiterationconvergencetest indicator(=0.0when
the convergencetest is satisfied,=1.0 when the
convergencetestis not satisfied)
Volumeof fluidfunctionconvectionlimitindicator
(DELTreducedand cyclestartedover if limit
is exceeded)
Pressureconvergencefailureindicator(=1.(),
convergencefailedand DELT is reduced,=0.0 otherwise)
Volumeof fluidin computational
cell
Horizontal(radial)cell index
Numberof real cellsin x-direction(excludesfictitious
cells)
Value of the indexi at the next to the last real cell
in the x-direction(=IMAX-2)
=IBAR+2,specifiedin parameterstatement
(=IBAR+3,if periodicin x-direction)
Flag indicatingwhethersubroutinefor equilibriumsurface
shape is to be called
Total numberof mesh cellsin x-direction(=ibar+2)
(=IBAR+3,if periodicin x-direction)
Valueof the indexi at the last real cell in the
x-direction(=imax1)
Leftmostpressureiterationindexin x-direction
(=3 for constantpressureboundarycondition,=2 for
all othercases)
Rightmostpressureiterationindexin x-direction
(=ibarfor constantpressureboundarycondition,=iml for
all othercases)
Pressureiterationcounter
Vertical(axial)cell index
Numberof real cellsin y-direction(excludesfictitious
cells)
Value of the indexj at the next to the last real cell
in the y-direction(=jmax-2)
=jbar+2,specifiedin parameterstatement
(=jbar+3,if periodicin y-direction)
Totalnumberof mesh cellsin y-direction(=jbar+2)
(=jbar+3,if periodicin y-direction)
35

JM1
JPB

JPT

LITER
NCYX
NDUMP

NFLGX
NMAT
NOBS
NOCON
NP
NPRTS
NREQ
NVOR
MESHX
MESHY
PI
PSAT

RCSQ
RHOD
RPD
SF
T
TWPLT
36

Value of the indexj at the last real cell in the


y-direction(=jmax-1)
Bottompressureiterationindexin y-direction
(=3 for constantpressureboundarycondition,=2 for
all othercases)
Top pressureiterationindexin y-direction
(=jbarfor constantpressureboundarycondition,=jml for
all othercases)
Numberof iterationson the previouscycle
Calculational
timecyclenumber
Tape 7 dump sequencenumber. Set to zero to
skip taperestart. Otherwise,it must equal the
sequencenumberon tape7 to successfully
restart.
Numberof cyclesthe volume-of-fluid
functionconvection
limit (flgc)is exceeded
(a fossil)The numberof materials,alwaysset to unity
Numberof obstaclefunctionsbeinginput
Numberof cyclespressureconvergence
has failed
Totalnumberof particlescomputedto be in mesh
Numberof particlesin mesh,specfiedin parameter
statement(usedto set arraysize-mustbe O)
Numberof void regionsgeneratedin calculation
Maximumnumberof void regionsallowed,specifiedin
parameterstatement
Numberof submeshregionsin x-direction,
specified
in parameterstatement
Numberof submeshregionsin y-direction,
specified
in parameterstatement
=3.141592654
Constantvoid pressureadded to surface-tension
pressure
(canbe convertedby hand to a time-dependent
driving
pressure)
= O (for the presentreport)
= O (for the present,one-material
capability)
Degreesto radiansconversionfactor
Plot scalingfactor
Problemtime
Problemtimeat which the next graphicaloutputis made

TWPRT
TANGLE
VCHGT
VELMX1
XMAX
XMIN
XSHFT
YMAX
YMIN
YSHFT

Problemtimeat which the next printedoutputis made


Tangentof contactangle,cangle
Accumulatedfluidvolumechange
Velmxnormalizedto minimummesh cell dimension
Locationof right-handside of mesh
Locationof left-handside of mesh
Computedshiftalong the plottingabscissato center
the plot frameon film
Locationof the top of the mesh
Locationof the bottomof the mesh
Computedshiftalong the plottingordinateto centerthe
plot frameon film

ARRAYSIN COMMON(EXCLUDINGMESH SETUPPARAMETERS)


ACOM(l)
AC(i,j)
AR(i,j)
AT(i,j)
BETA(i,j)
COSO(i,j)

DELX(i)
DELY(j)
F(I,J)
FN(i,j)
IP(k)
JP(k)
LABS(5)
NAME(10)
NF(I,J)

Firstword in common
Fractionalvolumeopen to flow in cell (i,j)
Fractionalarea open to flowon right (east)
wall in cell (i,j)
Fractionalarea open to flowon top (north)
wall in cell (itj)
Pressureiterationrelaxationfactorin cell (i,j)
Cosineof angle fluidmakesunderwall-adhesion
in cell
(i,j)when it is partialflow cell. Anglemeasuredwith
respectto vertical
Mesh spacingof the i-th cell along the x-axis
Mesh spacingof the j-th cell along the y-axis
Volumeof fluidper unit volumeof cell (1,3)at time
leveln+l
Volumeof fluidper unit volumeof cell (i,j)at time
leveln
Cell indexfor particlek alongx-axis
Cell indexfor particlek alongy-axis
Temporarystoragelocationfor t, for internaluse
Problemidentification
line
Flag of surfacecell (1,3)indicatingthe location
of its neighboringpressureinterpolation
cell
37

Labelof void region,k > 5


Flag of partialflowcell (I,J)indicatinggeometryof
curvedsurfacewall
Pressurein cell (i,j)at timeleveln+l
P(i,j)
factorfor cell (i,j)
PETA(i,j) Pressureinterpolation
Pressurein cell (i,j)at timeleveln
PN(i,j)
Pressurein void regionnr(k)
PR(k)
Surfacepressurein cell (i,j)computedfromsurface
PS(i,j)
tensionforces
Reciprocalof delx(i)
RDX(i)
Reciprocalof dely(j)
RDY(j)
Reciprocalof x(i)
RX(i)
Reciprocalof xi(i)
RXI(i)
Reciprocalof yj(j)
RYJ(j)
in cell (i,j)
SINO(i,j) Sine of angle fluidmakesunderwall-adhesion
when it is partialflow cell. Anglemeasuredwith respect
to vertical
TANTH(i,j) Slopeof fluidsurfacein cell (i,j)
x-directionvelocitycomponentin cell (i,j)at time
U(i,j)
leveln+l
LJN(i,j )
x-directionvelocitycomponentin cell (i$j)at time
leveln
y-directionvelocitycomponentin cell (i,j)at time
V( i , j )
leveln+l
VN(i,j)
y-directionvelocitycomponentin cell (i,j)at time
leveln
VOL(k)
Volumeof void regionnr(k)
X(i)
Locationof the right-handboundaryof the i-th cell
along the xaxis
Locationof the centerof the i-th cell along the
XI(i)
x-axis
x-coordinate
of particlek
XP(k)
Locationof the top boundaryof the j-th cell along the
Y(j)
y-axis
YJ(j)
Locationof the centerof the j-th cellalong the
y-axis
YP(k)
y-coordinate
of particlek
ZC(20)
Storagefor numberof contourlinesto be plotted
NR(k)
NU(I,J)

38

PROBLEMINPUT
Problem input data are furnished the code by the NAMELISTformat-free
option. The sourcedeck prologuetabulates the several sets and identifies
their function. Most have defaultvaluesspecifiedby DATA statementslocated
in the main routineIIWI and SUBROUTINESETUPjust beforethe first executable
statements.Probleminputdata sets need only referencevariablesor parameters
whose valuesdifferfrom thesedefaults.
NAMELISTXPUT parametersspecifythe materialpropertiesof the fluid, the
code parameters,and output
solution method options, problem-dependent
requirements.
INPUTPARAMETERS(NAMELIST/XPUT/)
ALPHA Controls amount of donor-cell fluxing (=1.0 for full donor-cell
differencing,
=0.0 for centraldifferencing)
AUTOT Automatic time step flag (=1.0for automaticDELT adjustment,=0.0 for
constantDELT)
CANGLE Contactangle,in degrees,betweenfluidand wall
C.F.L.conditioncell
width fractionmoved in timestep
CON
Time step
DELT
DTCRMX MaximumDELT usingconjugateresidualsolutionmethod
Pressureiterationconvergencecriterion
EPSI
FLHT
Fluidheight,in y-direction
Body accelerationin positivex-direction
GX
GY
Ilodyaccelerationin positivey-direction
ICYL
Mesh geometryindicator(=1 for cylindricalcoordinates,=0 for plane
coordinates)
IDEFM Defoameroptionflagon = 1, off = O
IDIV
Divergencecorrectionflagon = 1, off = O
IMOVY Movie indicator(=1 for movie film output,=0 for other film output)
ISOR
Pressureiterationsolutionmethod(conjugateresidual= O, SOR = 1)
ISURF1OSurface tension indicator (=1 for surfacetension,=0 for no surface
tension)
ISYMPLTSymmetryplot indicator(.1 for symmetryplot,=0 for no symmetryplot)
KB

Indicatorfor boundaryconditionto be used along the bottomof the mesh


(=1 for rigid free-slip wall, =2 for rigid no-slip wall, =3 for
continuative
boundary,=4 for periodicboundary,=5 for constantpressure
boundary)
39

KL
KR
KT
NAME
NDUMP
NPACK
NPX
NPY

XNu
OMG
PLTDT
PRTDT
QVOL
RHOF
RHOFC
SIGMA

TWFIN
UI
VI
VELMX
XPL
XPR
YPB
YPT

Indicatorfor boundaryconditionalongleftside of mesh (seekb)


Indicatorfor boundaryconditionalongrightside of mesh (seekb)
Indicatorfor boundaryconditionalong top of mesh (seekb)
Problemidentification
Dump numberfor problemrestart
Flag to activatepacking(on = 1, off = O)
Numberof particlesin x-directionin rectangularsetup
Numberof particlesin y-directionin rectangularsetup
Coefficientof kinematicviscosity
Over-relaxation
factorused in pressureiteration
Time incrementbetweenplotsand/orprintsto be outputon film
Time incrementbetweenprintson paper
Availableto specifyflow rate (inflowor outflow)if required
Fluiddensity(for f = 1.0 region)
-rhof (for the present,one-material,
capability)
Surface-tension
coefficient
Problemtime to end calculation
xdirectionvelocityused for initializing
mesh
y-directionvelocityused for initializing
mesh
Maximumvelocityexpectedin problem,used to scalevelocityvectors
Locationof left side of rectangular
particleregion
Locationof rightside of rectangularparticleregion
Locationof bottomof rectangularparticleregion
Locationof top of rectangularparticleregion

NAMELIST MSHSET is used to definethe computational


regiondimensionsand
the zoningwithinthatregion. The computingmesh is constructedfrom a number
of submeshesdefinedin each coordinatedirection. The namelistinputspecifies
the boundaries,the number of cells, the minimum cell dimension, and the
convergencepoint of each submesh. Variable spacings are accommodatedby
linkinga groupof submeshestogetherto achieve any desired distributionof
cell spacing. This is done in the same mannerin both directions.The number
of cellsis specifiedin each submeshon each side (i.e.!to the left and to the
right) of the convergencepoint. Both cells directly adjacent to the
convergencepointwill have a cell spacingequalto the minimumvalue specified
in the inputas DXMN or DYMN. The cell spacingis thenexpandedquadratically
from thesecells to the leftand rightedgesof the submeshin accordance with
the desired number of cells (NXR,NXLor NYR,NYL)in the inputlist. If the
numberof cellsspecifiedon the left (right)shouldproducea uniformcell size
40

that is less than the minimumspecifiedcell size DXMN (or DYMN),a uniform
spacingis thenused on the left (right). The numberof cells to the left and
to the right of the convergencepointneed not be equal,but theremust be at
leastone on both sides.
When two or more submeshesare linkedtogether,it is imperative that the
location of the left edge of the rightsubmeshbe the same as the locationof
the rightedge of the left submesh. In addition, large disparities in cell
spacingshouldbe avoidedwithina submeshand going from one submeshto another
by adjustingthe numberof cellsin the varioussubmeshes.As a general rule
the spacingof adjacentcellsshouldnot differby more than 10-20%. The aspect
ratio (DELX/DELY)for a given cell shouldnot exceed1.5 and should be greater
than0.67.
An example of the properformatto be used to specifya mesh spanningthe
x-dimensionLW < x < RW with n submeshesis
NKX=n,
XL= LW, XL2, XL3, ..*!xLn~
XR = XL2, XL3, ...,XLn, Rw,
xc = Xcl, XC2, ...xcn,
NXL = NL1, NL2, ...,NLn,
NXR = NRl, NR2~ ...,%9
DXMN = DXMN1,DXMN2,...,DXMNn
in whichNLi representsthe numberof cells to the left of Xci and NRi is the
numberof cellsto the rightof Xci in each submeshi, i = 1, 2, ...,n.
References [2] and [10]containseveralexamplesof mesh generationinput
and resultantcomputational
meshes.
MESH SETUPINPUT (NAMELIST/MSHSET/)
DXMN(n)
DYMN(n)
NKY
NXL(n)
NXR(n)
NYL(n)
NYR(n)

Minimumspace incrementin x-directionin submeshn


Minimumspace incrementin y-directionin submeshn
Numberof submeshregionsin x-direction
Numberof submeshregionsin y-direction
Numberof cellsbetweenlocationsXL(n)and XL(n) in
submeshn
Numberof cellsbetweenlocationsXL(n)and XL(n+l)in
submeshn
Numberof cellsbetweenlocationsYL(n)and YC(n) in
submeshn
Numberof cellsbetweenlocationsYC(n)and YL(n+l)in
submeshn
41

XC(n)
XL(n)

x-coordinate
of the convergence
pointin submeshn
Locationof the leftedge of submeshn [NKX+lvalues

YC(n)
YL(n)

of XL(n)are necessarybecausethe rightedge (XR)of


submeshn is determinedby the left edge of
submeshn+l]
y-coordinate
of the convergence
pointin submeshn
Locationof the bottomof submeshn [NKY+lvaluesof
YL(n)are necessarybecausethe top edge (YR)of
submeshn is determinedby the bottomedge of
submeshn+l]

NAMELISTASETINprovidesinformationto the interior-obstacle-generating


subroutine. Interior obstacles are definedas any nonflowregionswithin the
computational
mesh. As with the mesh generator,it is convenient to have the
necessary flags and parametersproduced automaticallyby the code for
arbitrary-shaped
obstacles. The generatoruses a seriesof conic sections to
defineobstaclesurfacesplus an additionalparameterthatdirectsthe generator
to designatecomputational
cellsas eitherflowor nonflowregions. The conic
sections may overlap one anotherand thisfeatureis utilizedto form complex
surfaces.
The procedureis as follows:Coefficients
of the generalconicfunction

F(x,y)= a2x2 + alx + b2y2 + bly + C2XY + c1

are chosensuch thatsome portionof the definedsurfacecoincideswith that of


the desired internal obstacle. Computationalcellspartiallyor completely
insidethe conicsurface[i.e.,F(xc,yc)< 0.0 , xc and yc being cell boundary
coordinates]
are flaggedclosedto flow,partiallyclosedto flow,or fullyopen
to flow dependingupon the additionalparameterIOH (=1.0 closed, =0.0 open)
associated with each function. Generallyadditionalfunctionscan be utilized
to removeunwantedobstaclecellsaddedby otherfunctions.For example, given
reasonable zoning,a 1.O-x l.O-cmobstaclein the lowerrightcornerof a 2.0x Z.()-cm mesh would resultfrom fl = -x+l.0~ IOH1 = 1.0, which defines all
cells, regardlessof y value, to therightof x = 1.0 to be obstacles,and
followedby f2 = -Y+l.0,IOH2 = 0.0, which removesall obstaclecellsabovey =
1.0.

42

After all sets of obstacledata have been processed,the computingmesh is


sweptand individualcell area and volumeopentoflow
variables are assigned.
Aside from geometric factorsfor cylindricalcoordinates,they range from 0.0
(notopen to flow)to 1.0 (fullyopen to flow).
OBSTACLESETUPINPUT (NAMELIST/ASETIN/)
IOH(n)
OA2(n)
OAl(n)
OB2(n)
OBl(n)
OC2(n)
OCl(n)

Indicatorto add obstaclesinsidefunctionn (=1)or


subtractobstacles(=0)
Coefficientof x2termin functionn
Coefficientof x-termin functionn
Coefficientof y2-termin functionn
Coefficientof y-termin functionn
Coefficientof xy-termin functionn
Coefficientof constantterm in functionn

Problemoutputconsistsof data printson eitherpaper or film and film


plots of the velocity field including free surfacecontoursand obstacles
outlines. Mesh generationdata,partialflowarea data,and cell variablesdata
for cycles O and 1 are outputautomatically
to both media. Thereafterthe
frequencyof the cell data printsor plots is determined by print or plot
incrementsspecifiedin the probleminputdata set. In addition,graphicsystem
packagesare utilizedto securecontourplots of F and P. Calls to these
routinesappearin SUBROUTINEDRAW.
Provision is availableto producea plot file thatcan be processedinto a
movie. The inputparameterIMOVYsuppressesall references to the film file
other than thosefrom velocityvectorplot routines.
The main task in using the code is to formulatethe problemcorrectlyand
to presentthe codewith properinput. The theoreticalstudy or experimental
simulationshouldbe analyzedas to the regionsof principalinterestand a mesh
constructedof sufficient fineness to resolve the phenomena of interest.
Unconfined flows require attention to the selectionof appropriateboundary
conditionsand a mesh largeenough to minimize boundary perturbations. The
importance of physicalprocessesnot specifically
addressedin the code should
be evaluated. Some of the problemcontrolparameters are best determined by
experience.
Table 2 is an exampleof a typicalinputdata set. The code is to simulate
a near-fullcylindrical tank with hemisphericalbottom draining under the
influence of reduced gravity,surface-tension,
and walladhesion
forces. The
43

TABLE 11
EXAMPLE INPUT
$XPUT
NAME=55HH0TCHKIss
CASE 1 4/28/85
NPACK=O. OVOL=3.139E01,
IOEFM=I,
NDUMP=O, ISOR=O,
ICYL=l.
DTCRMX=0.0004,
DELT=.0002,
GY=-14.72.
CANGLE=5. , SIGMA= 18.6,
IsuRFlo=lt
IEQIc=lw
XNU=4.43E-03.
RHOF=l. 58.
EPSI=l.E-03*
PRTDT=I.E+IO,
TWFIN=2.301,
VELMX=1O. ,
ISYMPLT=I,
AUTOT=I.
FLHT=6. ,
PLTDT=.05,
$END
$MSHSET
NXR=l, 1, DXMN=O.2.O.1.
NKX=2,
XL=O.O, .4.2..
X:;:3261
.9.
NxL=ft8.
NYR=18,
DYMN=O.2,
NYL=18,
YL=O.0,
7.2,
- . .
NKY=I,
$END
$ASETIN
NOBS=2.
IOH(I)=l.
,
OBI( 1)=4.,
OB2( 1)=-1.,
OA2(1 )=-I . .
OC1(2)=2.
, IOH(2)=0.
. .
OBI(2)=-1
$ENO

dischargeflow rate is specifiedand is constantwith time. Input and output


will be in CGS units, although any consistent set of units is allowed.
Referringto the tabulatedinputparameterssection, note that the conjugate
residualmethodwas chosen(ISOR= O), the packingoptionis on (NPACK= 1), and
the volumetricflow rate specified(QVOL= 31.39). The initialfluidvolume in
the tank is specifiedby givingthe fluidheightabove the tankbottom(FLHT=
The surface-tension
flag is on (ISURF1O = 1), cylindricalcoordinates
6.0).
chosen (ICYL= 1), the equilibriumsurfacecalculationis requested(IEQIC= 1)
alongwith automatictimestepadjustment
(AUTOT= 1). The initial DELT is
computed from the outflow rate, dischargeopeningarea,and mesh spacingto
satisfystabilityconstraints.The convergencecriterion (EPSI = 0.001) is
picked to be sufficiently
small to assurethatnegligblepressureerrorsresult
from nonzero(VOg)s. Paperoutputis suppressedby the largeprint interval.
Figure6 displaysthe computingmesh generatedfrom MSHSET data and its
mirrorreflectionacrossthe cylindrical
axis. This fullcrosssectionplot for
cylindricalgeometryis obtainedwhen the input parameter ISYMPLT = 1. The
x-coordinatehas two submesheswith a totalof 11 real cells,the spacingbeing
has a singlesubmesh with 36 real
finernear the tankwall. The y-coordinate
cells. The curved boundary at the bottomwas drawnfrom code variablesand
parametersproducedby the obstaclegeneratorsubroutinefrom the ASETIN data
set. Computationalcellswhoseareasare bisectedby the curveare definedto
be partialflow cellswhoseboundariesare identifiedas partialflow areas and
treatedaccordinglythroughoutthe calculation.Curvedboundariesare simulated
44

within the code by use of thesepartialflowareas. Computingmesh cells to the


right and below the curveare designatedobstaclecells,while thoseaboveand
to the left are fluidflowcells.
Figure7 shows the timezero fluidconfiguration
generatedfrom XPUT data.
The initial surface shape is furnishedby SUBROUTINEEQUIB,which solvesthe
two-point boundary value problem for the equilibrium position of the
free-surface.The parametersof the equationare the contactangle (cangle)and
the Bond number(pgR2/u,where R is the tank radius). This free surface
configurationis utilizedto specifyvoid cells,partiallyfilledfluidcells,
and completelyfull fluidcellsin the computational
mesh. The free surface is
represented in the plot by the F = 0.5 contour, whichgenerallydoes not
correctlydisplaythe surfacemeniscusat the walls.
Table 3 containscode changesnecessaryto run the example. Programs for
maintaining and updatingsourcedecks (UPDATEor HISTORIAN)afforda convenient
way to incorporateproblem-dependent
modificationsinto the executable code.
These particular modificationsarise since we wish to simulatea smallpipe
TABLE 111
EXAMPLE COVE MODIFICATIONS
*IDENT

HOTCHI

.D.COMMONI.2

SET MESH DIMENSIONS

IF

CR SOLUTION

: IBAR2=IMAX

LJBAR2=JMAX

c
PARAMETER(IBAR2=13

,JBAR2=38,MESHX=3.MESHY=2.NVOR=25

NOBD=201

I,ASET.

c
c
c

2400

=I,BC.
c
c
c

171
SET AREA ANO VOLUME OPEN TO FLOW FOR OESIGNATEO

OUTFLOW CELLS

DO 2400 1=2,2
AT(I,
l)=l.O
AC(I, l)=l.O
AC(I,2)=1.O
CONTINUE
164
SET SPECIFIEO

OUTFLOW VELOCITIES

FOR DESIGNATED

OUTFLOW CELLS

DO 500 1=2,2
U(I.1)=0.O
V(I.1)=-OVOL/(PI=X(2)=*2)
CONTINUE

500
c
~I,PRESCR.
137
c
c
INSERT SPECIAL
TEST IN CONJUGATE RESIOUAL SOLUTION ALGORITHM
TO RECOGNIZE OUTFLOW CELL ANO CALCULATE PROPER COUPLING
c
c
IF(I.EO.2.ANO.J.EO.2)
GO TO 40
c
*I,PRESCR.81
IF(F(Il,d+l).LT.EMF.AND
.13ETA( I-1.J+I).GT.O.0)
GO TO 5
IF(F(I1.J).LT.EMF.ANO
.BETA(Il,J).GT.O.0)
GO TO 5
IF(F(Il,J-1).LT.EMF.
AND.BETA(I -1.J-1).GT.O.0)
GO TO 5
IF(F(I,
U-1 ).LT.EMF.ANO
.6ETA(I,
d-1).GT.O.0)
GO TO 5
IF(F(I+l
.IJ-1).LT.EMF
.ANO.BETA( I+l.J-1).GT
.0.0)
GO TD 5
IF(F(I+l,J)
.LT.EMF.ANO
.BETA(I+l,
.J).GT.O.0)
GO TO 5
IF(F(I+I,J+l
).LT.EMF
.AND.BETA(
I+l,J+l).GT.O.0)
GO TO 5

45

locatedon the tankbottomat the cylindricalaxis, whereas the code lacks


provisionfor partiallyopen mesh boundaries.
First the PARAMETERstatement(no. 2 of COMMON1)is replaced,specifying
the minimumstoragerequirements
for the variousarrays. A commentis included
regarding the selectionof the conjugateresidualmethod. Next, statementsare
insertedat the end of SUBROUTINEASET to redefinethe cell area open to flow
variables for cell i = 2, j = 1 so thata dischargeport is created. A second
insertionat the end of SUBROUTINEBC specifiesthe constant outflow velocity
for this port. Finallya changeis requiredin SUBROUTINEPRESCRto correctly
apply outflowvelocityboundaryconditions for discharge port cells in the
pressureiteration.
Table 4 lists dimensionalvariables resultingfrom the mesh generator.
Spacingin the x-directionis nonuniform,whereasthe y-direction is uniform.
Table 5 is a partiallist of the over-relaxation
parameters,area,and volume
open-to-flow
variablesassociatedwith each cell. BETA(i,j)= -1.0 identifies
cells completelyclosedto flow. Also tabulatedare the sine and cosineof the
angles(madewith the vertical)of the surface of the partial flow volumes
representingcurved walls. Table 6 tabulates problem control, mesh,and
obstacleinputdata or parameters.A completecycleprintis includedin Table
7 as an example of code outputand as a checkoutaid. This is the solution
afterone time stepwhen the flow fieldis establishedand the pressure and
velocity fieldsare consistent.Surfacepressuresare definedonly for surface
cells [0 < NF(i,j)< 6] and are negative indicating that the unbalanced
surface-tension
forcesare directedupwardand actingto straightenthe surface.
Cell i = 2, j = 30 has F = 0.111and NF = 3 showing that the surface passes
through and is nearly horizontal,and thatfluidis in its bottomportion.
Figure8 is the velocityvectorplot at this time.

Iv.

SAMPLEAPPLICATIONS

In thissectionwe show resultsfor fourexamples. The first two casesare


a fallingslug and a sloshingtankof water. Thesecaseshave knownanalytical
solutionsand are usefulfor testingthe performanceof the NASA-VOF2D program.
We thendiscussa tank-draining
problemand a fuel reorientation
problem.
We first consider the one-dimensionalfalling slug problem. Both
cylindricaland Cartesiancaseswere run with the same results. The problem is
to consider a slug of fluid well above the bottomof a tall cylindrical
46

cl-i

11 1, 11 v
.------------

. . . . . .
Wullnlnlnv

t\

o-mm

,,

!,

mcno-Nm
----

,,

MI-.
xxx

v.

1$ ,,
--

1, 11 II 11 II 1. 1. II 1.

-mmwln@r.
x

-------------

It

Krxuatyafxucy

M.-.

I(

,4
e-------

muaa

It

--M*.-..HI-I.)-I.
x v, x x

1,

-mmwmm*mm

u
---

H**
I-IXxxxxxxxxx

Lnmvwln
1, h
1,

,,

,!

LnlDaJ
,,

----

!!Ll

o-mm
---_ _
-

. . . . . . . . . . . . .
lnln

---------

)wu)mr-ma)

II 11 1, u
---------

-C-41-

11 II
-----

1, ,, 1, ,,

.mmwmw~a

---

---------------------

,,

1,
--

!1

II
---

mo-~mqm
..-.

II
II !!
mwm

77>>>

13 1!

w~amo.

,, 4,
u 1,
-----------------------

-.----

>33z>>3>>>7>7>>>>>
> >>>>>>>>>>>>>>>>,,>>>,>>>>>>>>>>>>>>>

-----!,

!!.,

$000000

,.

,,

,,

,,

,,

-----------

wow

??00000000
,,,
,,,
,,
Ultdluluululululww
tcvalmls
amt-wvo
-mmmmrm~va
mcimmol
Ulwwml.
-mmmmnm

,,

,,

,,

,,

,,

mmvmwtim
>3>>3>>>>3

,,

,,
---

,,

,,

. . . . . . mt-wwmmuwvm
. . . . . . . . . .
--.----.-.-

mt-Nt-NtN
--

1, u

------------

Nwmmmmmmmmm

373>>

---

Nmm

mmqmw+mmo.
_-

47

2
L

-1

ummeeua

mmemuu-------

(Y(Y(YCYIYCYtYfXCZEKIYKIW--

.,,,,,

O?oooocoooo

mmmmmmmmmmm

.-.

I.nu-l-ulmlnlnlnmlnlsl

Uwuluuuuuluulul

mmwmmmmmmcnm

-m----

,,!,,,,

.---,

.-m----Il.,,.!

.--.

Oooocoooooo

,,0..!

m u-------Ooocooc?c

mmmmmmmc+

UIUJWWUIWUIAI
ltlUIL~KllllUIYC

LLwluuwlubuwuu
Inmmlnm-lnll-lmlnm

,,!,!,!

,!!!,,.!

00000000

&LJ:~&&

eacomwmmww

t-1-l-l-r-t-+n
. . . .

Ullnullnlnlnmk

Imlrlulmmt-dl.lJ-llnLflln

Inlnullnlnmr+lnlnlnln

:::::g:::::

mmmmmmmt--.----mr.

.-.-.-.~~.---

mmmmmf.t-mmmm

t-l-r-r-+w-t-l-r-r-

88?W)W)???
++

. . . . . .

~~~:~~g:,

mmmmmfac+mmcnm

,,

ci&cirnciww&Iirn
& filimcnulmr--

Iowwo.mwts.w.

.----.-~p-..-.

tnmmmmmmmcncnm

-.-~~Q-.---

---~~~-.--.

m.mwcamammmmm

r.r.t.mmor-t-f.+t-

r-F-+(9bl-+t-b+rtntmm-wmmmmtnm
Inlnulww-u-llmlnlnln

AWWILAUJUWIUUW

00?00000000

--NNNNNWNNNNN--NNNNKNNNNNN-Ocooooooooo

Ci.iolwtnmlnulolcnal

cnmmw-mmatmmm

.(D(D. UI.....IS
. . . . . . . . .

WUluu.luuwuwuw
Ulmmotn-m(nmlnln
mmmmmmutmmmm

,,,,,, 00000000000

68:PGG;;GGG
i-cili .iliricirimci

-cic+e4r+c4me4aNc40-

00000000000
,,,,,,
,,,,,
U4ULUUJUUWIUWUILI
l.c400*t.t.br-+t-

Lnr-txullnmlntnmlnm

v.

;88g8 gsg888888z88888
g888888z888
+,4-++++
.-+++4+, +++++*++
-**+,+*+

mmmtnmmmmmmm

tnwommmmmmmtn
-mm-------l.tmwwl.r-l.r-l-r-r-

~838888sg888g888
+-+.+.+ *++*+**.
880g:8

uuuuuwuguuwuwuguuuwuwuuuuwuwwwwugwuwuu%uwuuwuu
:gj$pg~~

,.o.088~800i88:8
. . . . . . . . . . . . .ii!i!iiii!iiii!
. . . . . . . . . . . . . . .!8iiii!iiiiiiii!
. . . . . . . . . . . . . . . .i!!i[![!!!
..........
--ooooo oooooo--boooooo oo--. .- Noooooo ----. -woooo o-------m

---&
oc@
UIUJL
L;if#

--*WWU
mmm
. . .
mmm

.--.
------C20000coccoc
,,
,,, ,,,
WUUJUJWWWLLIWWUI

L.UJUIUUJUJ14JUIUWW
I-1-+++r*r-rJm*
UYlnmlnlnlnolnovln
Inmullmlmlnlnlnwoln
--.-.-.--~~r-r-+l-r-rrr-w-f.
. . . . . . . . .
mmmmmmmmw.sm

,,,,,,,!

Li~+*vo

,,,,!,,

,,,,!!,

-----------&

0000000000
y
..!!
.!.
UJUJUUIUUJIUUWWU
Inullnm mmlnutlnlnw
mmmommmcnomr--. -.------w
@ww@wwww
low m
mmmcnmmmmmmm
. . . . . . . . .
titimmmmcnmmcn
m

!.!!!!!

ii

. . . . . ------. . . . . . . m*m*o--.
. . . . . . . . -.-.
. . . . m*m*o
. . . . .

Uluwuwwulwwuul
UJUUIUIWUJUJUJUJUW
Wulbluluwuluwwu
!-I.r-!=r-r-l-t-r-l-ol F-t-r-r-l-l-l-I-*l-m
Frr.t.l-l-l.l.t.oul
Irllnlnlnu!lninlnlnvri Inmlr-lulullnlnlnullnmInmuYlnlnmlnlnuiLnu
Inlnmmmlnlnmmmo
Ulinlnu-llnlminlnlnww Inll-llnlnulu-lu-llnlnulv
----------o
--.-.-.-.--0
--.-----.-~~
yr:t-l-l-r-t-t-r-l-in
t-1-l-l-l.l-l-l-l.mo r-b-r-t-l-l-l-l-l-m
. . . . . . . . .
. . . . . . . . . . .
. .
. . . . . . . .
mmmmmmmmmmmmmmmmmmmmei
mmwmmmmmmnm

NKW~-~~N
WNW--K~W
-m- N- NmN-KR-- 00000000000
titim-----=
00000000000
00000000000

~----.---e~ . ------- . -- a ------- . --- &


Cocoooooooo
00000000000
00000000000
!,
!,..,,,
,
,,, ,
,,, ,,,
,, .,,,,
,,,
IUUUJUJ UIWUJIUUIUIIU WIUWIUUI UUJUJUILUUI
Iuuuluwuuuwlulu
UYlnmln lmlnlnlnlnalrl Inmmlmln lnlnlnlnlnc-+
lf7L~Ltl UlU1-~Ul
Ul1171tl
mmmmmmtmmmmm
mmmmmmm
mm-tmmmmcnmmmmtwm
-----.-.---fi~
-------------.--------~*tsm
olDwww
IDw@w *r+ QWWWOWWQW
Vwwwwwwwmmm
mcnmtnommmm
fmw
mmmmmcnmmm . . .om
.,.
. . mmmmtnmmmmmm
. . . . . . . . . . .
&&ai&&&rntim.mm
mmmmmmmmmmm
d6rnci&timmmmm

Inmmlnl ntnull-mlnln
tnm
cn.mmmmcnmwf.
-----.--o-tswwuwwumcwuw
c.mmmmmm-mmm
&&m fiaci&mtifirn

. . . . . . .

,!

m --o------

mmmmcmmmmtnm

. . .

I-1-l-r-r-r-rr-mt-r-

~ti W-Wmm KO-WWW- m--~ NK-NN~N


00000000000
?0?
oooo?~ooooo
,,,.,!
,,,,,,,
IUIAJUWUWUJL.IUIUUJ
Fr--l-f-t-Pf-lcvl-fu7~LOmlIIU31!lGNL?~
lclclnL?lnlnLnmvuJr,
.-------~m--

UIW14.
r-f-l=
ICWYLO

Ulmm
--. . .
mmm

r-l-r-

--,,, o --------

49

..--------00000000000
,.
,,, ,,,
fnmmmmmmmmmw
-.--------e

Ulluuiuuwwwulluu
UlU7WL~lIlllllflUYU)U)W

%%%%!$lg!gg!g$g
Cicici;fitib.irncifi

!!,.,,

a---------?0000000000
.E.
,,.,,,,

&&&m-

!nInmmlnmmmmlntc
mmmmmmmmmmm
-------------

Uwwuuwuuwluw

g:::g::fggg:
&&&rn&&rn
00000000000
,,,,,

Inlnlnlnmlnlnmtnlnul

Wwlulutululuuluulu
I-r.r.l-r.l.l.r.r.r-f.

,,,,,,

!-r.r.r-er.r.l-r-r.r-

mmrnmmmmmmmm

00000000000

l-r-Pr-l-r.t-r-FPt-

Arn&mm&mmmmm

Inlnlnlnmlnlnlnlnlnm

,,,.,,,,
Iuuwwwuulluwujul
l-1-l-r-r-r.l.r-c-t-*

-----------r-1-l.l-l.r.l.++r.r.
mdrnrn;mdmrnrn

,,

0000
,,,,
:U::

l-f-f.l
mmmm

-+

mlmu-llnlnlnulu-iullnmU7mlnlrl
Ullnmlnlnlnlnlnlmmm Inlnlmm
----

Uwwuluwwluluuu,
I-r-r-f.r-r.l.l.r-r-l.

,,,,,,,,

0000000000?

--------.K----.
. . ---e ----------=---Ooooooooooc
?0000000000
00000000000
0000
,,,,,,
,,,,,
,,,,,
,,,,,,
,,,,,
UIUWUJUUJWUJIUUJUI
Iuluwlululuwuuluw
Wuuwluluuluul!uk
Inlmlnlnlnmlnlnu)lnm U-llnmullmlnlnullnlnlnInlnlnlnlnlnlnplnlnln Wuluw
Ulmlnm
mmmmmmmmmmm
mmmmcnmmmmmm
mcnmmmmcnmmmm
mmmm
------------------------Wwwwwwwwwww
Wwwwww...ww
mmmcnmmmommm
mmmcnmmmmmmm
. . . . . . . :%8%
ci&Gici Li&ci&&.i&
&&rn&mmmmmmm
&&&m

~~~~~:~~;~~
.i&li&li &&&&&&

!,,,!,

Inmlnlnmlnlntnmmul

Uwuuwwwwulwul
I.t-l-r.l.l.l-r.Ff-l-

,,

000000??000

mmmwmdNNmmNmNmmNmmNNNNmammaNNmmmNNmKwNNmmmNmmNmKNmNNmmNNmmNKmNmw

00000000000

,,,,,

I-r-l-r-r.f.r-r.*1-w
Inlmlnlnmlnlnlnmlno

,!,.,
UUIUUIUIUUIWUJIUU

mmmmmmmmmmm

InmlmlnllllmtnlmuILnr.Inlnlmu-/lnlnlnInlnlfjlm
Imu-ilnlnlmlnLnlnlnuIm
Inlnmlnlnlnlnlnlnlnln
----------.--.---...-----------.-h:::~~r-:~r-8
;;;;;;~;:::
#.
. . . . . . .
mmmmmmlmmmmln

$888888888888888888888888
888888888888888888
...-.+ -++++++ .+++.++ ++.+.++8888888888888888888$38
+++*+++ +++.+.+ ++*++++
++**++- .+.*-.+

mmmmmmm

mwvwwww

wwwwwwm

mmmmmmmmmmmmmwww

l!!!i!i!iiii[!i!!ii!!!i[!!!![[[l[[[[[[[[i[[[[[[i[~[[[~[~~[[~~~~~
. . . . . . . . .o.--. . . . ...--.
. . . . ...-.o.-------. . . . . . . ...-. .o.----------. . . . . . . . . . .o.----------. . . . . . . . . . .o---.....
-----------

timmmam
mww NmNnmmm
--------------------------------------------------------------------------

50

Oooc

-.-!..,

.-.

coo

UJLLUIWUUUJ

#,,,.

u..

_.-------

Oooocoooooo
.,.,,,

WWUIUUJUJUIIAIWUJU

.
,,,,

-----

Coooooooooo

m ----,,,,,,

Uwultuluwuluuuw

& -----

-----

00000000000
,,,(,, ,,
UIUUIWWIUUJUIUIIUG

Inmu-l!nu-lulul
InInlnlsllnlnulmlnlnulInimlnmmlnu)ulmlt-lul
ulmullnlmlnlnu-)u)lnm
.mcmmm.mm
cnom.mommmmma.
Ocnmcmmtmmmmmm
mmmmmmmmmmm
-.--.---.------.---------.--.-------.----IDIPlofawuJ@
IDulwwlDIDwwwlDln
WWW(DWWISISWU2W
wmwwww@wtDww
mmmmmmm
mmmmmmmmmmm
mommmmmmmmm
. . .
. mmmmmmmmmmm
. . . . . . .-,
mmmmmmm
ommmmtmmmmtii
fire .liIi Ii&&lilitirn;
mmmtimm-mrnrn

,,,,

UJWWWUJUIUJUIWU!4

Uuluulluwwuuullu

WUWWUJUUIWLLAJI

:~:~gg~wmam~mmmwmmclaNNmNNmmmwNNKNmNNmNNNmmmKmNmmNNmNNNm=NNmmNNNm
00000000000
00000000000
000000??000
,,,,.
,,,,,
,,,,,
,,,,,
,,,,,
,
,,!.

UJWWIAIGUIU

!,!..!

&

= --------.,,,,.,

00000000000
WUIWUJWIUUUJUWUI
Inlmlnlnlnu-)lnmmlnln

mommmmtnmmmm
-----------IDwwwwlswwwww
qmmmmmmmmmui
mmtitim kitimrn
&&

00000000000
,,,,,,
,,,,,,
Iuluuuluuuluwuu

Ooooocoo
,
,,,,.,

=--------

IuuIulluwwlIJu
Inlnlnmlnfimm

mmcnmmmmm
-.-----Wwwuwwwa
mmmmmmu.m. . . .
titiom mmmm

Oooooooc

,,,,,,,
UUJWUWWIUUJ

!-Fl-l-!-+1.
P>r-+r-r-l-r-r-r-rl-f-l-+l-r-t-ebt-tl-r-t-r-t.+f.*t-r.t- !.I.+br.l.l-r.t.r-f. l-Fr-l-r-l-l-lUl~UllllLQUIli7
IPmlnlnmlnlnlnlnlmul ln(nlnlnlnlnlnlninlnuIUlulullnlnlnlmlnmlnln Inlnmlnlnlnlnmlnlnkn IrYmlmmullnlnm
Ullnmmlmlnu-1
Inmlnmmlnlnc,lnulul
Ulimlnmlnullnu-)u-lulln
Ululullflinlnlnlnulmm
lf)ltlDullflkl!J)LqlnGIJ!
UIulw-llnlnlnulm
-------------------------.---.--.-.-.-,----------------------r-r-f.l-r-r-r. t-r-r-t-t-f.t-l.r.r-t-+1-t-l-r-l-r.t.w*l.
r-f-f-r.w+fil.l.l.+
I-t-r.l.t-t.**1.r-r.
. . . .
. . . . .
. . . . . . . . . . . l-l-r-f-t-l-l-l.
. . ,,.,.
.
mmmmmmm
rnlimmm-immrnui m

mmuirnmtimmmmm

mmmmmmammrnm
mmmmmmmmmmm
mmmmmmmm

Qwowmmm*******khbe*mmmmmmmmmmmmmmmmmmmommomoooooooooooo---------

-.-.-....-----.-.s.-----.--G----.-.--------NmNamNmmNNmaN@mfiNmNma

51

,,!,

.--~
Ooc
IAllKIA.

-----------u
oooo90@oooo

,,,,,,,
,,
UJUJUWUUWWUIULU
Immlnlnlnlnlnlnmlnln
mmmmmmwmmmm
----------Wwwwwfswclcfcw
mmmmmmommmm

Wuluwluultuuwulu
r-r-!-f-t-r-l-t-l-l-rInlnullnullnlnlmmlmul
mmtninmmmmmmm
----------+1-t-l-r-l-l-t-l-r-l. . . . . . . . . . .
mmmmmmmmmmc

&tifiti&&rn&rnili

----------m
0000000000
c
II,,,,,
Wwuuwuwwwluul
Inlnlnlnmlnlnmtnlflln
mmmmmmmcnmom
----------Wwwwwwwwwwu?
mcnmmmmmmmmm
mmmommmmmmm

Wuuuwwuwwulu
Wwwuluwwwwuu
r-r-r-r-l-r-l-l-f-f-r-t-t-l-r-f--t-!-r-!-rInlnlnlninlnlmlnlnlnulUlD~UYlllU7UlUIlmL9Ul
Itlmlnlnlnu-llmlmlnlmmImlnw-llnmmlnlnlmlmm
--------------------l-r-r-l-r-r-r-f-t-+(- *+*I.+t-r-t-r-t-r. . . . . . . . . . .
. . . . . . . . . . .
mmmmmmmmmmm
mwmmmmmmmmm

&lirn&ti&&&cirni

---.-----&--. . -----m ----------a


00000000000
ooooooooo@o
Oooooocloooc
0,11,.
1!11.,,
!.!!!:
l!.,!,.
1,,,,,
Uwuluuluwwwluw
IAIluwluluuwwuuu
Wulll.lukb.uwwww
Ulm!mlnlnlnlnlnlnullm Ullnlmlnlnlnlmlnullnm Inlnmlnlnlnlntnululul
mmmcnmcnmmmmm
Ulmalmmmmoalmm
Fmmmalmmmolmm
------------------------------Wwwwwwwwfmww
mmmmmmmmmmm
. .

mmmmcnmmmmmm

Wtswwwwwwwuw
mu
y~itl:%::%::%
. . . . . . . . . mmmmmcnmmmcnm
.....

mmmmommmmmm

InUllr
mmo
--Wad
mmm

&&&

Wliiwliwultiulwilul
r-l-t--l--t-f-l-r-rInlnlnullnlmulu)mmm
Ulullnlnullntnmmulln
.

WWILILWWWWLUW
I-Pl-bl-(-rt-l-f-Inlnullnlnlnlmlnmlnln
InUlmullmlnlnlnlnmln
.

mmammmmwwmw

---r
------l-f-r-f-r-r-t-r-r-r-r-

mmsmmmmmmmm

-.-.-.-----.-1=1.r-r-f.r-l.r-r-l.r....
......

Wwli
l-l-rUllnm
Ul!nln
--maul

,.

1-..

88888888
z~881ii888888
8888888$3888888888888
888888888
~888888E8888
8s88
+++. +.++
+.++ -+++guwuuuu
+++++
~++++~*+~~+
+++++
++~++++
*~*----+-+-++-+++`uuwuuuu
uuwwwww
uuuwuuuuuuwwww
UUJWIUUI
IUWUUIUUUIUW

::oo----------

oo.

-------

.-oo----------

mmo-m-cwmmw
---

oo-.

mt-mmo-cw
---

-------

mm* tmwt-mm--o-m.

.oo----------oo

-mm *mwf-mm --O.m.

;;++-8
Wluu
Ocl
~g
w- 11
.
. . . . . .,..
.-. . .----mInmo

!iiiiii!i!ii!ii8iiiiiiiii!i!!iiiii!iii!i!!iiii!i!ii!!![ii!iii![!
. . . ......... ....... ... .... .. . .. . ....... .. .. ... .... ... .......

-mmo-e4-am*Imwr---

----------------------------------------------------------------

O-m-mm*mm
---

52

.----

.-_--,

,,,

,,,

,,,

,,,

,,

,!,,.,

,,,,,

LLWUJUWWUJULLIALL

0,!,,,,

,,,,

=.. --------= ----------& ----------m ----------m---00000000000


00000000000
00000000000
??OOOOOOOOC
900C
Iuuluuluilluuwuul
WIUIUWUJUJUUJU.WIL
UIuuluwwuuuuw
UJLUIUU.
U-Inlnlnlnmmulmmul
IrllnlnlnlnlnulmlnmlflmmlnlnlnmlnmmmlIl
Inlnmlnlnlnlnlnlnlnlc Inlcmln
Olo)alolclalalmmmal
mmmcnmmcnmmfnch
mtnmmcnmmcnmmm mmmmmmmmmmm
mmfmm
--.---.-.--------------------------------------Wwwwwwwwwwln
IDwwwwwwwwww
WWW19WWWWW
mmommmmuimtnm
mmmmmmmmmcnm
rn~mmmmmmm%~
~~~~~$~~~$~
:::$
oii&li&&rnoi &&;
&&m&&&rnci m-m-m mmrn&ti&&m6&fj Gilirnc ici. irnlic ii & Oilirnci

00000000000
,.
!...,,
UJL4JLUWUWULUUJUIL.
muYlnlnlnlnlnlnLnLnc
crmtmmmmomam.m
.-..--------Wwwwwawwwww
mmmmmammmcnm
m&&
ci&.i&&ri&Oi

liirntimmrnairnm

-----------I.I-l.l.l.r.r.t-t.r-l.

mmmmmmmmmmm

----------I.1-r-+t-l.l.r.r-t-r-

-....**T

WNNNWNNNNWNKWNWNNNNNNWNKNNNNN~~~~mm&mNmNmmwmNNN&NaNmNNmmmNmwNNNN
00000000000
??000000900
Oooc
00000000000
Ooooocooooo
00000000000
,.!,
,,,,!
,,,,,
,,,,,
,,,,
,,,,,
,,,,,
,,,,,
,,
,,
,!,,,
,.,,,
,,,
UJululuwwluuwu.
WUUJUWUJIUUUJIUUI
Uluwuu,lwwuwulw
UJwluluwlblulluluwu
UUJL41U,
l-r-l.l-r.I.r.l-r.t.* Ft-1-t-r-l.f.r-l-t.r- +t-t.r.l.r-l.f.l.r.l. Ulwuluuuwwwluu
t-t-l.r-r.+r-t.r.t-f- r-t-f.r-f.r.r.r.ppr. t-r-r-rU)UTUllJ3UllllLQ~UTt7UI
Inulmlnlnlnlnmullnln Inulmlnlnmmmlnmln
Inltllnlnlnlnlnlnu-l!mlm
LfllnlnmlnlnlnullnullnInlnlnm
lnmlnlnlnLnLclnmlnln Inlnu?lnlnmulu)mlnln Ullnlnlnlnu-)u-)mlnlnul
UYlnlnlnln!ml.nulu)ullcl
Inlnmlnlnlnlnu-ju)ulul
Inlnlnlfl
-----.-.---.-----------------------l-t-l-r-r-l-r-l-f.!-+
*t-r.r.F+r-f.Fbrr-Fl-r-+l-r.r-*plt-t-r-l.

mmmmtimmmrnrnrn
-

mmmmmammmmrn
m02rnc

Q.irnimrnciimrni

8s8E8838s8888888888888888888gg8888888888g888888888g8888g88gg~ggg
.+..+-. .4+-4+++ .+-+.*+ +.+..++- +++++.*+ ..-++++++ *.+++**+
Wulluluwulguw uuwwuwuwwuuwuwwuwwwuuwwwwuuwwuuwwkuu8uuwwgwuuuuuwuwLw

i!iiii!ii!iii!!
. . . . . . . . . . . . . . iiiii!iiiiii!iiiii!
. . . . . . . . . . . . . . . . . . .iiiiiiii!iiiigi!
. . . . . . . . . . . . . . .ii!iiii!!ji!g[
. . . . . . .o. .o---.... .
..-. ------ .c-. --------- o --- . ------- o ----------c -----------

.,.,.

Wuwwwululubuuul
UIlmlnu-llnmlnmulmlfl

mmmmmmmmti&ci

cnm.mmmmmcnmmm
-----------g$!gg:gg:ggg

-------

,,,,,,

,,

. - - - - - - ~- - - - - - - - - 00000000000
.,!,

0000000

UJuwuuuw

g:ggg!gg

!mInmulmlnu-1
mulo?mu!mm

&m&&&&&

&

&&

&oi Gi61i L7im&ti firi

00000000000
,,,,,,
,,,,
WWUIWUWWULUWW
Inu-ilnmlnlnlnlnmulul
mmmmmmmmmmcn
--------.-tots
mm%~$gg~ggg

,,

Iirn&rn rnrnti&.ilifi

IDW(DQIQQISQISIS(O

,,,,,4,,

,,,

&

oooocoo@
,,,,,

UJWWL.U.UUIU.
ImInlnlnlplnlnlr

cnmmmmmmtn
-.------

.)

~~$~~~~~
. . . . . . . .
mmmmmmmm
?00?0000

WUWULLWIUUI
f-l-f-l-r.l-l.llnullmullnlmlnuInlnmlnullntnr.
---------r-l-r-l-t-l-f-t,...
Arnmammmm

888888888888888838
g88-+
8
+-+++++
+++++-. ++-*+**

,,,,!,!,

00000000000

mmmmmmmmmmm

Opooooo
coo o
00000000000
,.,,,
,,,,,
,,,,,,
uluiIiLwuJwwuJuul
UUUUUWUJIUWIUUJ
Inmlmmlnmlnlninlnul
Inmlnlnmlnlmu-lmlnln
mmmmmcnmmmom
tnmmmmmmmmmm
--------------------wQ@uJ@@
mmymmm%%~~%
&&m&&&&&i

,!,,!

:~~::~~KNWaNWtiWflWmNKNWWmNNWWWNaKWmmWmNmRNNmKwwWNNWWtiNNNmmNNnNWRfi
00000000000
00000000000
,,,,.,,
,,,,, ?Oooooooooc

,,,,,

88888888888888888888g8
++++*+. .-+++++ -4+++4+

Uuuwuwu
WUJWWUJWWUWUUI
UJUIALLILAALIWUIU UIuwwwwwuwwlu
UUIUIUIUJWLUUIUWU
t-r-l-I-l-r-l- I-f-l-l-f-l-r-r-l-l-r-!-t-r-l-r-l-?-r-!-t-r-T.r.r.f.l.l.?r-wr-r- +1-1-l-r.r-l-t-l.l-w
Inlnr,lnlnulln UJlnlnlnlnlmlnlnlmmln UIUTlmllllnlnlmlmlnlnln
Ululmlnu)lninlmlnlnm Ullnmlnlnmlnmmulln
UYlnlnlnlnu-lln
Inlnullnlnlnlnlnlnlmln
Inlnlmlnmlnullmlnmm
Inlmmlnmululmmlmm
Ullnlnmmmlnmlnmln
-------------------------------------------------yf-r-+1-+1.bt-r.l.
r-r-f.r-+r-l-l.r-r.l. t-r.r-l-l-l-b*wt.tr-+r-r-r-r-l. . . . . . . +1-r-l-l-r-r-f-l.r-r. . . . . . . . . .
. . . . .
. . . . . . . . . .
. . . . . . . . . .
ammmmmmmmmm
rnrnmmtmmm
mmmmmmmmmmm
rnrnmrnmmmmmmm
mmmmmmmmmmm

83888888888888888888
+..+-. -.+++++ +++*+++

888s8888888888888
888888888
g88s8
++*++.++
++++++.+- .+++-.7+
++.*++*..+

!l!l![!!![!ll![!![![[[![[[[![[t[[l!!iiiiii!ii[iii!i!i!!!iiii!ii!
..... .. . ... ..... .. . . .......
-------o:;:w-------o::-'-------wo--:-"-------o-----------ooooooooo
8~??M~g?g8888888
+.++.++ 8888888888888.8888
++**++++ &-.*+&++
Uwuuwuw uuuuuwuwuuwguuuwuu

!?882888888888?8%8
888888888:88888888888$
88 f88888888$?W5W~~5
**+-++++,
+1+++++.+++++,
++++ -+++ 7+ +,+4
++, +.&+ Lb++&

iii[i!iiiiiiiiiiiii!!ii!i!8iii!iii!![!ii![ii[!![i!i[[\i!ii[!iii!
. . . . . .of--------. . . . . . . . . . ..oo-.
. . . . .-.--. . . . ..-.
. . .of---------. . . . . . . . . . . .oo-----. . . . . . . ..--. . . .o.f-------.. .. ... ..
-----5$;

o-.

. . . . .
--.

--m

. . . . . fim~o-----. . . .

mfim~

o--.----m

-m-m

oo--mt-+

m---

. . . . . . . . . . . . . .

[!!![![!ii[!!!ii!!!il![[[![![!l[![!!!!i!!!![i[ii[[!!!!i![[[i[!!!
..... . .... . .. .. .. ... ... . .... ... . . ... ....... ... ....... . .........
----------------------------------------------------------------

---mp~m

54

.-.

$)?0
LIJlulu
UICtn

m(nol
--maw
mmm
. .
mcnul

000

. . .

.-0

.-.

r- *r-

rlmm

o-m
---

55

TABLE
INPUT

(/1

DATA ECHOPRINT

OTCHKISS CASE t 4/28/85


IBAR= 11
dBAR=
36
DELT=
2.0000OE-04
4.43000E-03
NU=
ICYL=
1
EPSI=
1.0000OE-03
GX=
0.0000OE+OO
GY= -1.47200E+01
UI=
0.0000OE+OO
vI=
0.0000OE+OO
1.0000OE+Ol
VELMX=
TWFIN=
2.301OOE+OO
PRTDT=
1.0000OE-04
PLTOT=
5 .0000OE-02
OMG=
1.70000E+o0
ALPHA=
1.0000OE+OO
KL=
1
KR=
f
KT=
1
K13*
1
IMOVV=
O
AUTOT=
f.00oooE+oo
FLHT=
6.0000OE+OO
PSAT=
0.0000OE+OO
ISYMPLT=
1
1.86000E+01
SIGMA=
ISURF1O=
1
CANGLE=
8.72665E-02
1.58000E+O0
RHOF=
NKX=
2
)(R=
NXL=
4.0000oE-01
xc=
2.0000OE-01
MESH-X=
1
XL
0.0000OE+OO
NXL=
XR=
1.90000E+O0
2.oQoooEmo
xc=
4.0000OE-01
XL=
MESH-X=
2
1
NKY=
NYL=
7.20000E+O0
3.60000E+O0
YR=
Ye=
1
YL=
O .0000OE+OO
MESH-V=
NOBS=
2
4.0000OE+OO
oOOOOE+OO
OA1= 0.0000OEtOO
OB2= -1.0000OE+OO
OB1=
I= 1 OA2=-I.
062=
ofll=
-1.0000OE+OO
E+oo
OA1= O. OoOooE}oO
o.00oooE+oo
OA2= O.00000
1= 2
CYCLE=
OELT=
2.0000OE-04
TIME=
O. OOOOOE+OO
ITER=
o

1
6

NXR=
NXR=

1
1

16

NYR=

18

OXMN=
DXMN=

2.0000OE-01
f.0000OE.Of

OfMN=

2.0000OE-01

OC2=
0.0000OE+OO
OC2=
0.0000OE+OO
0.000ooE+oO
O
VCHGT=

oC1=
0.0000OE+OO
Ocl=
2.0000OE+OO
FY=
0.0000OEtOO

Iol{=
Inli=

1
o

o
0-+0
Xlu+
-law
J-o
Olnm
>-0
Ulw
:~

L
z

-.-.

-.-.

-----

.-.

.----------

000000000000000000000000000000000303

...

.-.

------

OCOOOOQOOOC

mmmmmmmmm

57

..----------------.*----------------------------------oooooooooooooooooooonww@wwawoooooooooooooooooooooooooooooo~@Dww~

---------

8888

Ooooooooc

8$388888888888888888888888
8888888 $38888888888888888888
88888888882~
+-- A+++ +*-+ *4+. --++++-++-++++++++++-*---+++----+---+----`-`-`*-ii!i![[i!ii[!!![!i![i!i!!i!![!!i[!![[ii![[!!i[!!!!!i!!i[!iii!!ii
000000000000000000000
0000000000000000000000
000000000000

888888888888
?88888888888888888888888888
888888888888888888888
+++++ +++++
+++++ uwwuuuw
+++++ ++ uuuuwuuwwuwuw~w
~++++++++++++++++*+++++++++*+
wwwuuuw
Uuluululuuluwluw

iiiiiiiiiiii!iiii!ii[ii!!iii!iii!i!!!!ii!!!i!iii!ii!!!!i!!!!i!iI
0600000000
00000000000000000000
00000000000000000000
00000000000000

58

w w

0 000

---------

z o 0 00300000000000000000030

000 --------------------

(7w w (na IDIn(g00000000

c100 c100000000

CWOOOOOOOO - ----------------------

a 9 c c

59

.----@.------------.-.----.--------------..h-------------------

oooooom@www@@@oooooooooooooooooooooooooooooo~QQ@mQ@@oooooooooo~c

8888888888888888888888888888
8888888888888888888888
+ +++++++.+++++++++++++++++++++++++++++++++++++++++
wwuuwwu uuuwwuw uuuuuuuuuuw~wu~u~w

Oooooooco

gWqU~qg8!q8q

i[![[[[i[[[[![[[ii!iiii!!iiiiiii!!iiii!i!!!iiii![!i!!!!!!i!!iii!
0000000000
000000000000000000000
000000000000000000000000

60

ooooooooooooooooooomwwwwwmooooooooooooooooooooooooooooooomwwwcww

mvmvml?--m

or.

t-m

lnolnoln

cc--J cmo

W-w-

waJ-w

. .

---------------000000000000008888;
Z
+ . . + - + + uuuuw
- + .+- . Luuwuuw
..++ + + + + uuuuuuu
+ 888888880000000000
.-+ .b+ + + uuuwuwu
+ + -
+ + + ----+ + wuuuwuw
+ +- .A 00000000000000
. + wuuuu
*
+ ------+ + + Luuuuww
+ + + .+---8
+ + + wuuuwwuu&wuk
+ z88;
,- + * G8~888~
+ +++. -7
uwuuuwu
omf-owf--

. . .iiiiii!iigE5F:z:$;i;i;ii;g:i:g$:::;:$5i!!iiB
. .. . . .
. .moo
. . ,Ommmvmm
. . . . . . ow-wm~m
. . . . .
.mmmwmvommwvc
. . . . . . . . .
. .-. .

Omc.mtnmmwmmo

:!!?!
. .
.i:i!ii:iii:z:?!
. . .
.
. .
. .

000000000

88888
888888888888888888888
g888888888888888
g88 8g88$38
+++*. g888888888888
*+*++
++&*+wuuwwuu
++*++
+++
A++.+++++++++++++*++++++++++++++++*+-++++
uuuwuwg
uugwgwu
uuuuuwu
wwuwuuw uuuuuuu uuuwguu uuwugu:uuuuuu~u
iiiiii8!!!i!i!!iiiiii!iiiiii!!i!!!i!i!i!!!iii!8i!i!i!!i8i!iiii3i
000000000000
000000000000000000000
0000000000000000000000

%3!?88888888888888888888
?8888888888
888888888888888888888
88888888
++++++++++++++++++++
.+++++++++ +++++
+++++ +++++ +++ A+++*+++++Uuuwuwu wwwuwuu wwwuuwuuwwuuuwu
iiiiii!!i!!ii!!iii!ii!iiiiii![!!!!![![i!!!![!!!il[![i![i[[!!!!l!
00000000000000000000000
00000000000
Oocoooooooo
0000000000000000000

61

.----------------0000000000000000000

wwwwwoo

---------------------------------------------Ooooooooooooom

ooooo@ooooooo
Ooocooooooo

&33888888888888888
~88
8~3888888G8~3~8888888~
--+ +-4+--.--+-+--.+--+++++++++!
+ + + . + + + + -- + + ~~88828838?388888ss
-- . + . + - + - + ..--+---uuuuu~L wuuuuww wuuwubti uuutiww uwuuu:u uwuuwuwwuuuuuuu

0000

------

-----------

UWUUUWU

-----------

UUUWWUUUUUW~UWUWW

moooooooooo

Oriooooooooo

---------------------

000000000000000

0000000000000000000000

fmmmmmmoooo
OOOOOO
-------------------------

WUI

f388888 8S

!!!!!
. . . . .iiii!iii!!!i!ii!!i!iiiiiiii:iii!i!i!!!!iiiii!!i![ii[[i!!ii!
. ... . .. . ... ..... . . .. .. .. .. .. ... ... .... .. ... .. .. . ... ... .. ...

UUUWUWW

mmototommtnmmo

00000000000

888~8888888888888888
888~88888~88z888888?8
8~8888888888888
-.+. +.. +++. +4++ .+++-++++++++++++++++++++++++*+++++.++++-++-+-*-+
LUUUUUW

00000000000000000000

mat.mcnmmmfnmmm

iiiii!i!ii!!!!!!i!i!!i!i!ii!ii!i$i!!!![!i[i[![ii[[i![!!i!i[i![i!

mutmmmmmmmmo

62

oooooomw@@wwooooooooooooo@ooooooooooooooooooomw@wmoooooooooooooc

-----888000000
++
+.+---UJuluwuwuwk
mm
fm=mr+
VWWVTO
C+mneINw
Oooooln
W/ Wwwwwln
. . . . . .
Ooofj;<=ik
,,, I- f-wwlnm

[[!i![!i
coo OO06G

88888888888888388888888888
g888883
--+++ .-+++ +.++ +.. *.+. *++++ 888888888888888888888888
.++++ +++ + 4 + + + + + + + + + + + * + + 8888888
* + + * + --------uuuu&wu uu&wumu uuukwuuwuuuwuuuuuw

GGZGG8888
++
..-.+.*
UIUUIAIWUIIUUW
Inolnow-mmln
gzl-lcvulr
)-w
.l.8;:c;g;
Otn
. .-w--w-m
. . . . . . .;:&ooo
rltxr+--l-mmls
,, ,,,

i!ii!![[!iii!iilii!
iii!iii!iiiiiiiiiiiii!
[[[![![[!![![!!
Ooocoocooo
00000000000000000000000
000000000000000
Oooooooo

-m

Uul

F.mm

tDlC-Im
. .
-t-i

8888888888888
888888888888888888888
888
..-+ +++++ ++-+.s888888
... .++++
-++++ ++++* ++*++ +++++888888888888888888g8
+++++ ++++ +++++ +*-A++++
Uuuuwuu uuwuuuw wuwuuuwwuuuuwuu
!!i![![!i[!i!ii!iiii!i!!i!i!!!ii!ii!!!ii[[!i!i![!!![[!![!!!!!!i!
000000000000060000000000000
60000000000000000000
00000000000060000

63

000000000

----.

-------

--.

Ooooooooooot-+w

.--.
-~ooooo

awoooooooo

ooooo-.

.-.

000000000000000000000

--------

.---

...

-------

OOOOOOOOOG

moooo"

8888888888888888888
~G8888888888888888888888888888
888888888888885
+-. v++. T+&++ +.+ +++-+++..+++++.+.+.++++++++++*+++++.-.-+++*++.+*>
!i![![![[!i![![!i[![i!!!![[[!i![![!![[[[[!!i[[i[[!!!i[![ii!!!![60000000000000
Ooooocj 000000000000000000000
0000000 0000000 0000000

000000000000000000000000000000

00000000000006000000000

OOOO003000N

t
.
L

IL

,,

. . .C

,
~

88888888888888888888
+ + - + 4 + - + r+ + + - + . - + + + + 8888888888888888888888
+ + . - + + 4 + + . . + + - + - + + + 4+ + 88888888888888888888
+ - + + + + J
- - J+:; ;:&+ ;+; 8$
*L

Oooooocooo

ii!i!![[![![[i[[i![[!i![![ii![!ii!i!i[[i![ii[iii!!![i!iiii!!!!i,

. . . . . . . . . . . .

YWmmtwlw---lnmm

000000000000

88888888888888888888888
8888888888888$889.++
... +++. +++++ ++++4+ +4+++++88g88888888888888888888
+++++ ++++ +.+4++++++++++-+++++++++
!!!![![ii[!!i[!!![i[!![[[![!!!!!ii[![![[i![[[i!i![![!!i!!!ii!!!!
00000000000000000000
000000000000000000000

64

,,
>

!-

m
Yw

In

u.

S888 ggggggggggggoc~~w~
+b+v+++
d~, b+v+-+d~,a-oooooo
,,,,

oooo@ooooooooooooooooocooooooooooooooooooooooo~oooQc

888888
Z888888888888888
++--- +--.
+++-+ +v+++d+
Ou$ulmuwuh.uuw

00000000000000000000000

?8888888888~
++++++++++

0000000000

coo
coo,
a e*~q~

cw7mc4tc-ii
,,, ,,, G

W~888888Gz
888 GG5z;2
+++++++++*+
a t * $ , *:g
,,

Oooooowtswm

!!!!!!!iii[[[!![![[![!!i[![!![[[![![!i[!i!!!i;!i!:i:
.. ... ... .. .. .. . ... .. .. .. .. ... .. .... . ..... . .. .. ...

888888888888888888
++++++++++++++++++

0000000000000000000000000000000

Oooooooomtwa

m-mm
mm-mwe
8 ,616,,81,8,,

`[![[[!![[!!![!i![[!![i[[[[[![![[!i[!![[!!iiii[!!!!:!
.. .. . ... . .. .. .. . .. ... .. ... .. . ... .. . . ..... .. .. . .. . ...

65

888888888888888
-+.-+++ ++.+.++*

;88888
88888888888888888888
,4.++++.+
++++++++ +.+&++&+

888888888888
4.+-+-+-+
*+**.*,.;8gm18

yg

ii!!!i[[[!!!!i!:!iii!!![![!![!!!![![ii[i[[![!!l[!ii![!l[!!![[[[i
. . . . . . . . . . . . . . . .ooooooo
. . . . . . .o-.
. . .-.-.
. . . .e------. . . . . . . ..--------------. . . . . . . . . . . . . . . .ooooooo
. . . . . . .o-. .
.---------------

00006

888888888888888888888888888
88888888898888888888888888
;888888888s
. -++*+.+++++*++++++.++++.+**++++.+++
+ + + + + + . + + + + + + + . + + + ++++.....
i[[[i[!![i!!ii!!i[i!!![!![!![!!!i!![!i!!!!!![![!!![![![[!i[[[[!E
00000000000000060000000
0000000000000000000000000
Ooooofooooo

66

ooooooooooooooooooooooooooomw@wwwwwooooooooooooooooooooooooooooo

67

Oooooooomww

(m@lo@moooooooo

g8g8888888?Jg888
88 G88888888s~88888
++++++. +++.*+.* .++
+.-+++- +---+--Uwuwuuuuwuuuuuwwuuwwwuuuuuww

0000000000000000000000

-o-------------------------------------F------------------------

o~@w@@@@@

g:s-.+-+.
E8888888888s8888888
+++++-- +++-..+

Ooooooooc

$33~i?s888E
+++-++-- *

!i[![ii[![!!![![[[
. . . . . . . . . . . . . . . . . .!![!!i![[i!iii!!i!!i!!
. . . . . . . . . . . . . . . . . . . . . .iiii!!iii!!!ii[!![!!!i!!
........................
-mooooo boo--------------.-------- .---- moooooo o f ---------------858888888888888888888
++-++ -+++
-+++ -+
+ + + . + + 8888g8888888888888
- + + + + + + + + + + + + + + * + + G888$8
- + + + + + 888888888888888888s
+ * + + + - + . + + --+-++.+uwuwwuw
uwwuuwu
wu:uwwuuuuuwww

wmwwwww

wwwwwww

,,,0

. . . -. . . . . . . . .

yq)y$3yfJyyr4e4twc4

wwwwwww

wwwwwww

wwwwwww

wwwwww

. . . . . . . . . . . -, .
~wooooo
yyyyyyy

titiammwammma

!,,,,,,!.,,,,

*-***-*-*F--+*--

ooooamm ,

. . . . . . . . . . , . . . . . . .

ii!!iiiiii!iiiii!iiiiiii!!i!![!!iii[[[[!!![[[ii![!i!i![![[!i[[!!
. ..........
-000000000000000000000000
o:ooooo oooooo@ocioooo 0000000000000000000

mmwmmmm

68

00000000000

Ooorlwwwwtsw

0000000000000000000000

Ooooooooom

Uwwwwwo

coo

,Oooooooom

69

00000000000000000

Ooooooooootlw

i18H)8888M88~888888
8888888
. . * +*..+.-++
+++-++-&+++++,

Wwwwoooooooooo

0000000000000

Ooocococ

;&888888888
,--++. +++++g88888888
++. +-. + + 88388888888888ES8S
- . + 4 - + . + + +-++----uwuwuuu uuuugww uuuuuwu &uuwu&uuuuuwuuu.
L

mmmmooo

oooooooooooo
. . . . . .

OOO06000C

000000000000000
. . . . . . . . . . . .

[[iiii[[[!![i[!
. . . . . . . ..------------. . . . . . .![[!![i[[i!i!i!iiii!i!!ii!iiiiiiii!iiiii!iiiiiiig
. . . . . . ...-. . . .mmooooo
. . . . . . .oooo
. . . .o.-------------------------.. .. . . ... ..... .. .. . . . .....
--------

mmmmmomomoom

88888888888888888888
;888888888888
8888888888
g888888888
888s
*++-+ ++++ .+++ ++++ ++++8888888
+++++ +*++
++++ ++++ ++++
++*. +-a +4++++++++.*+*-

mmmmmmm

!i[[ii!![i!ii![i[[i[![i![!!;[!!i![[[[ii!!i[!!!!!!i[i!![![![i!!i$
Coooooooooo
00000000000
OOOOOAOOOOO
0000000000000000000000

mmmmmoatmutmm

70

&--------

Cr+owauwoo

Adoo@oooooooo

00000000

-------

--

------------

00000000000000000000

---------------------

----------------------------------------------------------------

----------------------

Oooooooooc

-----------

..-.-

-------------

.-r+cqwc+

0.000000000

omam19woo@o@oooclo

.-.

m
IX
,
!

NtWNfl

m
.

--

I. w

-----

CJocooaooc

r- r!!.!!!.!!

U-I T

NNW

NtWC4NWNm

72

ocooooooooooooo~w~-ooooooooooooooooooooooooooooooooooooooo

Nc+rItw
c+c+mmcd
c4Nt9mmmmtJ
- eJr9t7rJt917mmmmmm
c+rvtwwtwtwaari
----------------------------------------------------------

mmmmmmmmmmm

mmmmmmmm

The void behavesas a vacuum. It starts from rest and undergoes


free fall until it hits the bottomof the cylinder,whereit comes to rest and
establishesthe hydrostaticpressureprofile.
The computational
grid is 3 zonesin the radialdirectionand 13 zones in
the axial direction. Initially the bottomof the slug of fluidis four cell
heightsoff the bottomof the cylinder,and the slug is six cells deep. The
cells are squares 0.5 cm on each side. The fluiddensityis 1.0 g/cm3,while
viscosityand surfacetensionare neglected.The gravitational
accelerationin
the axial directionis -980 cm/s2. The velocityand altitudeof the bottomof
the slug duringfree fallare
container.

v = -980

(55)

and
s = 2 - 490 t2

(56)

where t is the time in seconds. The incompressibility


condition requires the
velocityin the slug to be uniform.
Figure9 shows the velocityof the slug as a functionof time. The problem
was run with a = 1.0 and, as discussedearlier,the resultsare plottedwith Fij
n+l/2). The solid line is
evaluated at the correcttime (i.e.,F~j is reallyFij
the NASA-VOF2Dsolutionwith IDEFM= 1, the finely dotted line is a second
numerical solution but with IDEFM = O, and the dashedline is the analytic
solution. The coarselydashedline displaysthe performanceof a correction,
changing the definitionof a free-surface
cell, to the basicSOLA-VOFalgorithm
added by hand to accommodatethisparticularapplication.This curvestayswith
the analytic solutionvery well, but the algorithmgivingthis resultdoes not
have the generalityrequiredfor permanentinclusionin the code. The numerical
solutions used the CR method to find the pressures.The threesolutions
coincidethroughcycle120,which is 0.0531s. This is expectedas the program
shouldget the exactvelocitybecauseit is linear in t. However, the slug
shouldhit the bottomof the cylinderand come to a stop at 0.0639s ratherthan
on cycle 121 as in the IDEFM= O solution.
In the IDEFM= 1 solution,the fluidslowsabruptlyas it entersthe bottom
row of cells,but the cellscontinueto fill slowly. This incorrectbehavioris
73

---------------------------

. . . ..
. . . . .
. . .

-.
.
.

--------------------------

--------------------------

..
-

..
.
.

-.
.
-

-.
.
-.

-.--

..
.
.

-.
-

-.
.
-

- --
. .
- -

-.
.
-

-.
-

.-----------~~

-.
-

-- .-. .
- -

-.
1.

-- - . . . . .
- - .

.//

~\

N
./

. . . . . . - . - - -- - - - - - - - - - - - . \ \
\\
-----------------------~\
\
------------------------------------------------------------------

-..

I
I

.,

I 1%

w,

i ,II

\ -

---------------------- ..//2
.-.-----.
-------------.,//
----------------------/

...

------------------------

J.-._.....-------------

. .
----------------------------------------------------------------------------------------------

I
I

I
I

I
I

I
I

I I

8, ,I
,II
, ! It 11 rI I
Ii I

CJ

-lo

>

50

-70
0.00

0.04

0.02

0.06

L(s)

due to a peculiarityin the way the programdefinesa free surface, and it is


found in all versions of the variousVOF programs. A cell containinga free
surfacemust by definitionhave at leastone emptyneighboringcell. When our
one-dimensionalslug firstcrossesinto the bottomrow of real cells,theyhave
no emptyneighbors. Thus the programtreatsthemas if they were full, even
though they are only partiallyfull. This quirkof the methodwill not affect
many problems,such as the next two described in this report, but it could
significantly
affectresultsfor propellantreorientation
problemswhere jets of
fluidimpacton dry tankwalls.
The IDEFM= 1 optionintroducedinto the pressure solution algorithm to
close small voids was modifiedto reducethe severityof thisdifficulty. We
raisedthe productADEFM*EPSIto a very largevalue (106) before applying the
minimum test to determine if the cell beingcomputedhad F < 1.0 and if that
cell and its eight surroundingneighborsall had NF . 0. The result of this
changeis to force thoseparticularcells to choosethe secondoptionin the MIN
function(i.e.,to closeup in l.O/BDEFMcycles). Otherwise, the gap in our
presentsolutionfillsfar too slowly.

75

Figure10 shows the heightof the bottomof the slug as a functionof time.
Consideringthe large time steps, approximately0.0005s, the accuracy is
for the IDEFM= O and 1 cases.
acceptable until the fluid stopsprematurely,
The coarselydashedline overlaysthe analytic curve. The behavior of the
program is consistentwith the expectationthat the time-marching
errorsare
firstorder in &t.
The programdoes a very good job of predictingthe pressurefield in this
problem. During the free fall,the pressureis zero in the fluidbecausewe
assume the void pressureis zero. On cycle121 of the IDEFM= O case, the fluid
must be broughtto a halt in one timestep. The waterhammereffectcausesthe
pressureat the centerof the bottomrow of cells to rise to 6.2 x 104 dyne/cm2.
On all subsequentcycles,the hydrostatichead is obtained,with agreementto at
least four digitswith the analyticalsolution
P=980d

(57)

t5

05

......

0.00

0.02

0.04
t(s)

76

0.06

where d is the fluiddepth. The conjugateresidualsolutionagreesto the six


digitsprintedby the program.
In the IDEFM= 1 solution,the pressurein the bottomrow of cellspeaksat
4.2 x 104 dyne/cm2on cycle121,drops to 5000 on cycle122, and relaxes toward
the correctsteadyvalueof 2695 as the void closes.
The second testcase is the sloshingmotionof a tankof water. The tank
is 10.0 cm wide and 6;5 cm deep,and it is coveredby a uniform20 by 13 mesh.
The water is 5.0 cm deep on the average. The initialconditionis the fluidat
rest with a 0.5 cos(nx/10) perturbationof the surface. The gravitational
accelerationof 980 cm/s2startsthe fluidsloshingback and forthacross the
tank in a mode in which the deviationof the surface height from the average
depth is always proportionalto the cosineterm in the initialcondition,and
the sloshperiodis

P = 2n/(gk tanh(kD))l2
= 0.36417s

(58)

where D = 6.5 cm is the averagefluiddepth,g = 980 cm/s2is the acceleration


of gravity, and k = rt/10is the horizontal wavenumber of the surface
disturbance.12
Four typicalvelocityvectorand freesurface
plotsare shown in Fig. 11.
The upperleft panelshows the initialcondition,and the next threepanels are
separatedin timeby 0.65 s. The analyticalsolutionfor the free surface is
marked by asterisks. The lower right panel (t = 1.95 s) is just after the
beginningof the sixthoscillation,
and the computationalfree surface still
agrees as well with the analyticalsolutionas it does for all earliertimes.
There is a slightdisagreement
at all times,even t = 0.0, which is an artifact
of the contour-plotting
algorithmused to plot the computational
free surface.
This artifactappearsto be the limitingfactor in how well the calculation
seems to agreewith the analyticalsolution.
The next example was Case 1 previously computedby Hotchkiss.
10 This
problemis the test case describedin Sec. III. It is a drop-towertest of a
glassvesselwith a radiusof 2 cm in the cylindricalsection,the workingfluid
is a freon,and the gravitational
accelerationis 14.72cm/s2. We find that
produces results in much better agreementwith the experimental
21, as shown
measurementsof the locationof the free surfacereportedby Symons
in Fig. 12, than the earlierresultfromNASA SOLAVOF.

NASA-VO.F2D

77

u
u
.

0
l-i

78

1
{

--

.
.

I
I

x.

\l

I
I
I

\\

\\

- . .

\ . ~. \

\\

I
I
I

II

I
I
I

\\

II

\ \

\\\\\

II
II
II
/

l\\\
.

\\\\\

I
/
/

\\
\ \ \
1 I I I I
/ / I I I
j / I i I
/

\\\\\

~
If

/
~
I

y
I
//

\\\

/ /
////
/

.
.
w-l

II

u
o
m
m

, \

\ \ \ \
\ \ \ \

\\\

J \
\

,\\\\
,\
, \\\l
, 111(

. ///1
/ /

\
\

I \ I
I I I
/ I I

I
/
1
I

I
I
I

/
/
I

-.
t
t-

/
/
/

/
/
/

/
.

///1
////
////
////
///
,

.
.
.
.

//

//

.
.

//

,
.

.
.

.!

.4

.,

\.

-.

. --

. ///

////
/
.
-.

////
p//
-i- ----

__L

0 EXPERIMENTAL
CALCULATED
3.5

tion of a drop Lower fuel reorienta


tion experiment.A sma11 cylindrical
1

container(r = 2 cm, 1 = 9 cm) with

b%

3.0

The fina1 example is a simula-

o\
~\
o~

WALL CONTACT
POINT LOCATION

hemispheric1 ends,half fullof liquid (ethanol), and in free fa11 is


suddenly subjected to a sma11 con-

2.5

stant downward acceleration.

liquid starts out at the top end of

2.0

The free surface assumes

the tank.

an equilibriumshape under the influ-

I .5

ence of

I .0

surface-tension and wa11-

adhesion forces.
CENTERLINE
LOCATION

0.5

0
\

Following applica-

tion of the additional force, the


%
10
\

ic

liquid flows along the sides of the


container to the opposite end, meets
at the axis, and jets upward.

1-

Id
>

The

0.5

1.0 1.5 2.0 2.5


TIME

The

Bond number of the flow is 4.1, the

liquid density 0.789 g/cm3, surface


tension coefficient 22.33 dyneicm,

kinematic

viscosity

coefficient

0.001095cm2/a, and the applied accelerationis 29.0 cm/s2.

Table 8 lists the probleminputdata set used to generateand executethis


problem. Table 9 is a list of the UPDATEcode modifications
necessaryto adapt
the code logic for this application,as was shownearlierin the example
problem. Figure13 displays plots from the calculationat selected times
showingthe fluidflow and the free-surface
configuration.Problemtime t = 0.0
correspondsto the experimentaltimewhen the additional accelerationoccurs.
Sketches of the approximatefree-surface
shapeat the same timesare shown in
Fig. 14 takenfrom a 16-mmmovieof the drop-towerexperiment.These data were
obtainedwithoutdensitometer
or computeranalysisof the film and are therefore
very subjective.Howeverthe code solutionroughlyreproducesthe actual flow
history,differingmainlyin the detailsof the jet formation.

79

TABLE Vlll
FUEL REORIENTAT1Otd1hlPut%XP1lT

ilAi4i=60HFUEL
NDUMP=O
D~LT=.o/soR;?~
CANG-E=O.

;5.

XNU=~.52E-02.

REORIENTATION
PROBLEM BOND=4. I NASA-VOF2D
QVOL=O.O.
IDEFM=I.
IMOVY=O.OMG=I .?.
ICYL=I.
.QSo
SIGMA= 22:33.
ISURCIO=I.
IEQIC=l.
RHOF=O.?89,
EP~l=i.E-c)3,

PRTDT=I.E+IO,
TWFIN=f
.0.
VELMX=3.
.
ISYMPLT=I,
AUTOT=I.
FLHT=4.5.
!JLTDT=.05.
SEND
$MSHSET
xL=O.O.
.4.2..
XC=0.2,1
.9.
NXL=I.
lO.
NKX=2.
yc=4.5,
yL=o.o,
9.o,
NYL=29.
NKY=l.

NxR=l.
l.
NYR=20,

SRCRPT SOURCE

DxMN=o.2.0.10

DVMFJ=().225

$END
$ASETIN
NOBS=4.
OA2(1)=
0.0.
0.0.
OB2(1)=
0.0.
0.0.
OCI(I)=-2.O.
7.0.
IOH( 1 )=1. 1,0.0.
$ENC

1.0.
t.O.
0-0.

1.0.

OA1(l)=O-O.

1.0,
45.0.

OBl(l)=l
-Os-l-o.
-4.0.
14.o.
OC2(I)=0.O.
0.0.
0.0.
0.0,

0-0.

0.0.

O.o!

TABLE 1X
FUEL REORIENTATlON CODE MQVIFICATIONS
oIDEN7 REOMOD
=!J.COMMON:.2
PARAMETER

(IBAR2=15.~BAR2=42

.MESHX=5.MESHV=5

.NVOR=200.

N060=20)

=i.EOIJIe.7
E~S=l.OE-8
-G.OVCAL.5
OATA ISLIP

_C,.IIbi
.2I6
old=<
=C.iIWI .224
40 CONTINUE
-0.SETUP.60,6
i
BONO=-0.0000Of
-:.sETUP.
17
DELREO=XIIM1
)iFLOAT(NEOU16-1
)
=C.SETUP.
121 . 128
LuD=FLoAT(NEouIB-1
)=X( I).XIIM1
)+1.000001
)/XIIMl
1+1.000001
LLOW=FLOAT( NEOUIB-t
)*Xli-1
LLOU=MAXO(LLOW,
1)
LUP=MINO( LUP.NEOUIB
)
H1=SFLHT-UI
LLOW. 1 )-X(IM1
)
IMt)
H2=SFLHT-U(LUP,
l)-X(
IF(Y(LJ ).LT.HI.AN9.Y
(LJ).LT.H2)
GO TO 94
IF(V(d11.GT.Ht.ANO.
Y(J-1).GT.H2)
GO TO 110
SUM-O-O
00 92 K=LLOW.LUP
H3=SFLHT-U(K,
1)-X(IM1
)
IF(H3.LT.VIJ-1))
H3=Y(IJ-t)
SUM=SUM+fIMAXlf
Y(U)-H3.
0.0
)
92 CONTINUE
F(I.J)=SUM-OELREO*ROX(
I )=RDY(J)
GO TO ?1O
94 c(x.~)=o-o
=D.SETUP.
199
P(:O 1 )=0.0
=O,SETUP.201
.204
RHOYA=[AMINIIFI
! DEL} (J))-RHOF
Pl:.J)=P(I.~-l

80

I.U-l

).O.5)=OELY(U-I

)+GV*RHOtA

)+AMAX1(C.O.F(

1.J)-O.5)=

t-o.o

t=ll.30

t=o.so

.n
.-. ..-.

t=O.60

. . .. .. . . ,. ..
.. ...,
...
... ..
1, . . . .
....
.!
!

t=7. o

t=Oe80

t=o .90

.
FUEL REORIENTfl TION PROBLEM BOND NUMBER 4. t

Fig.

t=

1.00

t=r-1
,.3

t=o.0

t=o .5

t=l]
,9

t =11s

t d.7

DR~f TONER FILII

il(3T9

t=O ,6

t= I ,0

BOND NUMBER 4.1

The authors wish to thank R. S. Hotchkiss


perience gained from similar studies.

82

for sharing

his insight

and ex-

APPENDIXA.
THE PARTIALCELL TREATMENT
The partialcell treatmentmay be motivated by consideringit to be a
special case of twophaseflow. If we specializethe two-fluidequationsused
22,23 to the casewhereone of the fluidsis fixedin space
in the K-FIX program
and time,and where the densityof the other,moving,fluidis constantin space
and time,then the continuityand momentumequationsfor the movingfluidare

v(e:)

(A-1)

so

and

a(e~)
at

+vo(e~~)

=e[g-v(plp)]

Ku

-y+v.y

ea

(A-2)

[1

where (3is the volumefractionof the workingfluid (thatis, the fraction of


the volume occupied by the motionless component),K is a couplingconstant
characterizing
the drag betweeninterpenetrating
fluids,and : is the viscous
stress tensor. Equation (4) completes the set of equationsthatwe will
require.
The programis basedon nonconservative
momentumequations,a choice made
for SOLA-VOF2 on the basisof an incompleteargumentbasedon truncationerror
analysis. This choicehas been retainedin the presentprogram,and it has the
fortuitous property of allowing us to omit any mentionof the partialcell
treatment(thatis, e) in the momentumequationsolver. If we make use of the
assumption that e is independentof time and use Eq. (A1)to derive the
nonconservative
form of Eq. (A-2),we obtain

(A-3)

Similarly,the nonconservative
F, Eq. (4),may be cast into conservativeform,
Eq. (32),by usingEq. (A-1)and the time-independence
of 0.
The connection between the two-fluid equations and the partial-cell
treatmentis made by specializing
e to a situationwhere 0 is a step function

with valuesof O and 1 in the obstaclematerialand movingfluid,respectively.


Firstwe note that~ =0 in the obstaclematerialand 0 is constant piecewise.
Therefore we neglect the termsin squarebracketsin Eq. (A-3)becausewe are
interestedonly in what is happeningin the fluid. These terms serve only to
enforce y = O insidethe obstacleand eitherg = O or ~gt~~ = O on its surface.
The resultis thatEqs. (2) and (3) are the momentumequationsthatwe desire.
The finalpart of the connectionis a set of rulesfor includinge in the
difference equations.We do thisby introducingthreearraysinto the program.
First,ACi,j is the fraction of cell (i,j) open to fluid, times 2nri in
cylindricalcases. For cases wherea cell-centered
valueof rO is required,
AC.
l,j is used. Second,ARi+l/2,jis the fractionof the area of the right face
of cell (i,j) that is open to flow,times2~ri+1/2in the cylindricalcase.
This array is used as the valueof rO on the cell face. Finally, the array
Ti,j+l/2is the fractionof the area of the top face of cell (i,j)that is open
case,and it is used as rO for the top
tO flOW, times2nri in the cylindrical
These ruleshave the nice featurethat the finite-difference
form
for the divergenceof the velocity,Eq. (20),exactlyconserves the volume of
fluidflowingthroughthe cell facesif one assumes~ is constantover each cell
face. This procedureis admittedlynot rigorous,but we expect it to produce

cell

face.

the correctgeneralfeaturesof flow in nonrectangular


geometries.
The use of the partial cell variables AT, AR, and AC appearsto be a
powerfuland simple procedure for embedding thin screens and baffles as well as
solid obstacles in

the grid.

Baffles and screens can be approximatedas

zero-thickness
surfaceson cell faceswith appropriateflow losses, including
the K term in the momentumequation. However,additionalmodelingeffortswill
be required before this capabilitycan be added to the program.

code

In

addition,

modifications will be necessary to correctly account, through the

fractionalarea/volumefunctions,for wall shearstresses(or theirabsence) on


curvedboundariesembeddedin the computinggrid.

84

APPEWIX B
PROGRAM LISTING

85

.COMDECK , COMMLINi
PARAMETER (IBAR2=40.
JBAR2=40.MESHX=20,
MESHY=20,NVOR=25,NOED=20
)
c
=--=
NOTE *====
c
ISOR=O
(CON&lGATE
RESIDUAL
SOLUTION)
REWIRES
IBAR2
c
=IMAX ANO dBAR2=JMAX
DUE TO USE OF CRAY SYSTEM
c
UTILITIES
FOR VECTOR AND MATRIX OPERATIONS
PARAMETER (MSI-M=MESHX+I.
MSHY=MESHf+l)
c
COMMON /FV/
ACOM( 1).
UN(IBAR2.LJBAR2).
vN(IBAR2.LJBAR2).
pN(IBAE2
, FN(IBAR2.JBAR2).
U(IBAR2.&AR2),
V(IBAR2.d3AR2).
p(IBAR2
PETA(IBAR2
.LJBAR2).
BETA(13AR2,
JBAR2),
NF
; ::;%,
F(IBAR20dBAR2).
3 (IBAR2,J3AR2),
PSI IBAR2,JBAR2),
AR(IBAR20d3AR2).
4 AT(IBAR2.
LJBAR2),AC( IBAR2,d3AR2)
c
COMMON /ME/
X(IBAR2),
XI(13AR2),
RXI(IBAR2),
OELX(IBAR2).
ROX
1 (IBAR2),
Rx(IBAR2),
Y(dBAR2~,
YJ(J13AR2).
RYU(IJBAR2),
DELy(JaAR2).
2 IEOIC.
NDUMp. (IVOL,
CON, FCVLIM.
ROY(J3AR21,
XL(MSHX).
XC(MESHX).
3 OXMN(MESHX).
NXL(MESHX),
NXR(MESHX).
YL(MSHY),
YC(MESHy).
OyMN
4 (MEsHY).
RI(IE3AR2).
NYL(MESHY),
NYR(MESHY).
ZC(20),
R(IBAR21.
5 COSO(IBAR2,JBAR2), SINO(13AR2,JBAR2).
NW(13AR2.JBAR2)
c
COMMON /PV/
NR(NVOR),
PR(NVOR),
VOL(NVOR),
NAME( IO),
FVOL
c
dBAR,
IMAX,
dMAX,
IM1,
LJMI, NKX. NKY, NCYC. DELT
COMMON /IV/ IBAR,
1
T, AUTOT,
PRTOT.
TWPRT,
PLTDT,
TWPLT.
TWFIN,
FLHT.
XNU.
2 AHOF, NREG. VCHGT,
ISURFIO
3 , SIGMA,
OMG, ALPHA,
KL
CANGLE,
ICYL,
CYL,
GX, GY, UI, VI,
ITER,
EPSI.
FLG. FLGC. FNOC, NOCON, NFLGC,
4 , KR, KB. KT,
5 ISYMPLT.
IMOVY.
VELMX,
VELMXI,
XSHFT.
YSHFT,
XMIN.
XMAX. YMIN,
6 YMAX, SF, YPB. YPT,
IPL,
IPR,
JPB,
dPT,
DTVIS
8 .l.d,OUOR.DUOL.OUDT,
OUOB,DVDR,DVDL,DVDT
.DVDB
7 .OTSFT.OXMIN.OYMIN.PSAT
.LITER.
ISOR, IDEFM.NPACK.
LABS(5)
8 ~ADEFM1f30EFM.0TCRMX.
IDIV
c
COMMON /CONST/
EMF, EMFI,
EM6, EMIO,
EPIO,
PI,
TPI,
RPD, EM6PI
1
CbMk%l/OBS/
NOBS, OA2(NOBO),
OAI(NO13D),
OB2(NOBD),
OBI(NOBD),
OC2
1 (NOBO),
OCI(NOBO).
IOH(NOBO)
PROGRAM IIWI
(INpuT.
1 ,TTY.TAPE59=TTY)

TApE5=INPUT.OUTPUT

,TAPE6=ouTPuT.TAPEi,

TAPE8

c
c ========-===-==*=W==
============-=====
==--*-=-*=--==-==-=======
=C -===-============
==-==-=-===--==-=======
=========*==.===.====
-=--=
c
co?)RIG1-iT.
Or CALIFORNIA.
1985.
VIE REGENTS 9= TI-IE UNIVERSITY
THIS
S2FTWARE wAS !JRCDJCE2 UNDER & u- S- GOvERNM~NT CoNTRAC?
c
c
IW-7405-ENG-361
BY THE LOS ALAMOS NLTIONAL
LABORATOR}.
WHICH
..
IS OPERATED 3V THE UNiVEi?51T~OF CALIFORNIA FOR THE u. S.
THE U. S. GOVERNMENT IS LICENSED
TO USE,
DEPARTMENT OF ENERGY.
REPROOUCE,
PERMISSION
IS
;
ANO TO DISTRIBUTE
THIS SOFTWARE.
c
GRANTEO TO THE PUBLIC
TO COPY AND USE THIS SOFTWARE WITHOUT
THAT THIS NOTICE AND ANY STATEMENT OF
c
CHARGE. PROVIDED
NEITHER
THE GOVERNMENT
AUTHORSHIP
ARE REPROOUCEO ON ALL COPIES.
c
NOR THE UNIVERSITY
MAKES ANY WARRANTY.
EXPRESS OR IMPLIED.
c
c
OR ASSUMES ANY LIABILITY
OR RESPONSIBILITY
FOR THE USE OF THIS
c
SOFTWARE.
c
c ======*===**==**===*
==*===*===*=*========**="*==*="==*==*=w"=-==**=="
=**==**==*==*=**==
c =======**===*==-=*===
*=*=======*==***==*==**=**==**
c
c +++
c +++ TAPE7 IS THE RESTART DUMP
c +++ TAPE8 IS THE OUTPUT FILE FOR EOU13
c +-+-+ TAPE12
IS THE FILM OUTPUT
c +++
c
c +++ VOLUME OF FLUID
METHOO
c ++-+
c +++ LIST
OF PRIMARY VARIABLES
c
c +-++ INPUT PARAMETERS
(NAMELIST
/XPUT/)
c
ALPHA
c
CONTROLS AMOUNT OF DONOR CELL FLUXING
(=1.0
FOR FULL
=0.0
FOR CENTRAL DIFFERENCING)
c
DONOR CELL OIFFERENCING,
AUTOT
AUTOMATIC
TIME STEP FLAG (=1.0
FOR AUTOMATIC
OELT
c
ADJUSTMENT,
=0.0
FOR CONSTANT OELT)
c
c
IN DEGRES, BETWEEN FLUID AND WALL
CANGLE
CONTACT ANGLE,
MOVED IN TIME STEP
CON
C.F.L.CDNOITION
- CELL WIOTH FRACTION
c
DELT
TIME STEP

86

IItiI.2
IIWI.3
IIWI.4
IIWI.5
11nI.6

1141.?
IIwI.3
IIWi.9
IIwI.1O
IIWI.!I
IIWI.12
IIWI.13
IIWI.14
IIWI.15
IIWI.16
IIWI.17
IIWI.18
IIWI.19
IIWI.20
IIWI.21
IIWI.22
IIWI.23
IIWI.24
IIWI.25
IIWI.26
IIWI.27
IIWI.28
IIWI.29
IIWI.30
IIWI.31
IIWI.32
IIWI.33
IIWI.34
IIWI.35
IIWI.36

IIWI.37
IIWI.38
IIWI.39
IIWI.40
IIWI.41
IIWI.42

DTCRMX
EPSI
FLHT
GX
GY
ICYL
IDEFM
ICIV
IEQIC
IMOVY

ISOR
ISURF1O
ISYMPLT
KB

KL
KR
KT
NAME
NDUMP
NPACK
OMG
PSAT
PLTDT
PRTDT
OVOL
RHOF
SIGMA
TWFIN
UI
VI
VELMX
XNU
C

+++

c
c
c
c
c

c
c
c
c
c
c

c
c
c
c

c
c.
C
c

c +++
c

MESH

NYL(N)
NYR(N)
XC(N)
XL(N)

YC(N)
L(N)

IIWI.43
IIWI.44

AVAILABLE TO SPECIFY FLOW RATE (INFLOW OR OUTFLOW)


IF REQUIRED
FLUID DENSITY (FOR F=l.O REGION)
SURFACE TENSION COEFFICIENT
PROBLEM TIME TC END CALCULATION
X D o I R E C T I O N V E L O C I T Y USED FOR :NITIALIZING M E S H
DIRECTION
vELOCITY
USED
FOR
INITIALIZING
MESH
MAXIMUM VELOCITY EXPECTED Ihj PROBLEM USED TO SCALE
VELOCITY VECTORS
COEFFICIENT OF KINEMATIC VISCOSITY

IIWI.82
IIWI .83

SETUP

DXMN(N)
DYMN(N)
NKX
NXL(N)
NXR(N)

MAXIMUM DELT USING CONJUGATE RESIDUAL SOLUTION METHOD


PRESSURE ITERATION CONVERGENCE CRITERION
FLUID HEIGHT, IN Y-DIRECTION
BODY ACCELERATION IN POSITIVE X-DIRECTION
BODY ACCELERATION IN POSITIVE Y-DIRECTION
MESH GEOMETRY INDICATOR (=1 FOR CYLINDRICAL COORDINATES
=0 FOR PLANE COORDINATES)
DEFOAMER OPTION FLAG
OFF = o
ON
=
1
***
0=OFF
1 =ON
DIVERGENCE CORRECTION FLAG
F L A G U S E D T o A C TI V A T E E Q U I L I B R I U M
FREE SURFACE
CALCULATION DURING SETUP
MOVIE INDICATOR (=1 FOR MOVIE FILM OUTPUT, =0 FOR
OTHER FILM OUTPUT)
PRESSURE ITERATION SOLUTION METHOD
CONJUGATE RESIDUAL = O ****
SDR = 1
SURFACE TENSION INDICATOR (=1 FOR S U R F A C E T E N S I O N ,
=0 FOR NO SURFACE TENSION)
SYMMETRY PLOT INDICATOR (=1 FOR SYMMETRY PLOT.
=0 FOR NO SYMMETRY PLOT)
INDICATOR FOR BOUND ARY CONDITION TO BE USED ALONG THE
BOTTOM OF THE MESH (=1 FOR RIGID FREE-SLIP WALL,
=2 FOR RIGID N O - S L I P W A L L . = 3 F O R C O N T I N U A T I V E
BOUNDARY, = 4 F O R P E R I O D I C B O U N D A R Y , 5 FOR CONSTANT
PRESSURE BOUNDARY)
INDICATOR FOR BOUNDARY CONDITION ALONG LEFT SIDE OF
MESH (SEE KB)
INDICATOR FOR BOUNDARY CONDITION ALONG RIGHT SIDE OF
MESH (SEE KB)
INDICATOR FOR BOUNDARY CONDITION ALONG TOP OF MESH
(SEE KB)
PROBLEM IDENTIFICATION
DUMP NUMBER FOR PROBLEM RESTART
1 =ON
FLAG TO ACTIVATE PACKING O=OFF
OVER-RELAXATION FACTOR USED IN PRESSURE ITERATION
LIQUID SATURATION PRESSURE - IF NONZERO CODE SIMULATES
PHASE CHANGE IN NF = 5 CELLS
TIME INCREMENT BETWEEN PLOTS AND/OR PRINTS TO BE OUTPUT
ON FILM
TIME INCREMENT BETWEEN PRINTS ON PAPER

IIJPUT

(NAMELIST

/mSHSET/)

MINIMUM SPACE INCREMENT IN X-DIRECTION IN SUBMESH N


MINIMUM SPACE INCREMENT IN Y-DIRECTION IN SUBMESH N
NUMBER OF SUBMESH REGIONS IN X-DIRECTION
NUMBER OF CELLS BETWEEN LOCATIONS XL(N) AND XC(N) IN
SUBMESH N
NUMBER OF CELLS BETWEEN LOCATIONS XC(N) AND XL(N+l) IN
SUBMESH N
N U M B E R O F C E L L S BE T W E E N L O C A T I O N S Y L( N ) A N D YC (N ) I N
SUBMESH N
NUMBER OF CELLS BETWEEN LOCATIONS YC(N) AND YL(N+l) IN
SUBMESH N
X-COORDINATE OF THE CONVERGENCE POINT IN SUBMESH N
LOCATION OF THE LEFT EDGE OF SUBMESH N (NKX+l VALUES
OF X L ( N ) A R E N E C E S S A R Y B E C A U S E T H E R I G H T E D G E ( X R ) O F
SUBMESH N IS DETERMINE BY THE LEFT EDGE OF
SUBMESH N+1 )
Y-COOROINATE OF THE CONVERGENCE POINT IN SUBMESH N
LOCATION OF THE BOTTOM OF SUBMESH N (NKY+l VALUES OF
YL(N) ARE NECESSARY BECAUSE THE TOP EDGE (YR) OFSUBMESH N IS DETERMINED BY THE BOTTOM EDGE OF
SUBMESH N+1)

NTERIOR OBSTACLE

SETUP INPuT (NAMELIsT

/ASETIN/)

IIWI .45
IIWI.46
IIWI.47
IIWI.48
IIWI.49
IIWI. .50
IIW1.51
IIwI.52
IIWI .53
IIWI.54
IIWI.55
IIWI.56
IIWI.57
IIWI.58
IIWI .59
IIWI.60
IIWI.61
IIWI 62
IIwI.63
IIWI.64
IIWI.65
IIWI,66
IIWI.67
IIWI.68
IIWI.69
IIWI.70
IIWI.71
IIWI.72
IIWI.73

IIWI.74
IIWI.75
IIwI.76
IIWI.77
IIWI.78
IIWI.79

IIWI.80
IIWI.81

IIWi.84
IIWI.85
IIWI.86
IIWI .87
I I W . 8 8
II:WI.89
II:WI.90
IIWI.91
IIWi.92
IIWI.93
IIWI.94
IIWI.95
IIWI.96
IIWI.97
IIWI.98
IIWI .99

IIWI .100
IIWI. 1Ol
IIWI .102
IIWI .103
IIWI .104
IIWI .105
IIWI. 106
IIWI .107
IIWI. I08
IIWI. 109
IIWI .110
IIWI .111
IIWI
IIWI
IIWI
IIWI
IIWI
IIWI.
IIWI
IIWI

.112
.113
.114
.115
.116
117
.118
.119

87

*CALL , COMMClh1
DATA EMF /1.oE-06/.
EM6 /1.OE-06/,
EMIO /1.oE-10/
DATA EOIO /1.OE+10/,
FiGC /0./,
FLG /0./
DATA T9UIT
/60./
RPD /0.0174532925/.
EM6P1 /f.0000Ot/
DATA PI /3.14159265359/.
DATA TBEG /0.~,
TPI / 6.283185307
/
DATA EM61 / 0.999999
/
c +++
c
i +++ DEFAULT INPUT DATA
c +++ NOTE
USER MUST SUPPLY THE FOLLOWING REGARDLESS
c
oF DEFAuLTs:
DELT,TWFIN.PRTDT.PLTOT
c
DATA XNU 10.G/,
ICYL /0/,
EPSI /1.OE-03/,
GX /0.0/.
GY /0.0/,
UI
1 0.0/,
V: /0.0/.
VELMX /1.0/,
IMOVY /0/,
OMG /1.7/.
ALPHA /1.0/.
2 KL /1/,
KR /1/.
KT /1/,
KB /1/.
AUTOT /1.0/,
ISYMPLT
/0/,
3 ISURFIO
/0/.
SIGMA /0.0/,
CANGLE /90.0/.
RHOF /1.0/,
FLHT /0.0/.
4
PSAT /0.0/
DATA IEOIC
/1/
c +++
c +++ CALL SYSTEM-DEPENOENT
ROUTINES
TO INITIALIZE
FILM FILE
c +++
CALL GpLOT (lHu.4HIIwI,4)
CALL GRPHLUN (12)
CALL LIB4020
CALL GRPHCFT
CALL SETFLSH
c +++ SySTEM-DEPENDENT
CALL TO GET THE LJOB TIME LIMIT
CALL GETdTL (TTL)
c +++
c +++ CALL THE INITIALIZATION
ROUTINE
c +++
CALL SETUP
c
c +++ PRINT
INITIAL
INPUT DATA
c
CALL PRTPLT (1)
c
c +++ SET INITIAL
BOUNOARY CONDITIONS
c
CALL BC
c
DTEND=O.002=OELT
IF (NDUMD.LE. l)

GC TO 39

c +++ START

TIME

CYCLE

c
10 CONTINUE
CALL SECOND (T5EG)
c .-+
sHuToFF
FoR sMALL
c +.+
PROBLEM DEF5.Ni)EtJT - cALcuL&TioNAL
IF(DELT.GT.DTEND
1 GO TC 20
WRITE (59.150)
N:YC.T
WRITE ( 12, 150)
NCYC,T
TWFIN=T-0.999
20 CONTINUE
ITER=O
FLG=l.O
FNOC=O.O
c
c +++ EXPLICITLY
APPROXIMATE
NEW TIME-LEVEL
VELOCITIES
c
CALL TILDE
c
c +++ SET BOUNOARY CONDITIONS
c
CALL BC
c
c +++ ITERATIVELY
AOJUST CELL PRESSURE AND VELOCITY
c
IF IISOR.EO.1)
CALL PRESIT
IF (ISOR.EO.0)
CALL PRESCR
IF (FNOC.GT.0.5)
CALL PRTPLT (4)
c
IF (FNOC.GT.0.5)
GO TO 40
c
c +++ UPDATE FLUIO CONFIGURATION
c
30 CALL VFCONV

88

71MEsTEp

IIWI.
IIWI.
IIWI.
IIWI.
IIW?.
IIWI.
IIWI.
IIWI.
IIWI.
IIWI.
IIWI.
IIWI.
IIWI.
IIWI.
IIWI.
IIWI.
IIWI.
IIWI.
IIWI.
IIWI.
IIWI.
IIWI.
IIWI.
IIWI.
IIWI.
IIWI.
IIWI.
IIWI.
IIWI.
IIWI.
IIWI.
IIWI.
IIWI.
IIWI.
IIWI.
IIWI.
IIWI.
IIWI.
IIWI.
IIWI.
IIWI.
IIWI.

120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161

IIWI
IIWI.
IIWI.
IIWI.
IIWI.
IIhI.
IiWI.
IIWI.
IiWI.
IIWI
IIWI
IIWI
IIWI.
IIWI.
IIWI
IIWI
IIWI
IIWI
IIWI.
IIWI
IIWI.
IIWI.
IIWI.

.162
163
164
165
166
167
16E
169
170
.171
.172
.173
!74
175
.176
.177
.178
.179
180
.161
182
183
184

IIWI.185
IIwI.186
IIWI.187
IIWI.188
IIWI.189
IIWI.190
IIWI.191
IIWI.192
IIWI.193
IIWI.194
IIWI.195
IIWI.196
IIWI.197
IIWI.198

c
IF
c
c +++
c

(FLGC.GT.O.5)

BolJNDARy

SET

CALL
c
c +.+

GO TO

100

CONDITIONS

EC

DETERMINE
PRESSURE INTERPOLATION
FACTOR AND NEIGHBOR
DETERMINE
SURFACE TENSION PRESSURES ANC
WALL ADHESION
EFFECTS IN SURFACE CELLS

c +*+ ALSO
c +++
c

CALL PET&CAL
CALL BC
IF(NCYC.NE
.O.OR.ISOR
00 32 1=2, 1!41
PSAOO=O.O
00 32 d=2,dMl
Jd=dM1-LJ+2

.NE.0)

GO TO 34

IF(PS(I.UU).NE.O.0) PSAOO=PS(I,LJJ)-P(I,LM)
P(I,LId)=P(
I,tJJ)+PsAoo
32
34
c
c +++
c
40
c

CONTINUE
CONTINUE
PRINT

TIME

CALL

PRTPLT

AND CYCLE

DATA ON PAPER

AND/OR

FILM

(2)

:F

(NCYC.LE.0)
GO T3 50
(7+EM6. LT.TwPLT.ANo.T.
TWPLT=TWPLT+PLTOT
CONTINUE

IF

50
c
c +++
c
c
c +++
c

PRINT

FIELO

CALL

PRTPLT

PLOT

VELOCITY

CALL

ORAW

VARIABLE

LT.TWFIN)

GO TO 60

OATA ON FILM

(3)
VECTOR,

FREE SURFACE,

MESH,

c
60

70
c
c +++
c

CONTINUE
IF (NCYC.LE.0)
GO TO 70
IF (T+EM6.LT.TwPRT)
GO TO
TWPGT=TWPRT+PRTDT
CONTINUE

so

PRINT

ON PAPER

CALL

FIELO
PRTPLT

VARIABLE

DATA

(4I

c
80
c
c +++
c

90
c
c +++
c
100
c
c +++
c

CONTINUE
IF (T.GT.TWFIN)

GG

SET

TIME

THE

AOVANCE

TO

130

ARRAYS

00 90 1=1, IMAx
00 90 d=l,JMAX
UN(I,LJ)=U(I,J)
VN(I,J)=V(I.J)
U(I,J)=O.O
V(J,J)=O.O
PN(I.J)=P(I,J)
FN(I,d)=F(I,d)
CONTINUE
NREGN=NREG
AOLJUST OELT
CALL

OELTAOJ

AOVANCE

TIME

T=T+OELT
c
c +++
c

AOVANCE

CYCLE

IF (NFLGc.LT.5)
WRITE (12,170)
WRITE (59,170)

GO TO
NCYC,T
NCYC.T

110

INTO

THE

TIME-N

ARRAYS

IIWI.199
IIWI.200
IIWI.201
IIWI.202
IIWI.203
IIWI.204
IIWI.205
IIWI.206
IIWI.207
IIWI.208
IIWI.209
IIWI.21O
IIWI.211
IIWI.212
IIWI.213
IIWI.214
IIWI.215
IIWI.216
IIWI.217
IIWI.218
IIWI.219
IIWI.220
IIWI.221
IIWI.222
IIWI.223
IIWI.224
IIWI.225
IIWI.226
IIWI.227
IIWI.228
IIWI.229
IIWI.230
IIWI .231
IIWI.232
IIWI.233
IIWI.234
IIWI.235
IIWI.236
IIWI.237
IIWI.238
IIWI.239
IIWI.240
IIWI.241
IIWI .242
IIWI.243
IIWI .244
IIWI .245
IIWI .246
IIWI.247
IIWI.248
IIWI.249
IIWI.25O
IIWI.251
IIWI.252
IIWI.253
IIWI.254
IIWI .255
IIWI.256
IIWI.257
IIWI.258
IIWI.259
IIWI.260
IIWI .261
IIWI.262
IIWI.263
IIWI.264
IIWI.265
IIWI.266
IIWI.267
IIWI.268
IIWI .269
IIWI.270
IIWI.271
IIWI .272
IIWI.273
IIWI.274
IIWI .275
IIWI.276
IIWI .277

89

CALL EXITLOC
(8HIIWI
PIT)
CONTINUE
IF (NOCON.LT.5)
GO TO 120
WRITE (12.160)
NCYC,T
WRITE (59.160)
NCYC,T
(SHiIWIFCV)
CALL EXITLDC
120 CONTINUE
NCYC=NCYC+I
h++ TERMINATE
GRACEFULLY
IF OUT OF TIME
CALL SECOND (TIME)
TLEFT=TTL-TIME-TOUIT
IF (TLEFT.LT.O.
) cALL TAPOUT (o)
IF (MOO(NCYC.200)
.NE.0)
GO TO 10
CALL SECONO (TENO)
CALL SECONO (TENi)O)
GRINO=Z 1000. =(TEhO+TEND-TENDO-TBEG)/FLOAT(
IBAR*IJBAR)
WRITE (59,140)
NCYC,GRINO.
ITER
IF (IMOVY.EO.0)
WRITE
(12, f40)
NCYC,GRINO.ITER
WRITE (6,140)
NCYC,GRINO.ITER
GO TO 10

110

c
130

CONTINUE
CALL ExITLOC

(4HIIwI)

c
FORMAT
FORMAT
FORMAT
1 E14.6/jj
170 FORMAT
1 14,6//)
ENO

140
150
160

(IX.5HCYCLE,
(IX,29HOELT
(//lx.25HT00
(//lx.24HT00

SUBROUTINE
~CALL,COMM.ONl

17. IX,6HGRINO=
,IPE12.4,10H
MS. ITER=
15)
LESS THAN OTENO ON CYCLE.16.
IX.3HT
= IPE15.7)
3x.5HNcyc=,
17 1X,2HT=,1P
MANy PREssIT Failures.
MANy vFcONV

Failures,

3x,5HNcyc=o

17,

X,2HT=,

IPE

ASET

c +++
c +++
c +++

c +*+

c -++

CONIC FCIQ=OA2=X=X+3AI
=X+3E2=YY+OBl=Y+GC2=Y.=Y&OC
:
INSI@E
FCN=NEGATIVE
VALUE
IOH=O SUBTRACT OBS INSIOE
IOH=I
AOO CES INSIOE
FCN,

FCN

DIIKNSION IFLG(5), DIS(4), XM(5). }M(5)

10

20

30

40

50

60

70

90

IF (NOPS.LE.01
GO 70 240
00 230 K=I,NOBS
00 220 d=2.dMl
00 220 1=2.IMI
ROXDY=l .O/(DELX(I)-DELY(
d))
00 60 M=f.4
GO TO (10,20.30,40),
M
x1=x(I)
Yl=Y(tJ-1)
OIS(l)=OELY(d)
GO TO 50
Y1=Y(LI)
X1=X(I)
DIS(2)=OELX(I)
GO TO 50
X1=X(1-I)
YI=Y(LJ)
oIs(3)=DELY(d)
GO TO 50
YI=Y(J-1)
X1=X(1-1)
OIS(4)=DELX(I)
IFLG(M)=O
FcoNIc=oA21K
)=xt=xI-oAI
(K)=xI+062(K)=Yl
1 +OCI(K)
IF (FCONIC.LE.O.0)
IFLG(M)=I
XV(M)=XI
YM(Mj=Yl
CONTINUE
IFLG(5)=IFLG(I
)
XM(5)=XM(1)
YM(5)=YM(I)
IFLGS=O
DO 70 M=i,4
IfLGS=IFLGS+IFLG(M)
BRIJ=O.O
BTIJ=O.O
IF (IFLGS.EO.0)
GO TO 220
IF (IFLGS.L7.4~
GO TO 80

Byl+0B

1(K)=y1+oc2(K)=x1=y

IIWI.278
IIWI .279
IIWI.280
IIWI.281
IIWI.282
IIWI.283
IIWI.284
IIWI.285
IIWI.286
IIWI.287
IIWI.288
IIWI.289
IIWI.290
IIWI.291
IIWI.292
IIWI.293
IIWI.294
IIWI.295
IIWI .296
IIWI.297
IIWI.298
IIWI.299
IIWI.300
IIWI .301
IIWI.302
IIWI.303
IIWI.304
IIWI .305
IIWI.306
IIWI.307
IIWI.308
ASET.2
ASET.3
ASET.4
ASET.5
ASET.6
ASET.7
ASET.8
ASET.?
ASET.10
ASET.11
ASET.12
ASET.13
ASET. 14
AsET.~5
ASET.16
ASET.17
ASET.18
ASET.19
ASET.20
ASET.21
ASET.22
ASET.23
ASET.24
ASET.25
ASET.26
ASET.27
ASET.2B
ASET.29
ASET.30
ASET.31
ASET.32
ASET.33
ASET.34
ASET.35
ASET.36
ASET.37
ASET.38
ASET.39
ASET.40
ASET.41
ASET.42
ASET.43
ASET.44
ASET.45
ASET.46
ASET.47
ASET.48

80

90

100

110

120

130
140
150
160

BIJ=I.
O
BRIJ=I.o
BTId=l.O
GO TO 200
iF (IFLG(I
).EQ. I.ANo.
IFLG( 2).EQ.1)
BRILI=l.O
IF (IFLG(2)
.EQ. I.AND.IFLG(
3).Eo.1)
BTIIJ=I.O
DO 160 M=I,4
IF (IFLG(M)
.EQ.IFLG(M+I)
) GO TO 160
Xl=XM(M)
Y1=YM(M)
X2=XM(M+I)
Y2=YM(M+1)
IF (IFLG(M).Eo.0)
Go To 90
X2=XM(M)
Y2=YM(M)
XI=XM(M+l)
YI=YM(M+I)
EPSIF=0.001.(ABS(X2-XI
)+ABs(Y2-YI))
SMN=O.O
FMN=OA2(K).X2=X2+OAI
(K)*X2+OB2(K)
=Y2.Y2+OB
(K)=y2+0c2(K)*x2=Y2+ocI
1 (K)
Smx=l.o
FMX=OA2(K).XI
*XI+OAI
(K).XI+OB2(K)=YI
*YI+OB
(K)=Yl+0c2(K).xI*YI+ocI
1 (K)
S=O.5
XT=S=X1+(I.O-S)=X2
YT=S*YI+(l.O-S)*Y2
Fs=oA2(K).xTIDxT+oA1
(K)=XT+OB2(K)=YT=YT+OBI
(K)*YT+OC2(K).XT.YT+OCI
1 (K)
IF (ABS(FS).
LT.EPSIF)
GO TO 130
IF (FS.GE.O.0)
GO TO 110
FDEN=ABS( FS-FMN)+I.OE10
SE=S-FS*(S-SMN)/FOEN
IF (sE.GT.sMx)
SE=SMX
FMN=FS
SMN=S
GO TO 12a
FOEN=ABS(FMX-FS)+l
.OE-10
SE=S-FS=(
SMX-SJ/FOEN
IF (SE.LT.SMN)
SE=SMN
FM).=FS
SMX=S
FMN)
SI=S-FS*(SMX-SMN
)/(FMX
S=O.5=(SE+SI)
GO TO 100
OIS(M)=SORT(
(XT-X2
)==2. (YT-Y2)=*2)
GO TO (140.150.160;
160 ,M
BRId=OIS(
l)/DELY(J)
GO TO 160
ETIbJ=oIs(2
)/DELx(I
)
CONTINUE
M=o

BId=O.O
170

180

J90

200

CONTINUE
M=M+I
IF (M.EO.5)
GO TO 190
IF (IFLG(M).EQ.0)
GO TO 170
MPI=M+I
IF (MP1.EO.5)
MPI=l
MMI=M-I
MMI=4
IF (MMI.EO.0)
*DIs(MM1
BILJ=BIJ+OIS(M
EQ.I ) GO TO 180
IF (IFLG(MpI)
DIS2=OIS(M)
CONTINUE
IF (IFLG(MMI)
EO.1)
GO TO 170
OIS1=DIS(MM1)
GO TO 170
CONTINUE
IF (IFLGS.EO.3)
BId=BILJ-01Sl*OIS2
BId=o.5*BId*RoxoY
IF (Bid.GT.l.0)
BIJ=I.O
CONTINUE
IF (IoH(K).EO.0)
GO TO 210
BIJ=-BIJ
BRIJ=-BRIJ
BTIIJ=-9TILJ

ASET.49
ASET.50
ASET.51
ASET.52
ASET.53
ASET.54
ASET.55
ASET.55
ASET.57
ASET.58
ASET.59
ASET.60
ASET.61
ASET.62
ASET.63
ASET.64
ASET.65
ASET.66
ASET.67
ASET.68
ASET.69
ASET.70
ASET.71
ASET.72
ASET.73
ASET.74
ASET.75
ASET.76
ASET.77
ASET.78
ASET.79
ASET.80
ASET.81
ASET.82
AsET.e3
ASET.84
ASET.85
A5ET.86
ASET.87
ASET.88
ASET.89
ASET.90
ASET.91
ASET.92
ASET.93
ASET.94
ASET.95
ASET.96
ASET.97
ASET.98
ASET.99
ASET.1OO
ASET.1OI
ASET. 102
ASET. 103
ASET. 104
ASET. 105
ASET. 106
ASET. 107
ASET. 108
ASET. 109
ASET. 110
ASET. 111
ASET. 112
ASET. 113
ASET. 114
ASET. 115
ASET. 116
ASET. 117
ASET. 118
ASET. 119
ASET. 120
ASET. 121
ASET. 122
ASET. 123
ASET. 124
ASET. 125

91

210 kC(I.d)=AC(I.LJ)+BIJ
IF(AC(I.LJ).GT.O.9999) AC(I,UJ=I.O
IF(AC(I
.LJ).LT.O.0001
AR(I, J)=AR(I,d)+BRId
IF(AR(I
.J).GT.O.9999
IF(ARII
.J).LT.O.0001
AT(I,U)=AT(
I,J)+5TIJ
IF(AT(I
.J).GT.O.9999
IFiAT(I
:LJi.LT.O.0001
220
230
240

270

280

290

300

AC(I.J)=O.O

) AR(I.d)=l.O
) AR(I.d)=O.O
) LT(I,J)=l.O
) AT(I,IJ)=O.O

CONTINUE-CONTINUE
CONTINUE
00 280 d=2,dMl
IF (KL.GT.2)
AR(l.J)=O.O
AT(I,J)=O.O
AC(1,J)=EM1O
IF (KR.GT.2)
AR(IMI.J)=O.O
AR(IMAX,d)=O.O
AT(IMAX.J)=O.O
AC(IMAX;U)=EM1O
CONTINUE
00 300 1=2.IM1
IF (KB.GT.2)
AT(I.1)=0.O
AR(I.1)=0.O
AC(I.1)=EM1O
IF (KT.GT.2)
AT(I.dMl)=O.O
AR(I,dMAX)=O.O
AT(I,dMAX)=O.O
AC(I,JMAX)=EM1O
CONTINUE
DO 310 d=2.dMl
00 310 1=2.IMI

GO TO 270

GO TO 280

GO TO 290

GO TO 300

IF (AC(I.d).GT.EM6) GO

c
c
c
c
c
c
c

310
++.
+++
+++
+++

SEY AG ANC AT VALUES FOR IN


HERE AS UPOATE MODIFICATION

ANO OUT ~LOW BOUNDARY SEGMENTS


OEPENOING 3N APPLICATION

START

SECTION

00
00
c
c
c
c
c
c
c

TO 31o

AR(I,d)=O.C
AR(I-I,J)=O.O
AT(:,u)=O.G
AT(I.u-1)=0.O
eET&(I,J)=-1-c
CONTINUE

330
330

OF CURVEO WALL OPTION


d=2,JMl
I=2,1M1

FLOW
WE OEFINE
ARRAY NW, WHICH LOCATES CURVEO WALL IN A PARTIAL
315 CONTINUE
CELL.
DEFINITIONS
TERMINATE
AT:
WE OEFINE
ANGLE PHI THAT CURVEO WALL MAKES WITH +Y AXIS.
DEFINIT325 COSO...
IONS TERMINATE
AT:
WE INTROOUCE OEFAULT VALUES FOR PHI ANO NW
PHI=CANGLE

NW(I,tJ)=O
c
c
c
c

FOR FLUID
CELL OR OBSTACLE CELL USE OEFAULT VALUES FOR PHI
BYPASS ALL OF 00 LOOPS EXCEPT FOR OEFINING
TRIG.
FACTORS
IF(AC(I
IF(AC(I,

c
c
c
c
c
c

SET

NW FOR CELL

SET

NW ARRAY

IF(AR(I,
IF(AR(I,
c
c
c

.J).LT.EM6.OR.
J).GT.EM61)

SET

FOR CELLS

J).LT.EM6.ANO
J).LT.EM6.ANO

NW ARRAY

BETA(I,J).LT.O.0)
Go To 325

WITH

FOR CELLS

WITH

EXACTLY

IF(AR(I,
J).LT.EM6.ANO
.Nw(I.J).LT.5)
IF(AR(I-l,J)
.LT. EM6.ANO.AT(I,J)

92

GO TO 325

TWO COMPLETELY

.AT(I,J).LT.EM6)
.AT(I,
lJ-1).LT.E~6)

ANO NW

CLOSEO

BOUNDARIES

NW(I,d)=5
NW(I.J)=6
ONE CLOSEO

NW(I.IJ)=:
.GT. EM6.AN0.AT(l.J-

BOUNOARY

1).GT.

ASET 126
ASET 127
ASET 128
ASET 129
ASET 130
ASET 131
ASET 132
ASET 133
ASET. 134
ASET. 135
ASET. 136
ASET. 137
ASET. 138
ASET. 139
ASET. 140
ASET. 141
ASET. 142
ASET. 143
ASET. 144
ASET. 145
ASET. 146
ASET. 147
ASET. 148
ASET. 149
ASET. 150
ASET. 151
ASET. 152
ASET. 153
ASET. 154
ASET. 155
AsET.156
ASET. 157
ASET.IE.8
ASET. 159
ASET. 160
ASET. 161
ASET. 162
ASET. 163
ASET. 164
ASET. 165
ASET. 166
ASET, 167
ASET. 16.2
ASET. 16S
ASET. 17@
ASET. 171
ASET. 172
ASET. 173
ASET. 174
ASET. 175
ASET. 176
ASET. 177
ASET. 178
ASET. 179
ASET. 180
ASET. 181
ASET. 182
ASET. 183
ASET.1E4
ASET. 185
ASET. 186
ASET. 187
ASET. 188
ASET. 189
ASET. 190
ASET. 191
AsET. 192
ASET. 193
ASET. 194
ASET. 195
ASET. 196
ASET. 197
ASET. 198
ASET. 199
ASET.200
ASET.201
ASET.202
ASET.203
ASET.204
ASET.205

1 EM6) NW(I.J)=2
IF(AT(I
.J):LT.EM6.AND
.AR(I,d)
.GT.EM6.AND.AR(
I-1
1 GT.EM6)
NW(I.J)=3
. . . -,
lF(k~(l
:d).LT.5M6.AND
.AR(l.
d).GT.EM6.AND.I
.EI).2
IF(AT(I,J-1
) .LT.EM6.AND.AR(I,
J).GT.EM6.AN5.AR(
I
1 EM6) NW(I,LJ)=4

d).
NW(I,d
1.J).GT

=3

c
c

SET Nti ARRAY FDR CELLS WHOSE NE OR S: CORNER IS CLOSEO


BUT WHICH HAS NO COMPLETELY CLOSED BOUNDARY
MORE INTRICATE
NET OF IF STATEMENTS NEEOEO TO ESTABLISH

c
c

FLOW,

THIS

IF(AT(I,
J-1) .LT.EM6.
AND.AR( I,J).GT.EM6.ANo
.I.EQ.2)
NW(I,d)
IF(AR(Il,u).LE.EM61
) GO TO 315
IF(AR(I,
d).GT.EM6.ANo.AR(
I,d).LT.EM61)
GO TO 305
GO TO 315
305
IF(AT(I,J1).GT.EM61
.AND.AT(
I,J).GT.EM6.AND
.AT(I,Ll).LT.
1 EM61)
NW(I.U)=7
I,d-1).LT.
IF(AT(I
.d).GT.
EM61.ANO.AT(
I, IJ-l).GT.
EM6.ANO.AT
NW(I.tJ)=8
! EM61)
315 CONTINUE
--
c
c
c
c
c
c

CALCULATE

OEFINE

APPROPRIATE

FOR USE

IN

IF

ANGLE

FOR CURVED

STATEMENTS:

CASE

= 4

BOUNOARY

NON-INDEXEO

V, RIABLE

NWW=NW(I,U)

NWW=NW(I,d)
c
c
c
c

IF NW = O OR 2, BYPASS REDEFINITION
COSO FROM DEFAULT VALUE:
OTHERWISE
IF(NWW.EO.0)
GO TO 325
GO TO (320.325,320.320,320,320,

c
c
c

SPECIFY

VARIABLES

INCLUDING

c
c
320

320,320).

IN OEFINING

FOR USE

DEFAULT

TO AVOIO

CRATIO=OELX(I
)/OELV(LJ)
cELoEN=AR(l,
~)-AR(
I-I,J)
IF(ABs(
CEL2EN).LT.o.ool

oF pHI AND coMpuTE


sI~
ANo
REDEFINE
PHI,
STARTING
AT 320

DIVISION

NWW

TAN(PHI)

IN

VARIOUS

CASES,

BY ZERO

CELDEN=O.001

c
:
c

c
c
c
c

RECOMPUTE PHI IN FOUR STRAIGHTFOREWAR3


CASES:
FOR NW .NE.
1, CONVERT NEGATIVE
PHI TO PI-II IN

NW = :,6.3.
OR ~
SECONO OLJAO!?A14T

IF(NW4.EQ.1)
PHI=ATAN(CRATIO-(AT(I
.J)-AT(I.J-l
IF(Nww.EO.6)
PHI=ATAN(CRATIO=
(AT(I
,d)/AR(I-l.d))
IF(NWW.EQ.3)
PHI=ATAN(.CRATIO/CELDEN)
IF(NWW.EO.4)
PHI=ATAN(
-CRATIO/CELOEN)
IF(NWW.NE.
I.ANO.PHI
.LT.O.0)
PHI=PI+PHI

)))
)

WE NEEO WALL ADHESION


OPTION
EVEN FOR NW = 7 OR 8 CELLS:
RECOMPUTE PHI FOR THESE CASES HERE
IF(NWW.EO.8)
IF(Nww.Eo.7)
IF(NWW.NE.5)

PHI=ATAN(CRATIO*((
PHI=ATAN2(cRATIO=(
GD TO 325

l.O-AT(I,J-1))/(1
1.O-AT(
l,.J)),

.O-AR(I.J))))
(AR(I,J)-I.0)

SO

c
SIMPLEST
FORMAT FOR NW = 5 IS SLIGHTLY
OIFFERENT
OTHER CASES:
SO TREAT NW = 5 SEPARATELY
HERE

:
c

PHI=PI
c
c
c
c
c

ATAN(CRATID=(AT(

I,J-1)/AR(

EVALUATE TRIG.
FACTORS USING EITHER
RECALCULATED
PHI,
AS APPROPRIATE
325
330

CaSO(I,d)=CDS(PHI
SINO(I,
J)=SIN(PHI)
CONTINUE

c
RETURN
ENO

FROM THAT

I-led)))

THE

DEFAULT

PHI

OR THE

OF

ASET.206
ASET.207
ASET.2C8
ASET.209
ASET.21CJ
ASET.211
ASET.212
ASET.213
AsET.214
ASET.215
ASET.216
ASET.217
ASET.218
ASET.219
ASET.220
ASET.221
ASET.222
ASE7.223
ASET.224
ASET.225
ASET.226
ASET.227
ASET.228
ASET.229
ASET.23O
ASET.231
ASET.232
ASET.233
ASET.234
ASET.235
ASET.236
ASET.237
ASET.238
ASET.239
ASET.24O
ASET.241
ASET.242
ASET.243
ASEi.244
ASET.245
.&s~T.246
AsET.2.4&sE7.2AE
ASE-.24G
ASET.250
ASET.251
ASET.252
ASET.253
ASET.254
ASET.255
ASET.256
ASET.257
ASET.258
ASET.259
ASET.260
ASET.261
ASET.262
ASET.263
ASET.264
ASET.265
ASET.266
ASET.267
ASET.268
ASET.269
ASET.270
ASET.271
ASET.272
ASET.273
ASET.274
ASET.275
ASET.276
ASET.277
ASET.278

93

SUBROUTINE
=CALL,COMMONI

EC.2
BC.3

BC

L
c +++
c

sET

EOUN3ARY

CONDITIONS

00 100 d=l.d!~y.
F11,LJ)=F[2.JI
F(IMAX,
ti)=F(IMf,J)
P(l.J)=D[2,J)
P(IMAX,
JI=P(IM1,LJ)
GO TO (10,20,30,40.30).
10 U( 1.J)=O.O
V( I,U)=V(2,J)
GO TO 50
20 U( I.d)=o.o
V(l,
IJ)=-V(2,1.1
)=OELX(
30

40

50
60

K!-

1)/oELx(2)

GO TO 50
IF (ITER.GT.o)

GO TO 50
U( 1.J)=U(2.
d)*(X(2)-RX(
l)=CYL+l.O-CyL)
v(l,d)=v(2,d)
GO TO 50
u(I,J)=U(IBAR.J)
v(l,d)=V(IBAR,J)
F( I,IJ)=F(IBAR.J)
GO TO (eO.70.80,90.80).
KR
U(IM1,J)=O.O
V(IMAX,
J)=V(IMl,d)
SO TO 100

U(IMI.J)BO.O
V(IMAX,
LJ)=-V( IMl,d)*oELx(
IMAX)/OELx(IMl)
GO TO 100
GO TO 100
80 IF (ITER.GT.0)
U(IMl,
J)=U(ISAR,J)=(x(
IBAR)=RX(
IMl)c~L+l.o-cyL
v(IMAX,
d)=V(IM~,Ll)
GO TO 100
90 u(IMl,d)=u(2.d)
v(IMl,d)=v(2.lJ)
P(IMl,d)=P(2,1J)
PS(IM1,
LJ)=PS(2,U)
F(IM1,LJ)=F(2.J)
V(IMAX,IJ)=V(3,J)
F(IMAX,
LJ)=F(3,LJ)
100 C3NTINUE
00 200 1=1.IMAX
F(I.1)=F(I;2)
F(I,
JMAX)=F(I.JM1)
P(I,
I)=P(I
.2)
P(I.
JMAX)=P(I,LJMI)
GO TO (110.
120. 130s 140,130)
, KT
110 V(I.UMI)=O:O
U(I. dMAX)=U(I.JMl)
GO T3 150
120 V(I,JMI)=O.O
u(I,dMAx)=-u(I,JMl
)-OELy(dMAX)/OELY(JMl
)
GO TO 150
GO TO 150
130 IF (ITER.GT.0)
V(I;JM1)=V(I,JBAR)
U(I,JMAX)=U(I,
JMI)
GO TO i50
140 V(I.dMl)=V(I,2)
U(I,JMI)=U(I.2)
P(I.dMl)=P(I,2)
PS(I.IJMI)=PS(I
.2)
F(I.lJMl)=F(I.2)
U(I;JMAX)=U(I?3)
F(I.JMAX)=F(I.3)
150 GO TO (160.170,180.190.
180).
KB
!60 V(I.1)=0.O
U(I.
I)=U(I
.2)
GO-TO200
170 V(I.1)=0.O
u(I.l)=-u(
I,2)*oELy(l
)/0ELy(2)
GO TO 200
180 IF (ITER.GT.0) GO TO 200
70

V(I!I)=V(I,2)
U(I,1)=U(I,2)
GO TO 200
190

94

V(I. l)=V(I.@AR)
u(I. l)=U(I.JBAR)
F(I. l)=F(I.LJBAR)

BC.4
BC.5
EC.3
BC.7
BC.8
BC.9
BC.IC
BC.li
BC.12
BC.13
BC.14
BC.15
BC.16
BC.17
BC.18
BC.19
BC.20
BC.21
BC.22
BC.23
BC.24
BC.25
BC.26
BC.27
BC.28
BC.29
BC.30
BC.31
BC.32
BC.33
BC.34
BC.35
BC.36
BC.37
BC.38
BC.39
BC.40
BC.41
BC.42
BC.43
BC.44
BC.45
BC.46
BC.47
BC.48
BC.49
BC.50
BC.5~
BC.52
BC.53
BC.54
BC.55
BC.56
BC.57
BC.5B
BC.59
BC.60
BC.61
BC.62
BC.63
BC.64
BC.65
BC.66

BC.67
BC.68
BC.69
BC.70
BC.71
BC.72
BC.73
BC.74
BC.75
EC.76
BC.77
BC.78
BC.79
BC.80
BC.B1

200 CONTINUE
c
C +++ FREE SURFACE AND SLOPED BOUNDARY

CONDITIONS

00 420 1=2. IM1


DO 420 J=2.JMl
IF
(BETA(I.J)I.GT.O.O)
GO
TO
210
BMR=O.O
BMT=0.O
BML=C.O
BMB=O.O
F(I,J)=O.O
P(I.J)=O.O
IF (BETA(I+1,J .GT.O.0) BMR=l.O
IF ( B E T A ( I . J + l .GT.O.0) BMT=l.O
I F ( B E T A ( I - I . J . G T . O . 0 ) B M L = .0
G T . O . 0 ) B M B = .0
IF {BETA(I,J.I
BMTOT=BMR+BMT=B[ ML+BMB
IF ( B M T O T . L E . O . O) GO TO 420
F(I. J)=(BMR*F( I+1,J)+BMT*F (I J+I)+BML*F(
P(I, J)=(BMR*P( I+l.J)+BMT*P (I J+I)+BML+P(
GO TO 420
210 CONTINUE

-1I,J)+BMB=F(
I,J-1))/BMTOT
I-l,J)+BMB-P
(1.d-1))/BMTOT

c
IF(NF(I .J).EO.O.OR.NF(I ,J).GT.5) GO
IF(I. EO.2.AND.KL.EQ.5) GO TO 380
IF(I. EO. IM1.AND.KR. EQ.5 ) GO TO 380
IF(J. EQ. IJMI.AND.KT. EQ.5 ) GO TO 380
IF(J. EQ.2. AND.KB.EQ.5) GO TO 380

TO

420

c
IF(NF(I+l .J).LT.6.OR.AR( I.J).LT.EM6) GO TO 240
U(I. J)=U(I. J)*AR( I-1 ,d)*R(I-1)/(AR(I.J)*R( I))
240 IF(NF(I, J+l).LT.6.OR. AT(I. LJ).LT.EM6)G0 TO 250
V(I,J)=V(I,J-1)
250 IF(NF(I -l,d).LT.6.OR.AR( I-1.d).LT.EM6) GO TO 260
U(I-l. tJ)=U(I.J)*AR(I.J )*R(I)/(AR(I-l.IJ)*R(I- 1))
260 IF(NF(I, J-1 ).LT.6.OR.AT (1 .d-1).LT.EM6) G0 TO 270
v(I,d-l)=V(I,LJ)
270 NFF=NF(I,J)
D I J = R D X ( I ) * ( A R ( I . J ) * R ( I ) * U ( I , t J ) - A R ( I - l , J )= R ( I - 1 ) * U ( I - 1 . d ) ) +
1 RDY(J)=(AT( I.tJ)=RI(I )=V(I. J)-AT(I.LI-I)*RI (I)*V(I.J-1))
LOOP= 0
300 GO TO (310,320,330,340,350), NFF
310 IF(NF(I+l .J).LT.6.OR.AR( I,J).LT.EM6) GO TO 350
UII,J))=U(I,J)-DELX(I)*DId/
(AR(I,LJ)*R(I))
GO TO 380
320 IF(NF(I -l,J).LT.6.OR.AR( I-l,d).LT. EM6) GO TO 350
U(I-I, J)=U(I-l,J)+DELX( I)*DIJ/(AR(I-1.J)=R(I-1 ))
GO TO 380
330 IF(NF(I .J+1). LT.6.OR.AT( I.J).LT.EM6) GO TO 350
V(I.J)=V(I,J)-DELY(I.J)=DIJ/
(AT(I.J)*RI(I))
GO TO 380
340 IF(NF(I.J- 1).LT.6.OR.AT( l.J-l). LT.EM6) Go To 350
V(I.J-l )=V(I,J-l)+DELY (J)*OIJ/(AT(I.J-l)*RI( I))
GO TO 380
3 5 0 NFF=NFF + 1
IF(NFF.GT.4) NFF = 1
LOOP=LOOP + 1
IF(LOOP.LE.4) GO TO 300
c
c
c

+ + + S E T V E L O C I T I E S IN E M P T Y C E L L S A D J A C E N T T O P A R T I A L F L U I D C E L L S
3 8 0 CONTINUE
IF(FLG. GT.0.5.AN0.1TER .GT.O.AND. ISOR.EO. l) GO TO 420
IF (F(I+1.J).GT.EMF)
GO
TO
390
IF (F(I+1. J+l).LT.EMF.AND .AT(l+1,o).GT. EM6) v(=1+J = F ( I . J ) * V ( I . J )
I F ( F ( I 1 I , J - 1 ) . L T . E M F . A N D . A T ( I + 1 , J - 1 ) . G T . E M 6 ) V ( I+ 1 J - l ) = V ( I , L J - 1 )

1 *F(I,J)
390

IF (F(IJ+1).GT.EMF) GO TO 400
IF ( F ( I + 1 , J + l ) . L T . E M F . A N D O . A R ( l , J + 1 ) . G T . E M 6 ) U ( I . J + 1
IF (F(I1I, J+1).LT.EMF.AND. AR(I-1, J+1).GT.EM6) U(I-1
1 *F(I,J)
400 IF (F(I-1.J).GT.EMF) GO TO 410
IF (F(I-1.J+1 ).LT.EMF.AND. AT(I-1, J).GT.EM6) V(I-1,J
IF (F(I-1,J- 1).LT.EMF.AND. AT(l-1, J-1) .GT.EM6) v ( I - 1
1 *F(I,J)
410 IF (F(I,J-1).GT.EMF) GO TO 420
IF (F(I+1,J- 1) .LT.EMF.At4D.AR( I,J-1).GT.EM6) U(I,J-1
IF (F(I-1,J- 1).LT.EMF.AND. AR(I-1, J-1) .GT.EM6) U(I-1
1 * F ( I - J )

=F(I,J)*U(I.J)
J+I)=U(I-1,J)

=F(I,J)*V(I,J)
J-l)=V(I,J-1)

=F(I.J)*U(I,J)
J-I)=U(I-I,1J)

BC.82
BC.83
BC .84
BC.85
BC .86
BC:.87
BC.88
BC.89
BC.90
BC.91
BC.92
BC.93
BC.94
BC.95
BC .96
BC.97
BC.98
BC.99
BC. 100
BC. 101
BC. 102
BC. 103
BC. 104
Bc. 105
BC. 106
BC. 107
BC. 108
BC. 109
Bc.llo
Bc.111
BC.112
BC.113
BC.lf4
BC.115
BC.1126
BC.117
BC.118
BC.!19
BC.120
EBC.121
BC.122
BC.123
BC.124
BC.125
BC.126
BC.127
BC.128
BC.129
BC.130
BC.131
BC.132
BC. 133
BC. 134
Bc. 135
BC. 136
BC. 137
BC. 138
BC.139
BC. 140
BC.141
BC. 142
BC. 143
BC. 144
Bc. 145
BC. 146
Bc. 147
BC. 148
BC. 149
8C.150
BC.151
BC. 152
Bc. 153
BC.154
BC. 155
BC. 156
BC. 157
BC. t58
BC. 159
BC. 160
BC.161

95

420
c
c +++

CONTINUE

BC.162
BC.163
BC.164
BC.IE5
B:.166
BC.167

SpECIA~ vELOC~Ty BOUNOARYCONOIT~ONS

c
RETURN
END

SUBROUTINE
=CALL,COMMON1

c ++-+CALCULATE
c

c +++ zN~TIALIzE
c
00

CAVOVO

VOIO VOLUMES
VOID

VOLUMES

10 K=l.NVCR

13 VOLIK)=O.O

c
c ++-+COMPUTE
c

VOIO REGION

VOLUMES

00 30 d=2.dMl
00 30 I=2,1MI
INF=NF(I.d)
IF (INF.GT.NvOR)
GO TO 40
IF (INF. EQ.,0.OR.BETA(I
.d).LT.O.0)
GO TO 30
VOLA=( l.O-F(I,
d) )=AC(I,LJ)=TPI
=RI(I)=OELX(
I)=OELY(
IF (INF.GT.5)
GO TO 20
INFR=NF(I+l,J)
INFT=NF(I,d+l)
INFL=NF(I-l,d)
INFB=NF(I.J-1)
INF=MAXO(INFR;
INFT,INFL,INFB)
VOL(INF )=VOL(INF)+VOLA
CONTINUE
RETURN
CONTINUE
WRITE (59,50)
I,d,
INF,NVOR,NCYC
WRITE (12,50)
I.J,INF,NVOR.NCYC
CALL EXITLOC
(6HCAVOVO)

20
30
40

d)

c
50

FORMAT (lXo5H===-.lxo25HNVOR
1. 15,1X.6HNVOR
=.15,
1X,7HCYCLE
END

SUBROUTINE
.CALL.COMk!ONl
OATA LITER
OATA ITMIN
OAT& ITCdR

DELTAOJ

c +++

STEP;

OELT

(TIME

/ 15 /
/5!.
ITMCIST
/ 100 I

DELTN=OEL7
!F [FLGC.LT.O.5)
T=T-OELT
NCYC=NCYC-1
o~LT=o.8.DELT
DO 10 1=1. IMAX
DO 10 d=l.JMAX
PII,J)=PN(I,J)
F(I.LJ)=FN(I,u)

IS TOCI SMALL
=,17)

AOJUSTMEN7

GC TC 20

U(I,tJ)=O.O
V(I.J)=O.O

96

I,U

=,215,

1x,4HNF

OELTAOJ.4
DELTAOJ.5
oELTAod.6
DELTAoJ.7
OELTADd.8
12ELTAGti.9
DEL7AOLJ.10
oFLTADd. ~i

/33/

10 CONTINUE
FLGC=O.O
NFLGC=NFLGC+l
20 CONTINUE
IF (AUTOT. LT.O.5.ANO.FNOC
.LT.O.5)
DUMX=EMIO
DVMX=EM1O
IF (FNOC.GT.o.5)
OELT=OELTXO.8
00 30 1=1.IM1
DO 30 J=2.LJMI
t(xI(I+t)-xI(I))
UOM=ABS(UN(I,J)
VOM=ABS(VN(I,d)
~~;j(!J+l)-YJ(J))
OUMX=AMAXI(OUMX
VOM)
OVKX=AMAX1(OVMX

CAVOVO.2
CAVOVO.3
CAVOVO.4
CAVOVO.5
CAVOVO.6
CAVDVO.7
CAVOV3.9
CAVOVQ.9
CAVOVO.10
CAVOVO.11
CAVOVO.12
CAVOVO. 13
CAVOVO.14
CAVOVO.15
CAVOVO. 16
CAVOVO.17
CAVOVO.18
CAVOVO.19
CAVOVO.20
CAVOVO.21
CAVOVO.22
CAVOVO.23
CAVOVO.24
CAVOVO.25
CAVOVO.26
CAVDVO.27
CAVOVO.28
CAVOVO.29
CAVOVO.30
CAVOVO.31
CAVOV0.32
CAVOVO.33
CAVOVO.34
CAVOVO.35
CAVOVO.36

GO TO 40

OELTADJ.12
DELTAOJ. lS
OELTADJ.14
DELTADJ.15
OELTAOJ.16
OELTAOJ.17
DELTAod.18
DELTADd.19
OELTAOJ.20
DELTADL1.21
OELTADJ.22
OELTADIJ.23
OELTADJ.24
OELTAOJ.25
OELTAOJ.26
OELTAOJ.27
oELTAolJ.28
OELTADd.29
DELTADJ.30
OELTAOJ.31
OELTAOd.32
OELTADJ.33
OELTADJ.34

32
34

40

50
60

CONTINUE
0
DTMP=l .01
IF(ITER.LT.ITMIN)
DTMP=l .02
IF(ISOR.EO.0)
GO TO 32
TMOST) OTMP=O.99
IF(ITER.GT.
ITMOST.ANO .LITER.GT.
GO TO 34
IF(ITER.GT.
ITCJR.ANO.
LITER.GT.I.
CJR) OTMP=O.99
CONTINUE
DELTO=3ELT*DTk!P
OELTO=AMIN1 (OELTO,OTCRMX )
DELT=AMINl
(OELTO,CON/OUMX
.CON/OVMX,OTVIS
.OTSFT J
IF (IMovy.GT.o)
DELT=AMINI
(OELT,PLTOT)
IF (OELT.E().OELTN)
GO TO 60
OG 50 1=2.IW1
DO 50 LJ=2,JM1
IF (AC(I.d).LT.EM6)
GO TO 50
R!-IXR=RHOF*(DELX
(I+l )+DELX(I))
RHXL=RHOF-(DELX(I
)+OELX(I-1))
RHYT=RhOF- (DEL} (d+l )+DELY(d))
RHYB=RHOF= (DELY(U)+DELY(
J-l))
XX=DELT=ROX(
I)=(2.O=AR(
I- l,d)-R(
I-1 )/RHxL+2.O=AR(
I,J)=R(I)/RHXR)+
1 OELT*ROY(J
)*(2.O=AT(
I,d)*RI
(I)/RHYT+2.o=AT(
I,d-l)*RI(I)/RHYB)
XX=XX/(AC(
I,J)*RI(I)
)
6ETA(I,d)=OMG/XX
CONTINUE
CONTINUE
LITER=ITER
RETURN
END

SUBROUTINE
DRAW
=CALL,COMMON1
c
c ++.+ PLOT VELOCITY
VECTOR.

FREE

SURFACE.

MESH,

KT:M~s.I
00 70 MESSUP=l,NTIMES

c +++
c. ++.
ORAW VELOCITY
VECTOR PLOT
c +++
WRITE (59,170)
T,NCYC.ITER,DELT
c
CALL AOV ( 1)
IF (IMOVY.EO.1)
CALL coLoR (o.)
CALL FRAME (XMIN.XMAX.
YMAX,YMIN)
IF (IMOVY.NE.1)
GO TO.10
CALL COLDR (2. )
ENCOOE (8,180,LA6s)
T
CALL OLCH (650,
100,8,LABS,3)
CALL DLCH (650,
100,8,LABS,3)
ENcOOE (15, 190,LA8s)
FVOL
CALL OLCH (200,
IO5,10.1OHLOS
ALAMOS,2)
CALL OLCH (200,105,10,
IOHLOS ALAMOS,2)
CALL COLOR (O.)
GO TO 20
10 CONTINUE
CALL LINCNT
(1)
wRITE
(t2,200)
T,NcYc,NAME
20 CONTINUE
CALL ORWOBS
IF (IMOVY.EO.1)
CALL COLOR (1.5)
VELNEW=O.
00 30 I=2,1M1
ACELH=O. 5*CYL+I.O-CYL
DO 30 LJ=2,LJM1
IF (F(I.d).LT.O.5)
GO TO 30
IF (AC(I:J).
LT.ACELH)
GO TO 30
XCC=XI(I)
YCC=O.5-(Y(J)+Y(J-1)
)
UMPL=O.O
VMPL=O.O
IF (AR(I.u).GT.EM6)
uMpL=I.o
IF (AR(I-I,
IJ).GT.EM6)
UM?L=l.O/(1
O+UMPL)
IF (AT(I,d).GT.EM6)
vMpL=I.o
IF (AT(I.
d-1) .GT.EM6)
vMpL=I.o/(1
O+VMPL)
UPLT=UMPL=(U(
:-I,U)+U(
I,LI))
VPLT=VMPL=(V(I.J-1
)+V(I,LJ))
VELNEW=AMAX1 (VELNEW,ABS(JPLT
),ABS
VPLT))

OELTAOJ.35
OELTADJ.36
OELTAOLJ.37
OELTADJ.38
OELTADJ.39
oELTADd.40
oELTADd.41
DELTADJ.42
DELTADJ.43
DELTADJ.44
oELTAod.45
DELTADJ.46
OELTADJ.47
CELTADJ.48
OELTADJ.49
oELTADIJ.50
OELTADJ.51
DELTADJ.52
oELTADd.53
OELTADJ.54
OELTAOLJ.55
DELTADd.56
DELTAOJ.57
DELTAGIJ.58
DELTADLJ.59
oELTADd.60
oELTADd.61
OELTAOd.62
DELTADJ.63

DRAW.2
ORAW.3
ORAW.4
DRAW.5
DRAW.6
DRAW.7
ORAW.e
DRAW.9
DRAw.10
ORAW.11
ORAW.12
ORAW.13
ORAW.14
DRAU.15
ORAW.16
DRAW.17
ORAW.18
DRAW.19
ORAW.20
DRAw.2~
ORAW.22
ORAW.23
DRAW.24
ORAW 25
ORAW 26
ORAW 27
DRAW 28
ORAW 29
ORAW 30
ORAW 31
DRAW 32
ORAW 33
ORAW. 34
DRAW.35
DRAW.36
DRAW.37
DRAW.38
ORAW.39
DRAW.40
DRAW.41
DRAW.42
DRAW.43
DRAW.44
ORAW.45
DRAW.46
ORAW.47
DRAW.48
ORAW.49

97

UVEC=LJPLT=VELMX1+XCC
VVEC=VPLT=VELMXI+YCC
CALL DRWVEC (XCC.YCC .UVEC.VVEC.
i)
CALL PLTPT (XCC,YCC.53B,1
)
30 CONTINUE
c +++ IF(NCYC.GT.5
)VELNEW=VELNEW
IF(IMOVY.EO.1)
CALL COLOR (2.5)
c +++ COLtiR CODE : 0: WHITE.
1. RED, 1.5 YELLOW,
2. GREEN, 2.5
CYAN.
c +++ 3. BLUE,
3.5
MAGENTA
VELMXl=AMINl
(DXMIN,DYMIN)/VELMX
c
c +++ ORAW FREE SURFACE
c
40 CONTINUE
FPL=O.5
00 60 I=2,1M1
00 60 J=2.JM1
IF (BETA(I
.IJ).LT.O.0)
GO TO 60
FATR=0.25=(F(
I.I.J)+F(I+I
,J)+F(I.J+l)+F(I+l
,J+l))
FxTR=0.5*(
F(I+I,J+1
)+F(I+l,J)
-F(I.d+l)-F(
I.LJ))/(XI(
1+1 )-XI(I)
)
FYTR=o.5*(F(I,J+I
)+F(I+l,
d+l)-F(I,J)-F(
I+l,LI)
)/(Yd(d+l)-YJ(LJ)
)
FTRS=FXTR**2+FYTR=*2
IF (FTRS.EO.O.0)
FTRS=EP1O
XTR=0.5*(XI
(I+1)+XI(I
))+(FPL-FATR)*FXTR/FTRS
XTR=AMAX1(XTR,XI
(I))
XTR=AMIN1(XTR.XI
(I+I
))
YTR=0.5=(YU(
LJ)+YU(J+ l))+(FPL-FATR)*FYTR/FTRS
YTR=AMAX1(YTR,YJ(J))
YTR=AMINl
(YTR,Yd(U+l
))
IF (F(I,
d) .GT.O.5.AND.F(I+l
,U).GT.O.5)
GO TO 50
IF (FII.d)
.LT.o.5.AND.F(I+t
.d).LT.o.5)
Go TO 50
FABR=o.25~(F(
1,d)+F(1+1
;J)+F(I,
J-l)+F(I+l.d1))
FX5R=0. 5=(F(I+1.LJ)+F
(I+l,d-1)-F(I
~)-F(I,j:l)jj(XI(
1+1)-XI(I))
FYBR=O. 5=(F(I.J)+F(
1+1.J)-F(I.J-1
-F(I+I..Jl))/(YJ(d)-YJ(
d-l))
FBRS=CXBR-=2+FYBR=*2
IF (FBRS.EO.C.!3J
FB2S=EP1O
XBR=O.5-(XI(
1+1 )+AI(I))+(FPL-FABR
=FXBR/FBRS
XBR=I.MAX1 (XBR.Y.1( I J )
XBR=AMINIIXBF?.XI(
:+1 1 ~
=FVi3R/FBR3
YB2=0.5(YLJ(LJJ+YLJ( J-1) )+(FPL-FAeR
YBR=AMAXl (YBG.YJ(u1) 1
YBR=AMINI (YBR.YU(J)
)
CALL DRWVEC (XBR, YBR,XTR,YTR,
l )
50 CONTINUE
IF (F(I.
J).G7.O.5.AND.F(
1.d+l).GT.O.5)
GO TO 60
IF (F(I.
LJ). LT.O.5.AND.F(I
,J+l).LT.O.5)
GO TO 60
FATL=0.25=(
F(I,J)+F(
I, IJ+l)+F(
I-1,d)+F(I-1
.LJ+l))
FxTL=o. 5=(F(I.d+l)+F(
I,u)-F(I-l.
J+lj-F(
I-l,
J))/(XI(I)-XI(
I-l))
FYTL=o.5=(
F(I-l,J+l
)+F(I.J+l)-F(
I-I
,d)-F(I
.d))/(Yd(d+I
)-yJ(J))
FTLS=FXTL==2+FYTL=*2
IF (FTLS.EO.O.0)
FTLS=EPIO
XTL=O.59(XI(I-I
)+XI(I)
)+(FPL-FATL
)*FXTL/FTLS
XTL=AMAXI (XTL,XI(I-I
))
XTL=AMIN1(XTL,XI
(I) )
YTL=O.5*(YJ(J)+YJ(LJ+
l) )+( FPL-FATL )*FYTL/FTLS
YTL=AMAX1(YTL,
YJ(J)
)
YTL=AMINl
(YTL,YJ(d+
1))
cALL DRwvEc (xTL.yTL.xTR.
YTR.1)
60 CONTINUE
70 CONTINUE
IF (IMovY.
Eo. l.AND.NcYc.Eo.
1) CALL ADV
2)
IF (IMOVY.EO.1)
CALL COLOR (O.)
IF (IMOVY.EC.1)
GO TO 160
!XAPX=XI(IMAX~-XI
( 1)
DMPY=YJ(JMAxj-YJ(
1)
CALL CONTRdB (XI. -IMAx. YIJ.-dMAx.F.IBAR2
dBAR2,11,-1.
,-I.
,0.,ZC
1 ,OMPX,DM~Y,O:lHF,
l ,IHX,
l; IHY,l)
CALL CONTRJB (XI,IMAX, YJ.-JMAX.P.IBAR2
.dBAR2,11,-l.
.-l .,O.,ZC
1 ,OMPX,DMPY,O,
lHP, I,lHX.
I,IHY,
1)
CALL ADV(l)
c
C +++ MESH PLOT
c
IF (T.GT.o.0)
GO TO 100
CALL AOV (1)
CALL ORWOBS
DO 80 I.J=l,JM1
YCC=Y(J)
CALL ORWVEC (XMIN, YCC,XMAX,YCC,O)

98

DRAW.50
ORAW.51
ORAW.52
ORAW.53
ORAW.54
DRAW.55
DRAW.56
ORAW.57
DRAW.58
ORAW.59
ORAW.60
ORAW.61
ORAW.62
ORAW.63
DRAW.64
ORAW.65
DRAW.66
DRAW.67
ORAW.68
ORAW.69
DRAW.70
DRAW.71
ORAW.72
ORAW.73
ORAW.74
oRAk!.75
DRAW.76
ORAW.77
ORAW.78
ORAW.79
ORAW.80
DRAW.81
DRAW.82
DRAW.83
ORAU.84
ORAki.85
ORAW.8E
ORAW.87
oRAk.8e
DRAK.8S
ER&w.90
GRAW.91
ORAW.92
ORAW.93
ORAW:94
DRAW.95
ORAW.96
EIRAW.S7
ORAW.98
ORAW.99
ORAW. 100
ORAW. 101
ORAW. 102
ORAW. 103
ORAW. 104
ORAW. 105
ORAW. 106
ORAW. 107
ORAW. 108
ORAW. 109
DRAW. 110
DRAW. 111
DRAW. 112
DRAW. 113
ORAW. 114
DRAW. 115
DRAW. 116
ORAW. 117
ORAW. 118
ORAW. 119
ERAW. 120
ORAW. 121
ORAW. 122
ORAW. 123
ORAW. 124
ORAW. 125
DRAW. 126
DRAW. 127
ORAW. 128

8@ CONTINUE
DO 90 1=1.IM1
XCC=X(I)
CALL ORWVEC (XCC.YMIN,XCC,YMAX,
90 CONTINUE
100 CONTINUE

1)

c
150
160

CALL AOV(l)
CONTINUE
CONTINUE
RETURN

c
170

FORMAT
lPLOTS)
180 FORMAT
190 F9RMAT
200 FORMAT
ENO

(IX,2HT=,

IPE12.5,6H

NCYC=,16,6H

(4HT
= ,F4.2)
(9HL10
voL =,F6.2)
(lx,21iT=
.lPEll.4,

2x,6HcYcLE=

ITER=,15,6H

,17.2X.

SUBROUTINE
DRWOBS
=CALL,COMMON1
c
c +++ ORAW AROUND ALL OESTACLES
c
D3 :70
I=2,1M1
,LTR=l.O-EM6
A7L=1.C)-EM6
IF(I.
EQ.2.ANO.CYL.EQ
. 1.0)
ATL=-EM6
A7C=1.O-EM6
DO 170 J=2.dMl
IF (AC(I,LJ).LT.EM6)
GO TO 170
AFR=l.O
AFT=l.O
AFL=I.O
AFB=l.O
IF (AR(I,J).LT.ATR)
AFR=AR(I.LJ)/ATR
IF (AT(I.J).LT.ATC)
AFT=AT(I.J)/ATC
IF (AR(I-I,
J).LT.ATL)
AFL=AR(I-l,J)/ATL
IF (AT(I,d-l).
LT.ATC)
AFB=AT(I,d-lJ/ATC
IF (AC(I,J).GE.ATC)
GO TO 120
IF (1.EO.2)
AFL=AFR-EM6
IF (1.EO.IMI)
AFR=AFL-EM6
IF (J.EC).2)
AFB=AFT-EM6
IF (d.EO.JMl)
AFT=AFB-EM6
IF ((AFT+AFB
).LT.EM6.0R
.(AFL+AFR).
LT.EM6)
M=l
AMN=AFB+AFR
IF ((AFR+AFT).GT.AMN)
GO TO 10
M=2
AMN=AFR+AFT
10 IF ((AFT+AFL).GT.AMN)
co TO 20
M=3
AMN=AFT+AFL
20 IF (!AFL+AFB).GT.AMN)
GO TO 30
~=4
GO TO (40,60.80.100).
X1=X(II)+AFT*DELX(I)
YI=Y(J)
IF (AFT.LT.
1.0)
GO
YI=Y1-AFR*OELY(J)
50 X2=X(1-1)
f2=Y(d)-AFL*OELy(J)
IF (AFL.LT.
1.0)
GO
Y.2=X2+AFB=DELX(I
)
GO TO 160
60 X1=X(1-I)
YI=Y(dl)+AFL*OELY(J
IF (AFL.LT.
1.0)
GO
Xl=~l+AFT=OELX(I)
70 X2=X( I-I)+AFB*DELX(
Y2=Y(d-1)
IF (AFB.LT.
I.0)
GO
Y2=Y2+AFR*DELY(d)
GO TO 160
-AFB*DELX(I
8!) XI=X(I)
Yl=Y(d-1)
IF (AFB.LT.
1.0)
GO
Y1=YI+AFL*DELY(IJ)

30
40

TO 50

TO

160

)
-Iu

-Iu

I)
TO

160

TO 90

OELT=,EII.4,6H

IOA8)

GO TO

170

ORAW. 129
ORAW. 13G
ORAkl. 131
ORAW. 132
ORAW. 133
ORAW. 134
ORAW. 135
ORAW.136
ORAW. 137
ORAW. 138
ORAU. 139
ORAW. 140
ORAW. 141
Ol?AW. 142
ORAW. 143
DRAW. 144
ORAW. 145
DRAW. 146

ORWOBS.2
ORWOBS.3
ORWOBS.4
ORWOeS.5
ORWOBS.6
ORWOB5.7
ORWCPS.8
ORWOBS.9
ORWOBS.19
ORWOBS.1~
ORk103S. 12
ORWOBS. 13
DRWOBS.14
DRWOBS.15
oRkloBs.16
ORWOBS.17
ORWOBS. 18
ORWOBS.19
ORWOBS.20
ORWOBS.21
ORWOBS.22
ORWOBS.23
ORkiOBS.24
ORWOBS.25
ORWOBS.26
ORWOBS.27
ORWOBS.28
DRWOBS.29
ORWOBS.30
DRWOBS.31
ORWOBS.32
oRkloBs.33
ORWOBS.34
ORWOBS.35
ORklOBS.36
ORWOES.37
DRWOBS.38
ORWOBS.39
ORWOBS.40
ORWOBS.41
ORWOBS.42
DRWOBS.43
oRkloBs.44
ORWOBS.45
ORWOBS.46
OF?WOBS.47
ORWOBS.48
ORWDBS.49
ORWOBS.50
ORWOBS.51
ORWOBS.52
ORWOBS.53
ORWOBS.54
ORWOBS.55
ORWDBS.56
ORWOBS.57
ORWOBS.58
ORWOBS.59
DRWOBS.60

99

90

109

110

120

130

140

150

160
170

X2=X(I)
Y2=Y(dl)+AFR=DiELY(J)
IF (AFR.LT.
I.0)
GO TD 160
X2=X2-AFT*OELX(I)
GO TO 160
X1=X(I)
Yi=Y(J)
-AFR*DELY(J)
IF (AFR.LT.
I.0)
GO TO I1O
X1=X1-AFB*DELX(I)
X2=X( I)-AFT=OELX(I)
Y2=Y(J)
IF (AFT.LT.
I.0)
GO TO 160
Y2=Y2-AFL*DELY(J)
GO TO 160
IF (AFR.GT.EM6)
GO TO 130
X1=X(I)
YI=Y(J-1)
X2=X1
Y2=Y(d)
CALL ORWVEC (X1,Y1.X2.Y2,1)
IF (AFT.GT.EM6)
GO TO 140
X1=X(1-I)
YI=Y(J)
X2=X(I)
Y2=}!
CALL ORWVEC (X1,V1
,X.2.Y2.
1!
IF (AFL.G7.EM6)
GO TC 150
Xl=Xi I-!l
vl=v(~
)
x~.,l,!
Y2=Y(U-I;
CALL DRWVEC (XI .V1,X2.Y2.1)
IF IAFB.GT.EM6)
GO TO 170
Al=X(I-l]
Yl=Y(d-1)
X2=X(I)
Y2=Y1
CALL ORWVEC (X1 .Y1.X2.Y2.1)
CALL DRWVEC (X1,Y1,X2,Y2,1)
CONTINUE
RETURN
ENO

SUBROUTINE
ORWVEC (XONE.YONE.XTWO.YTWO,ISYM)
=CALL,COMt40Nl
c
c +++ DRAW A VECTOR
CALL
C +++ ~ROVIOES
A SYSTEM DEPENDANT
c
Ic=c
X1=XONE
Y1=YONE
Y.2=XTW0
Y2=YTW0
IO xOI=(X1-XMIN)=SF+XSHFT
YO1=(YI
-YMIN)-SF+YSHFT
X02=(X2-XMIN)
=SF+XSHFT
Y02=(Y2-YMIN
)=SF+YSHFT
IX1=50.+920.0-XOI
IX2=50.+920.0*X02
IY~=50.+920.0=(
1.0-yol
)
IY2=50.+920.0=(
1.0-y02
)
CALL ORV (IX1.1Yl,1x2,1y2)
IF (ISYMPLT.
EO.O.OR.ISyM.
EO.0)
Go To 20
IC=IC+I
IF (IC.GT.1)
GO TO 20
X1=-X1
x2=-x2
GO TO 10
20 RETURN
END

100

ORWOBS.61
ORWOBS.62
ORWOBS.63
ORWOBS.64
DRWOBS.65
ORWOBS.66
DRWOBS.67
ORWOBS.68
ORWOBS.69
ORWOBS.70
oRwoBs.7i
ORWOBS.72
ORWOBS.73
ORWOBS.74
ORWOBS.75
DRklOBS.76
ORWOBS.77
ORWOBS.78
OI?WOBS.79
ORWOOS.80
ORWOBS.81
ORWOBS.82
oRwoBs.e3
DRW09S.8L
ORWOES.85
oRkioBs.86
ORW03S.87
5Rw09s.88
oEw3es.89
oRwoas.so
DRWOBS.91
DRWOBS.92
ORWOBS.93
ORWOBS.94
ORWOBS.95
ORWOBS.96
ORWOBS.97
DRWOBS.98
ORWOBS.99
ORWOBS. 100
ORWOBS. 101
ORWOES.102

ORWVEC.2
DRWVEC.3
ORWVEC.4
DRWVEC.5
ORWVEC.6
DRWVEC.7
CRWVEC.8
ORWVEC.9
ORWVEC.1O
ORWVEC.11
ORWVEC.12
ORWVEC.13
DRWVEC.14
ORWVEC.15
ORWVEC.16
ORWVEC.17
ORWVEC.18
ORWVEC.19
ORWVEC.20
ORWVEC.21
ORWVEC.22
ORWVEC.23
ORWVEC.24
ORWVEC.25
ORWVEC.26
ORWVEC.27
oRWVEC.28
ORWVEC.29

SUBROUTINE
=CALL.COMMON1
DATA
c
c
c
c
c

OVCAL

ISLTP

O :

ISLIP

= G

FREE-SL:?-LIKE

ISLIP

s7ANOAQc

OVCAL.2
DVCAL.3
OVCAL.4
OVCAL.5
DVCAL.6
DVCAL.7
DVCAL.8
OVCt.L.9
OVCAL.1O
DVCAL. 11
OVCAL. 12
DVCAL.13
OVCAL.14
OVCAL.15
OVCAL. 16
DVCAL.17
OVCAL.18
DvCAL. 19

FOR CURVED

FREE

SLIF

INTERIOR

CONDITloN

MosT

BOUNOA21ES
cooEs

DUOR=(UN(I+l
.IJ)-UN(
I,JJ)=ROX(I+I
)
DJDL=(UN~I
tJ)-UN(II,d)
)-ROX(I)
DUOT=(UN(I,.J+l
)-UN(I.
d) )-2.O/(DELY(J
)+OELY(U+l))
Duo5=(uN(I.
d)-uN(I
.d-1))=2.o/(DELY(J)+oELY
(J-I))
DVOR=(VN(I+I
.d)-VN(
I,J))=2.O/(OELX(
I)+OELX(I+I))
DVOL=(VN(
I,J)-VN(I-1,
d) )=2.o/(DELx(I
)+oELx(I-1)1
DvDT=(VN(I.J+l
)-VN(I,
d))*RDY(J+l
)
DVOB=(VN(I.J)-VN(I
,J-l)
)-ROY(J)
c

20

40

suEiRouTINE
EOUIB (y,2,NX1.BOND,CANGLE,CYL
DIMENSIDN
Y(NX1).
Z(NXI)
DATA PI /3.141592654/,
EPS /1.E-04/
c +++
c +++
c +++

USEFUL

INTERMEDIATE

SET

INITIAL

GUESS

OVCAL.25
DVCAL.26
DVCAL.27
OVCAL.28
OVCAL.29
DVCAL.30
OVCAL.31
OVCAL.32
OVCAL.33
OVCAL.34
OVCAL.35
OVCAL.36
OVCAL.37
OVCAL.3B

CXJANTITIES

RANGLE=cANGLE=?I/
18c!. .
COSTST=CCS(RANGLE)
COS:A=( I.-CYL)=COS(RANGLE
OMCYL=l.-CYi
NX=NXI-1
DR=l./FLOAT(NX)
ITER=O
c ++4
c +++
c +++

OVCAL.20
OVCAL.21
DVCAL.22
OVCAL.23
ovcAL.24

IF(ISLIP.NE.0)
GO TO 20
IF(AR(I+I,
.J). LT.EM6)OUOR=0.()
IF(AR(I
-1 .LJ). LT.EM6)OUDL=0.C)
IF(AR(I,
J+l).
LT.EM6)OUOT=0.O
IF(AR(I,
LJ-1).LT.EM6
)OUOB=O.O
IF(AT(I+
l. J) .LT.EM6)DVOR=0.O
IF(AT(I
-l, d) .LT.EM6)ovoL=o.o
IF(AT(I
.J+l).
LT.EM6)DVOT=0.
o
IF(ATII,
J-1 ).LT.EM6)OVOB=0.O
GO TO 40
IF(ISLIP.NE.1)
GO TO 40
IF(AI?( I,J+I).LT.EM6)
OUOT=O.O
IF(AR(I,
d-1) .LT.EM6)
OUOB=O.O
IF(AT(I+
;.J).LT.EM6)
DVDR=O.O
IF(AT(II.J).LT.EM6)
OVOL=O.O
CONTINUE
RETURN
ENO

FOR Y(1)

Y(1 )=0
xFiAi%(BoND)

.GT.o.)
Y(l)=-coscA/(2.
*AEis(BoNo )]
c +++
c +++ NUMERICAL
INTEGRATION
c +++
10 2(1)=0.
ITER=ITER+I
Z(NX1+I)=O.
WRITE
(8,100)
Y(1)
DO 20 J=2.NXI
RJM=OR*FLOAT(J-2
)*CYL+OMCYL
RJ=OR*FLOAT(JI)*CYL+OMCYL
RdH=o.5=(RJM+RJ)
Z(J)=Z(dl)=RJM/Rd+OR*(RIJH/Rd)=(COSCA-BONO=
(Y(J-l)+O.
-z(L1-1)~*2)))
I /50RT(l.
IF IABS(Z(d)).GE.
l .) GO TO 30
sLoPE=z(J
)/soRT(l.
-z(d)**2)
SLOPF=Z(LJ- 1)/SORT(
1.-Z(J-l
)*=2)
Z(NXI+LJ)=(SLOPE-SLOPF
)/(OR=(
l.+SLOPE**2)**
1.5)
Y($J)=Y(Jl)+o.5*oR=(z(J)/sclRT(
1. -z(u)**2)+z(Jl)/soRT(
1 ))
20 CONTINUE
GO TO 40

5=oR=Z(d-l

1.-Z(J-I)==2

EC)UIB.2
EOUIB.3
EOU16.4
EOU16.5
EOUIB.6
EOUIB.7
EOUIB.B
EoiJIE.9
EOU13.10
EOUIB.11
EOUIB.12
EC)U16.13
EOUIB. 14
EcluIB.15
EOUIB.16
EOUIB.17
EOUIB.18
EOUIB.19
EOUIB.20
EOUIB.21
EOUIB.22
EOUIB.23
EOUIB.24
EOUIB.25
EOUIB.26
EOU18.27
EOUIB.28
EOUIB.29
EOUIB.30
EOUIB.31
EOUIB.32
EOUIB.33
EOUIB.34
EOUIB.35
EOUIB.36
EOUIB.37
EOUIB.38
EQUIB.39
EOUIB.40

30

.+++
r+++
L ++
40

50

c+++
c+++
,. ++
60

CONTINUE
WRITE
(8,110)
Y(l)=Y(l)*I.05
WRITE
(8.120)
IF (ITER.GT.400)
GO TO 10
CHECK

J.Z(d)
Z(NXI)
Go To

CONSTRAINT

60

ANO CONVERGENCE

CONTINUE
WRITE (8.130)
YSUM=O~5=OR=Y(NXl)
DO 50 J=2,NX
YSUM=YSUM+(FLOAT(d-l
)*OR*CYL+OMCYL)=DR*Y(J)
CONTINUE
WRITE (8.140)
YSUM, Y(I),
Z(NXI),COSTST
IF (ABS(2(NXI
)-COS(RANGLE
)] .LE. Eps.ANO.BONO.NE.0.
IF (A5s(YsuM)
.LT.Eps.AND.BONO
.EO.O.)
GO TO 70
Y(l)=Y(
l)-YsuM/(oMcYL+cYL*2.
)
IF (ITER.GT.400)
GO TO 60
GO TO 10
EXIT

IF

CONVERGENCE

CONTINUE
WRITE
(59,150)
CALL EXITLOC
70 CONTINUE
WRITE
(.s,80)
WRITE
(59,90)
WRITE (8,90)
RETURN

) GO TO 70

FAILS

(5HEQUIB)
(I,Y(I)

.Z(I),Z(NXI+I

),I=I,Nx1)

c
80
90
1(XI
liO
120
130
140
150

FORMAT
FORMAT
FORMAT
FORMAT
FORMAT
FORMAT
FORMAT
FORMAT
ENO

102

(///3x,
iH8X,X,
lHy, llx,
lHz.9x.3HKxy/(
lx,13.
lP3E12.4))
(15H
FINISHEO
EOUIB)
(1X, 17HSTEP B WITH Y(I)=.
1PE14.6)
(lX.9HZ
TOO BIG.15,1PE12.4)
(1X, 17HG0 TO STEP B
Z=,1PE12.4)
(IX.23HPARTS
B ANO C CONVERGEO)
(lx,5HYsuM=,
IpEf3.5,4H
Y1=.E13.5,4H
2N=E13.5,5H
COS=.E13.5)
(IX,28H***
EOUIB FAILEO
TO CONVERGE)

EOUIB.41
EOUIB.42
EOUIB.43
EOUIB.44
EOUIB.45
EOUIB.46
EOUIB.47
EOUIB.48
EOUIB.49
EOUIB.50
EOUIB.51
EOUIB.52
EOUIB.53
EOUIB.54
EOUIB.55
EOUIB.56
EOUIB.57
EOUIB.58
EOUIB.59
EOUIB.60
EC)UIB.61
EOUIB.62
EOUIB.63
EOUIB.64
EOUIB.65
EOUIB.66
EOUIB.67
EOUIB.69
EOUIB.69
EQUIB.70
EQUIB.71
EOUIB.72
EOUIB.73
EQUIB.74
EOUIB.75
EOUIB.76
EOUIB.77
EOUIB.78
EOUIB.79
EOUIB.80
EOUIB.81
EOUIE.82

EXITLDC.2
EXITLDC.3
EXITLOC.4
EXITLOC.5
EXITLOC.6
EXITLDC.7
EXITLDC.e
EXITLGC.9
E)iITLDC.

SUBROUTINE
EXITLDC
(IILoc)
*CALL,COMMON1
CALL ADV (1)
WRITE [59.10)
NCYC. IILOC
WRITE (12:10)
NCYC:IILOC
CALL EXIT

.*

10 FORMAT
ENO

( lY.,20HTERMINATION

SUBROUTINE
c
c +++
L

FRAME

(xxL,xxR,

DRAW A FRAME AROUND THE


CALL DRWVEC
CALL ORWVEC
CALL DRWVEC
CALL DRWVEC
RETURN
ENO

ON CYCLE. 17.6H

FROM

PLOT

(XXL. YYT,XXR,YYT.0)
(XXL, YYT,XXL,YYB.0)
[X-XL .YYB.XXR.YYB.0)
iXXR, YYE:XXR:YYT:O)

REOUCE NR TO LOWEST VALUE

32

GO TO 34

10

FRAME.2
FRAME.3
FRAME.4
FRAME.5
FRAM5.6
FRAME.7
FRAME.&
Fi?AME.9
FRAME. 10
FRAME.11

yyT.yYi3)

SUBROUTINE
LAVORE
=CALL.COMMON1
c
c +++ LABEL VOIO REGIONS - - VOID REGIONS
ARE NF.EQ.6
c
NNR=6
NVR=6
CJ 2C d=2,dvl
Do 30 1=2.IMI
IF (NF(I.J).LT.6)
GC TO 30
INFP=NF(I.J-:)
INFL=NF(I-l,J)
IF (INFE. LT.6.ANo.INFL.LT
.6)
GO TO 20
IF (INFB. LT.6.oR.INFL.LT
.6)
GO TO 10
NF(I, J)=MINO(INFB,INFL
)
INRB=NR(INFB)
INRL=NR(INFL)
INRMN=MINO( INRB,INRL
)
INRMX=MAXO( INRB.INRL
)
NR(INRMX)=INRMN
NR(INFB)=INRMN
NR(INFL)=INRMN
GO TO 30
10 NF(I,J)=INFB
IF (INFB.LT.6)
NF(I.d)=INFL
GO TO 30
20 NF(I,J)=NVR
NR(NVR)=NNR
NVR=NVR+l
NNR=NNR+I
IF(NNR.LE.NvOR)
GO TO 30
c
c
NVOR TOO SMALL
c
WRITE (59,70)
I.d.NNR,NvoR,NcYc
WRITE (12,70)
I,U,NNR,NVOR,NCYC
CALL EXITLOC
(6HLAVORE)
c
70 FoRMAT (lX.5H====*
.IX,25HNVOR
IS TOO sMALL
I,d
1
15. IX,6HNVOR
=,15,
1X,7HCYCLE
=,17)
30 C6NTINUE
NVRI=NVR-1
NNRI=NNR-I

00 38 K=6,NvRI
KK=NVRI+6-K
KN=KK
IF(NR(KN).E().KN)
KN=NR(KN)
GO TO 32

.Ae)

AND ABOVE

=,215,

1X,4HNF

LAVORE.2
LAVORE.3
LAVORE.~
LAVDRE.5
LAVORE.E
LAVORE.7
LAVORE.8
LAVORE.9
LAVGRE. 10
LAVORE.11
LAVORE.12
LAVORE. 13
LAVORE.14
LAVORE.15
LAVORE. 16
LAVORE.17
LAVORE.18
LAVORE.19
LAVORE.20
LAVORE.21
LAVORE.22
LAVORE.23
LAVORE.24
LAVORE.25
LAVORE.26
LAVORE.27
LAVORE.28
LAVORE.29
LAVORE.30
LAVORE.31
LAVORE.32
LAVORE.33
LAVORE.34
LAVORE.35
LAVORE.36
LAVORE.37
LAVORE.38
LAVORE.39
LAVORE.40
LAVORE.41
LAVORE.42
LAVORE.43
LAvogE.44
LAVORE.45
LAVORE.46
LAVORE.47
LAVORE.48
LAVORE.49
LAVORE.50
LAVORE.51
LAVORE.52
LAVORE.53

103

34
38
c
C +++
c

40
50
c
c +++
c
c

60

NR(KK)=KN
CONTINUE
REDEFINE

REGION

KKN=6
DO 50 KK=6,NNf?l
KFLG=O
00 40 K=KK.NVRI
IF (NR(K).NE.KK)
NR(K)=KKN
KFLG=I
CONTINUE
IF (KFLG.EO.1)
CONTINUE
NREG=KKN-6

NUMBEl?s TO BE CONSECUTIVE

GO TO 40

KKN=KKN+I

REDEFINE
voIo
NuMBERs To BE CONSECUTIVE
IF
CHECK FOR CORRESPONOENCE WITH OLD REGIONS
00 60 d=2.LJMl
DO 60 I=2,1MI
INF=NF(I,d)
IF (INF.LT.6)
NF(I,J)=NR(INF)
CONTINUE
RETURN
ENO

GO To

60.

SUBROUTINE
MESHSET
=CALL,COMMONI
c
c +++ MESH sETuP
(GENERATION)
~
1=1
d=l
X( l)=XL(
1)
Y( l)=YL(
1)
00 40 K=!.NKX
IF (NXL(K).EO.G)
GO TO 20
DXML=(XC(K)-XL[K)
)/NXL(K
)
NT=NXL(K)
TN=NT
TN=AMAXI(TN.
1.0+EM6)
DXMNI=AMIN1 (DXMN(K)
,OXML)
CMC=(XC(K)-XL(K)
-TN=OXMN1 )=TN/(TN-l.0)
IF (NT.EQ.1)
CMC=O.O
BMc=xC(K )-xL(K)-cMc
00 10 L=l,NT
1=1+1
RLN=(FLOAT(L
)-TN)/TN
10 X( I)=XC(K)+BMC=RLN-CMC*RLN-RLN
20 IF (NXR(K).EO.0)
GO TO 40
OXMR=(XL(K+l
)-XC(K)
)/NXR(K)
NT=NXR(K)
TN=NT
TN=AMAXI(TN.
1.0+EM6)
DXMN1=AMINI( OXMN(K)
,OXMR)
CMC=(XL(K+I
)-XC(K)-TN*DXMNI
)=TN/(TN-l
IF (NT.EO.1)
CMC=O.O
B!.K=XL(K+l )-XC(K)-CMC
DO 30 L=l.NT
1=1+1
RLN=FLOAT(L)/TN
30 X( I)=XC(K)+BMC=RLN+CMC*RLN*RLN
40 CONTINUE
IF [KR.NE.4)
GO TO 50
1=1+1
X(1)=X(1-1)+X(2)-X(1
)
50 CONT:NUE
DO 90 K=4,NKY
IF (NYL(K).EO.0)
GO TO 70
DyML=(YC(K)-YL(K)
)/NYL(K)
NT=NYL(K)
TN=NT
TN=AMAXI(TN,
1.0+EM6)

104

NREG.GT.1

LAVORE.54
LAVORE.55
LAVORE.56
LAVORE.57
LAVORE.58
LAVORE.59
LAVORE.60
LAVORE.61
LAVORE.62
LAVORE.63
LAVORE.64
LAVORE.65
LAVORE.66
LAVORE.67
LAVORE.68
LAVORE.69
LAVORE.70
LAVORE.71
LAVORE.72
LAVORE.73
LAVORE.74
LAVORE.75
LAVORE.76
LAVORE.77
LAVORE.78
LAVORE.79
LAVORE.80
LAVORE.81

MESHSET.2
M5sHsET.3
M:51+5ET.4
MES!-ISE7.5
p~s~5ET.6

-O)

M5slisET.9
REs~sET.lo
MESHSET.11
MESHSET.12
MESHSET.13
MESHSET.14
MESHSET.15
MESHSET.16
MESHSET.17
MESHSET.18
MESHSET.19
MESHSET.20
MESHSET.21
MESHSET.22
MESHSET.23
MESHSET.24
MEsHSET.25
MESHSET.26
MESHSET.27
MESHSET.28
MESHSET.29
MESHSET.30
MESHSET.31
MESHSET.32
MESHSET.33
MESHSET.34
MESHSET.35
MESHSET.36
MESHSET.37
MESHSET.38
MESHSET.39
MESHSET.40
MESHSET.41
MESHSET.42
MESHSET.43
MESHSET.44
MESHSET.45
MESHSET.46
MESHSET.47
MESHSET.48

DYMN 1=AMIN 1 ( DYMN( K ) . DYML )


CMC=(YC(K)
-iL(K):TN=OYMNl
)*TN/(TN-I.0)
IF (NT.EQ.1)
CMC=O.O
BMC=YC(K) -YL(K)-CMC
DO 60 L=I,NT
d=d+l
RLN=(FLOAT(L)
-TN)/TN
6C Y(J)=YC(K)+BMCBIRLN-CMC*RLN*RLN
70 IF (NYR(K).EO.0)
GO TO 90
DYMR=(YL(K+l
)-YC(K))/NYR(K)
NT=NYR(K)
. ... ...
TN=NT
TN=AMAX1(TN,
l .0+EM6)
DYMN1=AMIN1 (DYMN(K),DYMR)
CMC=(YL(K+I
)-YC(K)-TN*DYMNI
)*TN/(TN-l.0)
IF (NT.EO.1)
CMC=O.O
BMC=YL(K+I
)-YC(K)-CMC
DO SO L=I,NT
J=J+I
RLN=FLOAT(L)/TN
80 Y(J)=YC(K)+BMC*RLN+CMC=RLN*RLN
90 CONTINUE
IF (KT.NE.4)
GO TO 100
d=d+l
Y(lJ)=Y(lJl)+Y(2)-Y(
1)
loa CONTINUE
NUMX=I
NUMY=d
NUMXMI=NUMX-1
NUMYMI=NUMY-I
NUMXP1=NUMX+I
NUMYP1=NUMY+l
IBAR=NUMX-1
dBAR=NUMY-1
IMAX=IBAR+2
dMAx=dBAR+2
IM:=IMAX-1
JM1=IJMAX-I
c
c +++
c

110
120

130

140

CALCULATE

VALUES

NEEDEE

FOR VARIABLE

DC :20
I=I,NUMX
G@ TO 110
IF (X(I).EO.O.0)
RX(I)=l.O/X(I
)
GO iD 120
RX(I)=O.O
CONTINUE
DO 130 I=2,NUMX
XI(I)=O.5=(X(I-1
)+X(I))
DELX(I)=X(I)-X(
I-1 )
RXI(I)=l.O/XI(I)
RDX(Ij=l
.(j;OELX(I)
DELX(I)=DELX(2)
XI(l)=XI
(2)-DELX(2)
RXI(l)=l.O/XI(
1)
ROX(l)=l.O/OELX(I)
DELXA=DELX(NUMX)
IF (KR.EQ.4)
DELXA=DELX(3)
DELX(NUMXPI)=DELXA
XI(NUMXPI
)=XI(NUMX)+DELXA
X(NUMXPl )=XI(NUiXPl)+O.
5*DELX(NUMXPI)
RXI(NUMXP1)=I
.O/XI(NUMXPl)
RDX(NUMXPl
)=l.O/DELX(NUMXP
1)
DO 140 1=2.NUMY
Yd(IJ=O.
5=tY(I-l)+Y(
I))
RYu(I)=l.O/}J(I)
DELY(I)=Y(
I)-Y(I-1)
RDY(I)=l.0/DELY(I)
CONTINUE
DELY(I)=DELY(2)
RDY(l)=l.O/DELY(l)
YJ(I)=YJ(2)-DELY(2)
RYJ(l)=l.O/YIJ(l
)
DELYA=DELY(NUMY)
IF (KT.EO.4)
DELYA=DELY(3)
DELY(NUMYPI)=DELYA
Yd(NUMYPl)=Yd(NUMY
)+DELYA
Y(NUMYPI )=YJ(NUMYPI
)+0.5*DELY(NUMYPI)
RYJ(NUMYP1)=I
.O/YJ(NUMYPl)
RDY(NUMYP1)=l
.O/DELY(NUMYPI)

MESH

MESHSET.49
MESHSET.50
MESHSET.51
MESHSET.52
MESHSET.53
MESHSET.54
MESHSET.55
MESHSET.56
MESHSET.57
MESHSET.5a
MESHSET.59
MESHSET.60
MESHSET.61
MESHSET.62
MESHSET.63
MESHSET.64
MESHSET.65
MESHSET.66
MESHSET.67
MESHSET.68
MESHSET.69
MESHSET.70
MESHSET.71
MESHSET.72
MESHSET.73
MESHSET.74
MESHSET.75
MESHSET.76
MESHSET.77
MESHSET.78
MESHSET.79
MESHSET.80
!NESHSET.81
MESHSET.a2
MESHSET.83
MESHSET.a4
NESHSET.85
MESH5ET.86
MES3SET.E7
h!EsHsET.8e
MESHSET.89
MESI-!SET.90
MESHSET.91
MES!-ISET.92
MESHSET.93
MESI-!SET.94
MEsiisET.95
MESHSET.96
MESHSET.97
MESHSET.98
MESHSET.99
MESHSET. 100
MESHSET. 101
MESHSET.102
MESHSET. 103
MESHSET. 104
MESHSET. 105
MESHSET. 106
MESHSET. 107
MESHSET. 108
MESHSET. 109
MESHSET. 110
MESHSET. 111
MESHSET. 112
MESHSET. 113
MESHSET. 114
!4EsHsET. lt5
MESHSET. 116
MESHSET. 117
MESHSET. 118
MESHSET. 119
MESHSET. 120
MESHSET. 121
MESHSET. 122
MESHSET. 123
MESHSET. 124
MESHSET. 125
MESHSET. 126
MESHSET. 127
MESHSET. 128

105

c
c

SET R AND RI ARRAY FOR PLANE OR CYLINDRICAL


GEOMETRY
DO 145 1=1.IMAX
R(I)=X(I)
Rl(l)=xr(z)
IF(ICYL.EO.1)
GO TO 145
R(I)=l.O
RI(I)=l.O
145 CONTINUE
WRITE
(6,210)
DO 150 I=I,NUMXP1
WRITE (6,220)
I,X(I),
I.RX(I),I.DELX(
1), l.ROX(I),
I,XI(I).I
,RXI(I)
150 CONTINUE
WRITE
(6.210)
DO 160 I=I,NUMYP1
WRITE
(6.230)
I.Y(I).
I.OELY(I).I,RDY(
1) .I,YIJ(I),
I.RYJ(I)
160 CONTINUE
IF (IMOVY.EO.1)
GO TO 190
WRITE (12,210)
DO 170 1=1.NUMXPI
1),1.DELX(I).I,ROX(I)
.I,XI(I).I,RXI(I)
WRITE
(12.220)
I,X(I),I,RX
170 CONTINUE
WRITE
(12.210)
DO 180 I=I,NUMYP1
Y(I),
I.RDY(I).I,YJ(I).
I.RYLJ(I)
WRITE
(12,230)
I,Y(I).I,DE
180 CONTINUE
190 CONTINUE

c
c +++
c

TEST

ARRAY

SIZE

If
(IMAx.
LE. rf3AR2.ANO.dMAx.
IF (IMAX. EO. IBAR2.AND.dMAX.
WRITE
(6,240)

LE. dBAR2.ANo.
Eo. d5AR2.ANo.

lsoR.Eo.
lsoR.Eo.o)

1)

Go TO 200
Go TO 200

c
CALL

EXITLDC

(7HMEShSET)

c
200

CONTINUE
RETURN

c
rORMAT ( 11-!l)
.:2.2H)=.
lpE12.5.2%.3HRX(
.12.2 H)=. lPE12.5,2x.5HDELx
FORMAT ( 1X,2HX[
IDE12.5,zx.311XI(
.12.2HI=,
IPE12
:PE12.5,1X.4HRDXI
.12.2HI=,
1( . 12.2H)=,
2 .5,2X,4HRXI(
.12,2H)=,
1PE12.51
,12,2H)=,
IPE12.5,
3x.5H!)ELY(
. 12,2H)=.
1PE12.5.3X,4HRD
230 FORMA- ( IX.2HY(
IY( .12.2H)=
.IPE12.5.3X,
3HYJ(,
i2,2H)=.
lpE12. 5,3X,4HRYLJ(
,12.2H)=,
lpEl
975)
--.-,
240 FORMAT (45H
MESH SIZE
INCONSISTENT
WITH ARRAY DIMENSIONS)
END

2 lG
220

SUBROUTINE
PETACAL
=CALL,COMMON1
L
c +++ DETERh!INE
TiiE PRESSURE INTERPOLATION
FACTOR PETA
c +4-* DETERMINE
THE SURFACE TENSION
pRESSURE AND
c +++ WALL ADHESION
EFFECTS
IN SURFACE CELLS
c
OATA KTRAN ; 1 /
c
GO TD [1,4),KTRAN
c
RESET KTRAN: PICK UP GEOMtTRIC
ANO TRIGONOMETRIC
FACTORS
c
c
1 KTRAN=4
FEWLIM=25.0/AMINl
(X( IMI).Y(JM1))
FNSLIM=FEWLIM
CSANG=COS(CANGLE)
SANG=SIN(CANGLE)
4 CONTINUE
c
SET 00 LOOPS TD GIVE DEFAULT VALUES OF NF. PS, AND PETA IN ALL
CELLS:
CELLS ARE FLUID CELLS ,SURFACE TENSION
:
PRESSURE IS ZERO ANO
PETA = 1.0
c
c
DO 10 1=1.IMAX
00 10 d=l.dMAX
NF(I,J)=O
PS(I,d)=O.O
10 PETA(I,U)=I.O

106

MESHSET. 129
MESHSET. 130
MESHSET. 131
MESHSET.132
MESHSET. 133
MESHSET. 134
MESHSET. 135
MESHSET. 136
MESHSET 137
MESHSET 138
MESHSET 139
MESHSET 140
MESHSET 141
MESHSET 142
MESHSET 143
MESHSET 144
MESHSET. 145
MESHSET. 146
MESHSET. 147
MESHSET.148
MESHSET.149
MESHSET. 150
MESHSET. 151
MESHSET.152
MESHSET. 153
MESHSET. 154
MESHSET. 155
MESHSET.156
MESHSET. 157
MESHSET. 158
MESHSET.159
MESHSET. 160
MESHSET. 161
MESHSET. Y62
M~sHsET.j63
MESHSET. 164
MESHSET. 165
MESHSET. 166
MESHSET. 167
MEsl-15ET.16e
MESHSET. 169
MESWSET. 170
MES-ISET. 171
MESI-ISET. 172
MESHSET. 172
MESHSET. 174
MESHSET. 175
MESHSET. 176

PETACAL.2
PETACAL.3
PETACAL.4
PETAcAL.5
PETACAL.6
PETACAL.7
PE7ACAL.8
pETAcAL.9
PETACAL. :o
PETACAL.11
PETACAL.12
PETACAL.13
PETACAL.14
PETACAL.15
PETACAL.16
PETACAL.17
PETACAL.18
PETACAL.19
PETACAL.20
PETACAL.21
PETACAL.22
PETACAL.23
PETACAL.24
PETACAL.25
PETACAL.26
PETACAL.27
PETAcAL.28
PETAcAL.29
PETACAL.3C)

c
c
cc
c
c

DEFAULT VALUES ARE NOW AVAILABLE


WHETHER (1.J)
CELL
SET MAIN 00 LOOPS FOR FINOING
CELL:
IF SC. LOOPS SET NF. CALCULATE PS AND PETA.
00 750
Do 750

c
c
c
c
c
c
c

1=2
J-2

IF

CELL

IF

(AC(I.J

DECLARE
IF

c
c
c
c

IS

IF
c
c
c
c
c

IMI
JM1
OBSTACLE
.LT.

EMPTY

(F(I,

CELL

c
c
c
c
c
c

CELL

NF(I.J)=6

J).LT.EMF.CR.

(F(I.d).GT.EMFl

(F(I+l.J)
.LT.EMF.ANO.AR(
(F(I-I,J)
.LT.EMF.ANO.AR(
(F(I,U+l
).LT.EMF.AND.AT(
(F(I,
d-1 ).LT.EMF.ANO.AT(

= 0.0)

SKIP

TO ENO OF LOOPS;

.ANO.PSAT.EQ.O.0)

) GO TO 750

1.J).GT.EM6)
1-l,d).GT.EM6)
I,LJ).GT.EM6)
1.u-1).GT.EM6)

GO TO 190
Go To 190
GO TO 190
Go To 190

.ANO.PSAT.GT.O.0)

CALCULATIONAL

PARTS

NF(I.J)=5

OF MAIN

DO LOOPS

CONTINUE

**

CALCULATE

THE

PARTIAL

OF F

DERIVATIVES

OISTANCES
FROM MIOPOINT
OF CELL TO MIOPOINT
OISTANCE
TO RIGHT ANO LEFT NEIGHBORS
OXR=0.5*(OELX(I
OXL=0.5*(OELX(
OISTANCE

)+OELX(
I)+DELX(

CELLS

1+1))
I-l))

LJ)+GELY[ d+)
LJ)+DELY( J-1))

D5NDM1NATGRs
FOR FINITE
DIFFERENCE
OERIVATIVSS
Ih A AND v DIRECTIONS
RXOEN=l
RYCEN=l

OF NEIGHBOR

TO TOP AND EOTTOM NEIGHBORS

OYT=0.5=(OELY[
DYB=0.5=(DELY[

.O/(DXR*DXL.O/(2YT=OYB=

FORMULAS

FOR PARTIAL

(DXR+DXL ))
(DYT+OYB))

FOFM
(ANO FOFP)
INOICATE
WHETHER CELLS WITH LESSER (GREATER)
DICES CONTRIBUTE
TO AVERAGE FLUIO HEIGHTS
IN THREE CELL ARRAY
FOFM=l.O
WHEN CELL CONTRIBUTEs:=o.o
OTHERWISE
INOEX IS d FOR VERTICAL
HEIGHTS:
I FOR HORIZONTAL
HEIGHTS
OBSTACLE CELL OOES NOT CONTRIBUTE
IF NO FLUIO
IN NEIGHBOi? CELL
THREE CELL ARRAY
FOFM=l.O
IF(6ETA(I+l.d-l
FOFP=l .0
IF(BETA(I+l.u+I)

c
c
c

CELL

EMPTY (OR FULL BUT PSAT


HAVE OEFAULT VALUES

WE NOW ENTER
190

c
c
c
c
c
c
c
c

GO TD 750

CELL IS NOT A SURFACE CELL,


OBSTACLE CELL,EMPTY
CELL OR PARTICULAR TYPE OF FULL CELL.
IF IT SATISFIES
PRESSURE TEST.
SET NF = 5
FOR ISOLATEO
CELL ANO SKIP
TO ENO OF LOOPS: OTHERWISE
CELL IS
FLUIO CELL ANO WE SKIP TO ENO OF LOOPS WITH OEFAULT VALUES

c
c
c

c
c
c
~

LT.O.0)

TO BE A VOIO

IF (p(I.
d).LE.psAT-EM6pI
GO 70750

c
c
c

TO END OF LOOPS

FOUR TESTS TO SEE WHETHER ONE OF THE FOUR NEIGHBOR CELLS IS BOTH
EMPTY ANO OPEN TO FLOW FROM (I,J)
CELL;
IF SO, ENTER MAIN 00
LOOPS THRU 190
IF
IF
IF
IF

c
c
c
c
c
c
c

SKIP

EM6.OR.BETA(I,U).

(F(I.J).LT.EMF)

IF CELL IS
CELLS WILL

IS A SURFACE
LOOPS ENO AT 750

). LE.O.O.ANO.
.LE.O.O.ANO

F(I,J-I

).LT

EMF)

FOFM=O.O

.F(I,J+I

).LT

EMF)

FCIFP=O.O

Y FLUIO HEIGHT
IN CELLS TO RIGHT = AVFR
Y HEIGHTS
MEASUREO FROM FLOOR OF ( d -

CELLS

IN-

OF.

PETACAL.31
PETACAL.32
PETACAL.33
PETACAL.34
PETACAL.35
PETACAL.36
PETACAL.37
PETACAL.38
PETACAL.39
PETACAL.40
PETACAL.41
PETACAL.42
PETACAL.43
PETACAL.44
PETACAL.45
PETACAL.46
PETACAL.47
PETACAL.48
PETACAL.49
PETACAL.50
PETACAL.51
PETACAL.52
PETACAL.53
PETACAL.54
PETACAL.55
PETACAL.56
PETACAL.57
PETACAL.58
PETACAL.59
PETACAL.60
PETACAL.61
PETACAL.62
PETACAL.63
PETACAL.64
PETACAL.65
PETACAL.66
PETACAL.67
PETACAL.68
PETACAL.69
PETACAL.70
PETAcAL.7t
PETACAL.72
PETACAL.73
PETACAL.74
PETACAL.75
PETACAL.76
PETACAL.77
PETACAL.78
PETACAL.79
PETACAL.80
PETACAL.81
PETACAL.82
PETACAL.83
pETAcAL.8A
PETACAL.85
PETACAL.86
PETACAL.E7
p5-ACAL.~8
PETACLL.eQ
PETACAL.90
PETACAL.91
PETAcAL.92
PETACAL.93
PETACAL.94
PETACAL.95
PETACAL.96
PETACAL.97
PETACAL.98
PETACAL.99
PETACAL. 100
PETACAL. 101
PETACAL. 102
PETACAL. 103
PETACAL. :04
PETACAL. 105
PETACAL. 106
PETACAL. 107

107

c
AVFR=(l
.O+AC(I+l,J1 )=(F(I+l,d-l
)-l .O))=FOFM*DELy(d-l
)+
1( I.o+AC(
I+I,J)=(F(I+
l.J)-l.O)
)*DELy(J)+
2( 1.o+Ac(l+l,d+l
)=( F(I+l.d+l
)-l .O))*FOFP=DELy(
d+l)
FoFMxl.o
IF(BETA(
I-I,LJ-1).LE
.O.O.AND.F(
I,J-1).LT
.EMF)
FOFM=O.O
FOFP=I.O
IF(BETA(
I-l,d+l).LE.
O.O.ANO .F(I,J+I).LT.EMF
) FOFP=O.O
c
c
c

Y FLUIO

HEIGHT

IN

CELLS

TO LEFT

= AVFL

AVFL=(l.O+AC(I-1
,J-l)-(F(
I-I.J-l
)-I .O))*FOFM*OELY(Ul)+
1( l.O+AC(I-l.JI=(F(
I-1 .LJ)-l.O)
)*OELy(J)+
2( 1.O+AC( I-l,J+l)*(F(
I-1, d+l)-l.O)
)=FOFP*DELv(L.J+l
)
FOFM=l.O
IF(BETA(
I.IJ-1).LE.O.
O.AND. F(I-I,LJ-I)+F(I+
l.d-1).LT.EMF)
FCIFP=I.O
F(I-I,
d+l)+F(I+i,d+l
).LT.EMF)
O.O.ANO
IF(BETA(I,J+I).LE
c
c
c

Y FLUIO

HEIGHT

IN

LVFCX=(I.O+AC(I.U
1( l.O+AC(I.LJ)=(F(I
2( 1.o+Ac(I.d+l)=(F

CENTRAL

CELLS

l)=(F(I
J)-1.o)
I,J+l)-

J-l )- l.o))*FoFM*DELy(
*OELY(J)+
.O))*FoFp=oELy(d+l

FOFM=O.O
FOFp=O.0

= AVFCY.
d-l)+
)

c
FOFM=I.O
IF(BETA(I-I
FOFP=I.O
IF(BETA(I+I
c
c
c
c

X FLUID
X FLUIO

J+I).

LE.O.O.ANO.F(I

J+l).

LE.O.O.ANO.F(I+l

WIO H IN CELLS
WIO H MEASURED

AVFT=(l
.O+AC(I-l,J+
1( 1.O+AC(I,U+l)*(F(I
2( 1.o+Ac(I+l,J+I)*(F
FOFM=I.O
IF(BETA(I-l,J-1).LE
FOFP=I.O
IF(BETA(
I+l,J-1).LE.
c
c
c

X FLUIO

WIOTH

IN

-I,LJ).LT.EMF)

FOFM=O.O

,d).LT.EMF)

ABOVE = AVFT
FROM FLOOR OF

FOFP=O.O

(I-1)

CELLS

l)*(F(I-l.J+i)-l
.O))*FOFM=OELx(
.IJ+l)-l
.Ol)*DELx(I)+
(1+1, d+l)-l.O)
)=FoFp*oELx(
1+1)
.O.O.ANO.F(I-l,d).LT
O.O.AND
CELLS

.EMF)

.F(I+~,J)-LT-EMF

I-l

)+

FOFM=O.O
)

FoFp=o-o

BELOW = AVFB

AVFB=(l
.O+AC(I-I.J-I
)=(F(Il.d-l)-l
.o))*FoFM=oELx(
I-1)+
1( 1.O+AC(I,
d-l)*(F(I
.J-l)-l.O)
)=OELX(I)+
2( 1.o+Ac(I+l.J-I)*(F
(1+1 .d-l)-l
.O))=FOFp*oELx(
1+1)
FoI=M=l.(j

IF(i3ETA(
I-l,d).
LE.0.0.ANo.
F(I-l,Ul)+F(I-l,U+l)
.LT.EMF)
FOFP=l.O
IF(BETA(
I+l.d).
LE.O.o-ANo.
F(I+l.J+l
)+F(I+l,d-l)
.LT.EMF)
c
c
c

~
c
c
c
c
c

X FLUIO

WIOTH

AVFCY=( l.O+AC(I-l,O)=(
1( 1.O+AC(I.J)-(F(I.
2( l.O+AC( I+l.LJ~=(F(I+l

c
c

CENTRAL

CELLS

F(I-l,J)J)-I.O))*OELX(I
,d)-l.o)

FOFP=O.O

= AVFCY
l.O))=FoFM*oELx(
~+
)=FoFp=oELx(
1+1)

1-1)+

AVFL SET EY CCNVENTIi2N


IN FIRST
COLUMN OF CELLS
Ik BOTHX ANO Y DIRECTIONS
OESTACLES ARE pLACEO ON FLOOR FROM WHICH
FLUID
IS THEN A60VE OESTACLES
OISTANCES
ARE MEASURES:
RESPECTIVELY
IF NF=2 OR 4 FLOOR 1S. AT TOP oF CELL: AT 1+1 OR d+l
i=(I.E0.2)

c
c

IN

FOFM=O.O

AVFL=AVFCX

THREE POINT
FINITE
DIFFERENCE
FORMULAS FOR SURFACE
VARIAELE
MESti SIZES:
FORMULAS EXACT FOR QUADRATICS
SLOPE OH/OX FOR ALMOST HORIZONTAL
FLUIO = PFX

SLOPES

WITH

c
PFX=RXOEN=(
c
c
c

SLOPE

OW/OY

PFY=RYDEN*(
c
c
c
c

(AVFR-AVFCX)
FOR ALMOST
(AVFT-AVFCY

0XL*=2+(AvFcx-AvFL)
VERTICAL

FLUIO

*OxR*=2)
= PFY

)=OYB*=2+(AVFCy-AVFB

)*OYT=*2)

PF = SUM OF SQUARES OF TANGENTS;


USEo AS FLAG To
SURFACE CELLS FROM ISOLATED
CELLS (NF=5)

oIFFERENTIATE

PF=PFX-*2+PFY**2
c
c

108

IF

PF VERY

SMALL.

CELL

IS

OECLAREO

IsOLATEO

(INSTEAO

OF suRFAcE)

PETACAL. 108
PETACAL. 109
PETACAL. 110
PETACAL. 111
PiITACAL. 112
PETACAL. 113
PETACAL. 114
PETACAL. 115
PETACAL. 116
PETACAL. 117
PETACAL. 118
PETACAL. 119
PETACAL. 120
PETACAL. 121
PETACAL. 122
PETACAL. 123
PETACAL. 124
PETACAL. 125
PETACAL. 126
PETACAL. 127
PETACAL. 128
PETACAL. 129
PETACAL. 130
PETACAL. 131
PETACAL. 132
PETACAL. 133
PETACAL. 134
PETACAL. 135
PETACAL. 136
PETACAL. 137
PETACAL. 138
PETACAL. 139
PETACAL. 140
PETACAL. 141
PETACAL. 142
PETACAL. 143
PETACAL. 144
PETACAL. 145
PETACAL. 146
PETACAL. 147
PETACAL. 148
PETACAL. 149
PETACAL. 150
PETACAL. 151
PETACAL. 152
PETACAL. 153
PETACAL. 154
PETACAL. 155
pETAcAL.156
PETACAL. 157
PETACAL. 158
p5TAcAL.
159
PETACAL. 160
PETACAL. 161
PETACAL. 162
PETACAL. 163
p~TAcAL.
154
PETACAL. 165
PETACAL. 166
pETAcAL.
:67
pETAcAL. 168
PETACAL.15S
PETACAL. 170
PETACAL. 171
PETACAL. 172
PETACAL.1?3
PETACAL. 174
PETACAL. 175
PETACAL. 176
PETACAL. 177
PETACAL. 178
PETACAL. 179
PETACAL. 180
PETACAL. 181
PETACAL. 182
PETACAL. 183
PETACAL. 184
PETACAL. 185
PETACAL. 186
PETACAL. 187

AND WE CONTINUE:

c
c

IF
c
c
c
c
c

OTHERWISE

(PF.GT.EMIO)

GO TO 660

GO TO 660

SET NF(I,J)
ANO p(I,~)
FOR ISOLATEO CELL:
OF PRESSURE INTERPOLATION
CELL,CALCULATION
ANO CALCULATION
OF PETA
655

c
c
c
c

NF(I,LI)=5
P(I, LJ)=O.25=(P(I+I

,J)+P(I,LJ+l

)+P(I-I,J)+PI

HAVING SET NF ANO P FOR THE


MAIN LOOPS

660
c
i.
,.

ISOLATED

I,d-1))
CELL

WE NOW SKIP

TO ENO OF

GO TO 750
CONTINUE
FOR SURFACE CELLS WE PICK UP CALCULATIONS
OF MAIN LOOPS: HAVING
OETERMINEO
SLOPES ANO SOME AUXILIARY
QUANTITIES,
WE NOW GET NF,
PS. AND PETA
1~.ORD:R ~0 SET FLAGS TO BE USEO LATER.
WE SUM THE FS
IN COLS.
TO RIGHT AND LEFT ANO IN ROWS ABOVE ANO 8ELOW THE (Id)
CELL
SFIM = SUM OF FS
IN (1-1)
COL.
SFIP
= SUM OF FS
IN (r+{j
COL.
SFJP = SUM OF FS
IN (J+l)
ROW
SFdM = SUM OF FS
IN (J-1)
ROW
SFIC = SUM OF FS
IN I COL.
SFJC = SUM OF FS
IN J ROW

c
c
~
c
c
c
c
c
c
c

SFIM=F
SFIC=F
SFIP=F
SFJP=F
SFdC=F
SFJM=F
c
c
c
c
c

I-l,
d+l)+F(I-l,
d)+F(II,J-1)
I.J+I)+F(
I,d)+F(I,J-I
)
1+1, J+I)+F(
I+I,J)+F(I+l
,LJ-l)
1+1, J+I)+F(I.J+I)+F(
I-l,d+l)
1+1, u)+F(I,J)+F(I-I
.J)
1+1, J-l )+F(I,u-I)+F(II,J-l)

IF THERE IS LITTLE
FLUID
IN THREE BY THREE ARRAY OF C~LLS:
SET
CELL PRESSURE AS FOR AN ISOLATEO CELL ANO GO TO ENO OF MAIN LOOP
FLAGS ARE INITIALLY
SET = O
IF(SFIM+SFIC+SFIP+SFJM+SFIJC+SFJP
IF ANY CELL FACE
COLUMN TESTS

;
c
c

IS

c
c
c
c

IF EITHER
X=l

c
c
c

c
c
c
c
c
c

670

COL.

TO LEFT

OR COL.

(SFIM.LT.
EMF.OR.SFIM.GT.
(SFIP.
LTIEMF.OR.SFIP.GT

IF

EITHER

IF
IF

(5FJP.
(sFJM,

IF

BSTH

IF

(IFLGX.

IF

EXAC7LY

ROW AEOVE

CONTINUE

1:

ONE FLAG

1:

OETERMINE

ROW ANO

EMPTY

OR IS

FULL:

IFLG-

IFLGX=I
IFLGX=I
IS

EXECUTION

.EQ.1)

EMPTY

OR IS

FULL:

dFLGY

= 1

tJFLGY=l
tJFLGY=l
AT 670

WITHOUT

INTERVENTION

GC TO 670

CHANGE THE

CORRESPONDING

SLOPE

PFX=I.OEIO*PFX
PFY=I.OE1O=PFY

WE HAVE CONCLUOEO SLOPE

=**

3.O-EMF)
.3.o-EMF)

SKIP

1.lJ).LT.EM6.

TO R; GHT IS

.GT.3.0-EM=)
GT.3.0-EMFl

EO. l.ANO.dFLGY

IF (IFLGX.EO.1)
IF (JFLGY.EO.1)
CONTINUE

CLOSEO TO FLOW:

OR ROW 6ELOW

LT.EMF.OR.5FJp
L7.EMF.GR.sFdM.
=

GO TO 655

AR(I-I.U)
.LT.EM6.OR.AT(
GO TO 670

IF
IF

FLAGS

.LT.O.1O)

COMPLETELY

IF(AR(I,
J).LT.EM6.OR.
I OR.AT(I,J1).LT.EM6)
IFLGX=O
JFLGY=O

c
c
c
c
c
c
c

BYPASS DETERMINATIoN
OF SURFACE PRESSURE

THE

INCREASES

PRESSURE

INTERPOLATION

CELL

NF

ALGORITHM GUARANTEES THAT A NEIGHBORING


FLUIO
CELL (ONE
ALWAYS EXIST)
ALWAYS LIES
AT FLOOR OF THE SURFACE CELL.
CELL AT THE FLOOR IS USEO AS THE INTERPOLATION
NEIGHBOR
PRESIT
OR PRESCR

OR MORE
THE FLUID
CELL IN

PETACAL. 188
PETACAL. le9
PETACAL. 190
PETACAL. 191
PETACAL. 192
PETACAL. 193
PETACAL. 194
PETACAL. 195
PETACAL. 196
PETAcAL. 197
PETACAL. 198
PETACAL. 199
PETACAL.200
PETACAL.201
PETACAL.202
PETACAL.203
PETACAL.204
PETACAL.205
PETACAL.206
PETACAL.207
PETACAL.208
PETACAL.209
PETACAL.210
PETACAL.211
PETACAL.212
PETACAL.213
PETACAL.214
PETACAL.215
PETACAL.216
PETACAL.217
PETACAL.218
PETACAL.219
PETACAL.220
PETACAL.221
PETACAL.222
PET13CAL.223
PETACAL.226
PETACAL.225
PETACAL.226
PETACAL.227
PETACAL.228
PETACAL.229
PETACAL.230
PETACAL.231
PETAcAL.232
PETACAL.233
PETACAL.234
PETACAL.235
PETACAL.236
PETACAL.237
PETACAL.238
PETACAL.239
PETACAL.240
PETACAL.241
PETACAL.242
PETACAL.243
PETACAL.24A
PETACAL.245
PETACAL.246
PETACLL.247
pETAcAL.~~8
PETAC&L.2.19
pETAcAL.2~D
PETACAL.251
PETACAL.252
PETACAL.253
PETACAL.25A
PETACAL.255
PETACAL.256
PETACAL.257
PETACAL.258
PETACAL.259
PETACAL.260
PETACAL.261
PETACAL.262
PETACAL.263
PETACAL.264
PETACAL.265
PETACAL.266
PETACAL.267

109

c
c
c
c

;ET ABSOLUTE VALUE OF SLOPES:


MINIMUM
WILL OETERMINE
WHETHER
SURFACE HAS NEAR HORIZONTAL
OR NEAR VERTICAL
ORIENTATION
iBPFX=ABSIPFX)
iBPFY=ABS(PFY)

c
c
c
c

SET DEFAULT
CELL (L,M):

VALUES OF THE
(L,M)
= (I,d)

INDICES

OF THE

INTERPOLATION

NEIGHBOR

L=I
IU=J
c
c
c
c

IF SURFACE
SURFACE IS
IF

c
c
c

SET

IS MORE NEARLY HORIZONTAL:


GO TO 680.
OTHERWISE
ANO WE ASSIGN NF = 2 OR 1
MORE NEARLY VERTICAL

(ABPFY.GE.ABPFX)
MINIMUM

SLOPE.

GO TO 680
ANO NF CONSISTENTLY

L INOEX.

WITH

NF

= 2

PFMN=PFY
NF(I,J)=2
L=I+I
c
c
c
c

COMPUTE LENGTH INTERVALS


INTERPOLATION
(INTERvAL5
OMX=OELX(I)
OMIN=0.5=(OMX+OELX(
ONBR=OELX(I+I)

c
c
c
c
c
c
c

I+I

NEEDEO
NEEDEO

FOR EVALUATING
THE PRESSURE
IN BUILOING
THE PETA ARRAY)

))

ALGEBRAIC
SIGN OF LARGER ABSOLUTE SLOPE (PFX)
DETERMINES
NF VALUE.
IF PFX > 0.0
THEN NF = 2 ANO WE SKIP TO END OF NF ROUTINE
AT 690
OTHERWISE NF = 1 ANO WE GO ON, REPEATING
STEPS APPROPRIATELY
FOR NF = 1

IMMEDIATELY

PREVIOUS

IF (PFX.GT.O.0)
GO TO 690
NF(I.J)=l
PFMN=-PFY
L=I-~
DMX=OELX(I)
OMIN=O.5*(DMX+DELX(I1))
ONBR=OELX(I-1)
c
c
c
c

HAVING COMPLETED CALCULATIONS


ROUTINE HOLOING NF = 1 OATA

680
c
c
c
c
c

FOR NF

1.

WE SKIP

TO ENO OF NF

GO TO 690
CONTINUE
CASE.
WE START
WE ARE NOW IN SURFACE MORE NEARLY HORIZONTAL
NF = 4
WITH NF = 4
SET MINIMUM
SLOPE.
L INOEX ANO NF CONSISTENTLY
PFMN=-PFX
NF( 1.J)=4
V=dt:
OMX=CELY(J)
DMIN=O. 5=(OMX+OELY(
ONBR=OELY(d+l)

J+!

WITH

))

ALGEBRAIC
SIGN GF LARGER SLOPE (PFY)
DETERMINES
N; VLLLJE. IF PFY
> 0.0
THEN NF = 4 ANO WE SKIP TO ENO OF NF ROUTINE
IMMEDIATELY
PREVIOUS
OTHERWISE NF = 3 ANO WE GO ON. REPEATING
STEPS APPROPRIATELY
FOR NF = 3

c
c
c
c
c

690
c
c
c
c
c

110

IF (PFY.GT.O.0)
GO TO 690
NF(I,LJ)=3
PFMN=PFX
MxJ-1
DMx=OELY(d)
oMIN=o. 5=(DMx+oELY(d1))
ONBR=DELY(U-1)
CONTINUE
WE HAVE
LATION

COMPLETEO

SETTING

NF ANO (L,M)

FOR THE

PRESSURE

INTERPO-

PETACAL.268
PETACAL.269
PETACAL.270
PETACAL.271
PETACAL.272
PETACAL.273
PETACAL.274
PETACAL.275
PETACAL.276
PETACAL.277
PETACAL.278
PETACAL.279
PETACAL.280
PETACAL.281
PETACAL.282
PETACAL.283
PETACAL.284
PETACAL.285
PE7ACAL.286
PETACAL.287
PETACAL.288
PETACAL.289
PETACAL.290
PETACAL.291
PETACAL.292
PETACAL.293
PETACAL.294
PETACAL.295
PETACAL.296
PETACAL.297
PETACAL.298
PETACAL.299
PETACAL.300
PETACAL.301
PETACAL.302
PETACAL.303
PETACAL.304
PETACAL.305
PETACAL.306
PETACAL.307
PETACAL.308
PETACAL.309
PETACAL.310
PETACAL.311
PETACAL.312
PETACAL.313
PETACAL.314
PETACAL.315
PETACAL.316
PETACAL.317
PETACAL.318
PETACAL.319
PETACAL.320
PETACAL.321
PETACAL.322
PETACAL.323
PETACAL.324
PETACAL.3Z5
PETACAL.326
PETACAL.227
PETACAL.228
PETACAL.329
PETACAL.330
PE7ACAL.331
PETACAL.332
PETACAL.333
PETACAL.334
PETACAL.335
PETACAL.336
PETACAL.337
PETACAL.338
PETACAL.339
PETACAL.340
PETACAL.341
PETACAL.342
PETACAL.343
PETACAL.344
PETACAL.345
PETACAL.346
PETACAL.347

c
c

c
c
~
c

G
r
(..
c
:
c

:
c
c
c
c
c
c
c
c
c
c
c
c
c
c

:
c
c
c
c
c
c
c
c
c
c
c
c

PETACAL.348
PETACAL.349
PETACAL.350
IF(NF(I,d).Eo.1)
SDFS=(I
.O+AC(I-I,J)=
(F(I-I.J)
-I.o))=DELX(
I-I)+
PETACAL.351
1 (1 .o+AC(I,
J)*(F(I,J)I.O))=DELX(I)
PETACAL.352
IF(NF(I,U).EQ.2)
SDFS=(l
.O+AC(I+l,d)*(
F(I+I,
J)-I.0))-DELX(I+I
)+
PETACAL.353
1 (1 .C)+AC( I.J)=(F(I.d)I.O))=DELX(I)
PETACAL.354
IF(NF(I,J):EO.3)
SDFS=(I.O+AC(I,~-l
)=(F(I,
LJ-l)-l
.O))=DELY(d1)+
PETACAL.355
f (l .o+Ac(I
.d)=(F(I.d)-l
.O))*DELY(d)
PETACAL.356
IF(NF(I,J).EO.4)
SDFS=(l.O+AC(I,
J+l )=(F(I,
J+I)-1.O))*DELY(J+
1)+
PETACAL.357
1 (1 .o+AC(I,
d)*(F(I,d)1.O))=OELY(LJ)
PETACAL.358
DFS=0.5*DMX+DNBR-SDFS
PETACAL.359
DFS=AMINI
(DFS,O.5=DMIN)
PETACAL.360
PETACAL.361
IF NO SURFACE TENSION
BYPASS PS ROUTINE AND CALCULATE PETA(I,IJ)
PETACAL.362
PETACAL.363
IF (IsuRFIO.LT.1)
GO To 740
PETACAL.364
PETACAL.365
*=*
OETERMINE
THE SURFACE PRESSURE
PETACAL.366
PETACAL.367
WE DETERNINE
ONLY THE SURFACE TENSION
CONTRIBUTION
TO PS: VOID
PETACAL.368
PRESSURE IS AODED IN PRESIT
OR IN PRESCR
PETACAL.369
PETACAL.370
SET NF ANO NW INTO NON-INOEXEO
VARIABLES
FOR USE IN IF STATEMENTS
PETACAL.371
SET OEFAULT VALUES OF FLGE. .. .,AFFLGU.
.FLGU .INW,CSANG,
AND SANG
FLAGS GIVE CHOICE OF WALL AOHESION OR SURFACE TENSIDN
ANO, IF WALL PETACAL.372
PETACAL.373
AOHESION.
THE OIRECTIDN
OF THE FORCE
PET&cAL.374
PETACAL.375
NFF=NF(I,d)
PETACAL.376
FLGE=I.O
PETACAL.377
FLGW=I.O
PETACAL.378
FLGN=I.O
PETACAL.379
FLGS=I.O
PETACAL.380
NWW=NW(I.J)
PETACAL.381
CSANG=COSO(I,LJ)
PETACAL.382
SANG=SINO(I,J)
PETAcAL.3e3
FLGU=l.O
PETACAL.384
AFE=l.O
PETACAL.385
AFW=I.O
PETACAL.366
AFN=I.O
PETACAL.387
AFS=l.O
PETACAL.388
INw=O
PETACAL.389
PETACAL.390
NWW=O INDICATES
A FLUIO CELL FULLY OPEN TO FLOW WHOSE FACES
PETACAL.391
MAY BE COMPLETELY
OPEN TO FLOW, FULLY CLOSEO. OR PARTIALLY
PETACAL.392
OPEN TO FLOW (SIMULATING
POROUS BAFFLES)
- 5KIp
TD sTANOARO
PETACAL.393
SURFACE TENSION
CALCULATION
PETACAL.394
PETACAL.395
IF(NWW.EO.0)
GO TO 100
PETACAL.396
PETACAL.397
RESET INW: THIS
FORECLOSES THE POROUS BAFFLE OPTION
PETACAL.398
(cELL
FACES partially
OPEN TO FLOw, PART 5uRFAcE
TENsION.
PETACAL.399
PART AOHESION)
PETACAL.400
RESET CSANG FOR NF=l
OR 2; WE NOW HAVE FINAL VALUES FOR CSANG
PETACAL.401
SO MAGNITUDE OF WALL AOHESION
FORCE HAS NOW BEEN DETERMINE
PETACAL.402
IF NWW=NFF GO TO STANOARO CALCULATION
OF SURFACE TENSION
PETACAL.403
USING PARAMETERS SET FOR CURVED BOUNDARY CASES
PETACAL.404
PETACAL.405
INW=I
PETACAL.496
IF(NFF.LE.2)
CSANG=SINO~I.LJl
PETACAL.407
SANG=O.O
PETACAL.40e
IF~NwW.EC.NFF)
GC TO 10J
PETACAL.409
PETACAL.410
CURVED BOUNDARY WALL ADHESION
PETACAL.LII
PETACAL,412
OR 8 SET WALL AOHESIOh
R4THER
FOR SOME CASES OF Nk = 1.3,4.5,6,7,
PETACAL.413
THAN SURFACE TENSION.
CHOOSING THE WALL ANO THE FORCE DIRECTION
PETACAL.414
USE NF AND NEIGHBORING
F VALUES TO MAKE THE DETERMINATION
PETACAL.415
PETACAL.416
GO TO (20.100,30,40,50,60,70.
80).NWW
PETACAL,417
PETACAL,418
WE ARE IN NW = 1 BRANCH. WE HAVE ALREADY TREATED NF = 1. FOR NF =
PETACAL.419
3 OR 4 : BRANCH AHEAO TO 23 OR 24
PETACAL.420
FOR NF = 2: RESET FLGU: IF NO FLUID
ABOVE,
PUT WALL AOHESION DN
PETACAL.421
TOP WALL: IF NO FLUIO BELOW. PUT WALL AOHESION
ON BOTTOM WALL
PETACAL.422
ENTER NEXT STAGE OF CALCULATION
PETACAL.423
PETACAL.424
20 IFINFF.EO.3)
GO TO 23
PETACAL.425
IF(NFF.EO.4)
GO TO 24
PETACAL.426
FLGU=-1.O
PETACAL.427
IF(F(I,
J+l).LE.EMF)
AFN=O.O
DETERMINE

AN INTERPOLATION

LENGTH

FOR THE

PETA

ARRAY

111

IF(F(I,
GO TO
c
c
c
c
c

J-1).LE.EMF)
100

AFS=O.O

FOR NF = 3: IF NO FLUIO ABOVE. PUT WALL AOHESIoN


NO FLUID BELOW, PUT WALL AOHESION ON WEST WALL
ENTER NEXT STAGE OF CALCULATION
23

c
c
c
c
c
c
c

IFIF(I.J+I
).LE.EMF)
IF(F(I,d1).LE.EMF)
GO TO 100

ON EAST

WALL:

AFE=O.O
AFW=O.O

FOR NF = 4: IN THIS CASE WE ARE CALCULATING


-Y COMPONENT OF
THUS WALL ADHESION
ENTERS WITH OPPOSITE
SIGN.
SURFACE FORCES.
No FLulo
ABovE,
PUT WALL AOHESION ON WEST WALL: IF NO FLUID
BELOW, PUT WALL AOHESION ON EAST WALL
ENTER NEXT STAGE OF CALCULATION
24

c
c
c
c
c
c
c

c
c
c
c
c

GO TO (41,42,43,43),
IF(F(I+l,J)
.LE.EMF)
IF(F(Il,IJ).LE.EMF)
GO TO 100

IF

AFW=O.O
AFE=O.

WALL:

NFF
AFE=O.O
AFw=O.O

FOR NF=l:
PUT AOHESION
RESET FLGU: IF NO FLUIO TO RIGHT,
PUT AOHESION ON NORTH WALL
ON SOUTH WALL; IF NO FLUIO TO LEFT,
ENTER NEXT STAGE. . .
41

c
c
c
c
c

FLGU=-1.O
IF(F(I*
l,J).LE.EMF)
IF(F(II.J).LE.EMF)
GO TO 100

AFS=O-O
AFN=O.O

RESET FLGU: IF NO FLUIO TO RIGHT PUT AOHESION ON


FOR NF=2:
PUT AOHESION ON SOUTH WALL
NORTH WALL; IF NO FLUIO TO LEFT,
ENTER NEXT STAGE. . .
42

c
c
c
c
c
c
c

IF(F(I1.d).LE.EMF)
IF(F(I+l,
d).LE.EMF)
FLGU=-I.O
GO TO 100

AFS=O.O
AFN=O.O

WE ARE NOW IN NW=3 BRANCH. WE HAVE ALREADY TREATEO NF=3


FOR NF=I
OR 2: BRANCH A!-IEAO TO 31 OR 32
IF NO FLUID
TO RIGHT,
PUT AOHESION
FOR NF=4: RESET FLGU,
ON EAST WALL; IF NO FLUID TO LEFT.
PUT AOHESION ON WEST WALL
ENTER NEXT STAGE. . .
30
33

c
c
c
c
c

GO TO (31.32,33.33),
IF(F(I+I,
JI.LE.EMF)
iF(FII-l,
d).LE.EMF
FLGU=-I.O
GO 70 100

NFF
AFE=O.O
) AFW=O.O

PUT Ai)HESICIN Oh NORTi-I WALL:


ON SOUTH WALL

IF NO FLUIO
TO RIGHT.
PUT AOHESION
TO LEFT,
ENTER NEXT STAGE. . .
31

c
c
c
c
c

IF(F(I+l,
IF(F(IGO TO

LJ).LE.EMF)
l,d).LE.EMF)
100

IF(F(II,J).LE.EMF)
IF(F(I+I,U)
.LE.EMF)
GO TO 100

IF

NO FLU~O

IF

NO FLUIO

AFN=O-O
AFS=O.O

IF NO FLUIO TO RIGHT,
PUT AOHESION
TO LEFT,
ENTER NEXT STAGE. . .
32

112

J+I).LE.EMF
d-1).LE.EMF)
100

WE HAVE ALREAOY TREATEO NF=l


WE ARE IN NW=4 BRANCH.
FOR NF=l
OR 2: t3RANCH AHEAD TO 41 OR 42
PUT AOHESION ON EAST
FOR NF=3:
IF NO FLUID
TO RIGHT,
PUT AOHESION ON WEST WALL
IF NO FLUIO TO LEFT,
ENTER NEXT STAGE.. .
40
43

c
c
c

IF(F(I,
IF(F(I.
GO TO

IF

PUT AOHESION ON SOUTH WALL:


ON NORTH WALL

AFN=O.O
AFS=O.O

WE ARE NOW IN NW=6 BRANCH


RESET FLGU:
IF NF=2 OR 4

PETACAL.428
PETACAL.429
PETACAL.430
PETACAL.431
PETACAL.432
PETACAL.433
PETACAL.434
PETACAL.435
PETACAL.436
PETACAL.437
PETACAL.438
PETACAL.439
PETACAL.440
PETACAL.441
PETACAL.442
PETACAL.443
PETACAL.444
PETACAL.445
PETACAL.446
PETACAL.447
PETACAL.448
PETACAL.449
PETACAL.450
PETACAL.451
PETACAL.452
PETACAL.453
PETACAL.454
PETACAL.455
PETACAL.456
PETACAL.457
PETACAL.458
PETACAL.459
PETACAL.460
PETACAL.461
PETACAL.462
PETACAL.463
PETACAL.464
PETACAL.465
PETACAL.46G
PETACAL.467
PETACAL.468
PETACAL.469
PETACAL.470
PETACAL.471
PETACAL.472
PETACAL.473
PETACAL.474
PETACAL.475
PETACAL.476
PETACAL.477
PETACAL.478
PETACAL.479
PETACAL.480
PETACAL.481
PETACAL.482
PETACAL.483
PETACAL.484
PETACAL.485
PETACAL.486
PETACAL.487
pETACAL.488
PETACAL.489
PETACAL.49C
PETACAL.491
PETACAL.492
PETACAL.493
p~~AcAL.494
PETACAL.495
PETACAL.496
PETACAL.497
PETACAL.498
PETACAL.499
PETACAL.500
PETACAL.501
PETACAL.502
PETACAL.503
PETACAL.504
PETACAL.505
PETACAL.506
PETACAL.507

c
c
c
c
c

BRANCH AHEAD TD 64;


IF NF=3 OR 4
FOR NF=l
OR 2: IF NO FLUIO ABOVE,
IF NO FLUIO TO LEFT.
PUT AOHESION
ENTER NEXT STAGE. . .
60

c
c
c
c
c

PUT ADHESION
ON NORTH WALL:
ON SOUTH WALL

IF(NFF.
EO.2.OR.NFF.EQ
.4)
FLGU=-1.O
IF(NFF.GT.2)
GO TO 64
IF(F(I,
LJ+l).LT.EMF)
AFN=O.O
IF(F(Il,J).LT.EMF)
AFS=O.O
GO TO 100
FOR NF=3 OR 4: IF NO FLUID
A80VE,
PUT AOHESION ON EAST
IF NO FLUID
TO THE LEFT,
PUT AOHESION ON WEST WALL
ENTER NEXT STAGE. . .

64

IF(F(I.
IF(F(IGO TO

d+l).LT.EMF)
I,LJ).LT.EMF)
IM

WALL:

AFE=O.O
AFW=O.O

WE ARE NOW IN NW=5 BRANCH


FOR NF=I
OR 4: RESET FLGU
FOR NF=3 OR 4: BRANCH AHEAO TO 54
FOR NF=I
OR 2: IF NO FLUIO BELOW, PUT AOHESION
IF NO FLUID
TO THE LEFT,
PUT AOHESION ON NORTH
ENTER NEXT STAGE. . .

ON SOUTH WALL;
WALL

c
50

c
c
c
c
c

IF(NFF.
EQ.1.OR.NFF.E().
4) FLGU=-I.O
IF(NFF.GT.2)
GO TO 54
IF(F(I,
J-1).LT.EMF)
AFS=O.O
IF(F(I1.LJ).LT.EMF)
AFN=O.O
GO TO 100
FOR NF=3 OR 4: IF NO FLUIO 8ELOW, PUT AOHESION ON EAST
IF NO FLUID
TO THE LEFT,
PUT AOHESION ON WEST WALL
ENTER NEXT STAGE. . .

54

c
c
c

IF(F(I,
IF(F(IGO TO

AFE=O.O
AFW=O.O

WE ARE IN NW*7 8RANCH


FOR NF=I
OR 3: USE SURFACE TENSION
ONLY
FOR NF=4:
BRANCH AHEAD TO 74
FOR NF=2:
IF NO FLUIO ABOVE. PUT ADHESION
ENTER NEXT STAGE. . .

c
70
72

Go To
IF(F(I,
GO TO

74

c
c
c
c
c
c
c
c

J+l).LT.EMF)
100

c
c
c

IF(F(I+I,
LJ).LT.EMF)
,CLGu=.1 .o
GO TO 100

GO TO (100.82.83.:00),
IF(F(I.
d-l).LT.EMi)
FLGU=-1.O
GO TO 100
FOR NF=3:

83
c
c
c
c

IF

NO FLUIO

TO RIGHT,

IF(F(I+I,

IF

GO TO

ON EAST

PUT

ADHE310N

ON SouTH

NFF
AFS=O.O

TO THE

RIGHT,

PUT

AOHESION

ON EAST

WALL

AFE=O.O

(700,700.710,710).

WE HAVE

ADHESION

AFE=O.O

NO FLUID

LJ).LT.EMF)

PUT

CALCULATION
OF SURFACE TENSION
FORCE IS OIFFERENT
GO TO APPRCPIATE
BRANCH
ANO HORIZONTAL
SURFACES:
100

WALL

AFN=O.O

WE ARE IN Nw=8 BRANCH


FOR NF=l
OR 4: USE SURFACE TENSION
ONLY
FOR NF=3:
ERANCH AHEAO TC 93
FOR NF=2:
RESET FLGU: IF hog FLUID
i3ELa*,
W.4LL
ENTER NEXT STAGE.. .
80
82

ON NORTH

(lOOOYZ,
ICX),T4),NFF

FOR NF=4:
RESET FLGU:
WALL
ENTER NEXT STAGE. . .

c
c

c
c

J-1).LT.EMF)
l,d).LT.EMF)
100

WALL;

A NEAR VERTICAL

NFF
SURFACE

FOR VERTICAL
TO BEGIN

PETACAL.508
PETACAL.509
PETACAL.51O
PETACAL.511
PETACAL.512
PETACAL.513
PETACAL.514
PETACAL.515
PETACAL.516
PETACAL.517
PETACAL.518
PETACAL.519
PETAcAL.520
PETACAL.521
PETAcAL.522
PETACAL.523
PETACAL.524
PETACAL.525
PETACAL.526
PETACAL.527
PETACAL.528
PETACAL.529
PETACAL.530
PETACAL.531
PETACAL.532
PETACAL.533
PETACAL.534
PETACAL.535
PETACAL.536
PETACAL.537
PETACAL.538
PETACAL.539
PETACAL.540
PETACAL.541
PETACAL.542
PETACAL.543
PETACAL.544
PETACAL.545
PETACAL.546
PETACAL.547
PETACAL.548
PETACAL.549
PETACAL.550
PETACAL.551
PETACAL.552
PETACAL.553
PETACAL.554
PETACAL.555
PETACAL.556
PETACAL.557
PETACAL.558
PETACAL.559
PETACAL.560
PETACAL.561
PETACAL.562
PETACAL.563
PETACAL.564
PETACAL.565
PETACAL.566
PETACAL.567
p~T~cAL.568
PETACAL.569
PETACAL.570
pETAcAL.571
PETACAL.572
PETACAL.573
PETACAL.574
PETACAL.575
PETACAL.576
PETACAL.577
PETACAL.578
PETACAL.579
PETACAL.580
PETACAL.581
PETACAL.582
PETACAL.583
PETACAL.584
PETACAL.585
PETACAL.586
PETACAL.587

c
c
c

PETACAL.588
PETACAL.5B9
PETACAL.590
PETACAL.591
RDEW=RXI(I)
PETACAL.592
IF(INW=O:
GC TO CALCULATION
FOR POROUS BAFFLE CAPABILITY:
CALCULAT PETACAL.593
PETACAL.594
LINEAR
COMBINATION
OF SURFACE TENSION
AND ADHESION
FORCES
PETACAL.595
OTHERWISE.
BYPASS POROUS BAFFLE ROUTINE
AND CALCULATE EITHER
PETACAL.596
SURFACE TENSION
OR WALL ADHESION
PETACAL.597
PETACAL.598
IF(INW.EO.0)
GD TO 701
PETACAL.599
RDNS=ROY(J)
PETACAL.600
IF(I.EO.2)
GO TO 702
PETACAL.601
IF(AR(Il,J).ST.EM6)
RDNS=RDY( d)/AR(I-l,J)
PETACAL.602
GO TO 702
PETACAL.603
FLGU=-1.O
PETACAL.604
RDNS=RDY(d)
PETACAL.605
PETACAL.606
SET FRACTIONAL
AREA OPEN TO WOW ON EAST,
OR RIGHi,
CELL WALL
PETACAL.607
ANO ON WEST, OR LEFT,
WALL (I.E..
AFE AND AFW) BY CONVENTION
PETACAL.608
PETACAL.609
AFE=I.O
PETACAL.610
AFW=I.O
PETACAL.611
PETACAL.612
SET FRACTIONAL
AREA OPEN TO FLOW ON NORTH, OR TOP, WALL AND ON
PETACAL.613
SOUTH, OR BOTTOM. WALL ACCOROING TO OBSTACLE GEOMETRY
PETACAL.614
PETACAL.615
AFN=AT(I,d)
PETACAL.616
AFS=AT(I.d-1)
PETACAL.617
PETACAL.618
SET DEFAULT VALUE OF AFLOOR,
FOR LATER USE IN WALL ADHESION
FORCE
PETACAL.619
PETACAL.620
AFLOOR=O.O
PETACAL.621
PETACAL.622
COL. OF CELLS AFLOOR =
SET AFLOOR FOR NF = 1: EXCEPT FOR FIRST
PETACAL.623
FRACTIONAL
AREA OPEN TO FLOW ON EAST CELL WALL
PETACAL.624
PETACAL.625
FOR NF = 2 AFLOOR = FRACTIONAL
AREA OPEN TO FLOW ON WEST WALL
PETACAL.626
PETACAL.627
IF (X(I-1).GT.EM6)
AFLOOR=AR(I-l.LJ)
PETACAL.628
IF (NFF.EO.2)
AFLOOR=AR(I.U)
PETACAL.629
PETACAL.630
IF TOP.DR
BOTTOM CELL WALL IS OPEN TO FLOW BUT CELL IS EMPTY,
SET
PETACAL.631
CORRESPONDING
FLAG TO AFLOOR VALUE
PETACAL.632
PETACAL.633
IF (AFN.GT.
EM6.AND.F(I,
d+l).LT.EMF)
FLGN=AFLOOR
PETACAL.634
IF (AFS.GT.
EM6.AN0.F(I,d1).LT.EMF)
FLGS=AFLOOR
PETACAL.635
PETACAL.636
BEGIN CALCULATION
OF. SURFACE TENSION
FORCES.
ESPECIALLY
OF WE
PETACAL.637
TANGENTS THAT APPEAR ON THE VARIOUS
WALLS
PETACAL.638
PETACAL.639
OHENE=O.O
PETACAL.640
OHESE=O.O
PETACAL.641
OHENW=O.O
PETACAL.642
OHESW=O.O
PETACAL.643
DELYIJI+DEL!(J*I
))
OHNNE=( AVFT-AVFCY)2
.0/
PETACAL.644
DHNNW=OHNNE
PETACAL.645
DELY(J)ADELY(Jl))
OHNSE=( AVFCY-AVF6)2
.o/
PETACAL.646
DHNSW=OHNSE
PETACAL.647
IF PLANE GEoMETRY;
sKIp
PETACAL.64e
TO 720.
WHERE CALCULATION
OF SIJRFACE
TENSIoN
FoRcEs
pRccEEDS
PETACAL.649
PETACAL.65G
PE7ACAL.651
IF(CYL.LT.O.5)
GO TO 720
PETACAL.652
PETACAL.653
FOR CYLINDRICAL
CASE WE CALCULATE EXTRA TERM OUE TC AZIMUTHAL
CALCULATE AN AVERAGE SLOPE.
MULTIPLY
BY SOME PETACAL.654
CURVATURE OF SURFACE:
PETACAL.655
SWITCH ALGEBRAIC
SIGN WHEN NF = 2 (AS
GEOMETRIC
FACTORS,
ANO STORE RESULT IN FLGN ANO FLGS PETACAL.656
SURFACE CURVATURE CHANGES SIGN).
PETACAL.657
PETACAL.658
OHNA=0.5=(OHNNE+DHNSE
)
PETACAL.659
FCYL=0.5=DELY(
J)=OHNA=RXI
(11
PETACAL.660
IF(NFF.EO.2)
FCYL=-FCYL
PETACAL.661
FLGN=FLGN*(
l.O+FCYL)
PETACAL.662
FLGS=FLGS=(
l.O-FCYL)
PETACAL.663
PETACAL.664
HAVING STOREO CYLINDRICAL
INFORMATION:
PROCEED TO FURTHER
PETACAL.665
CALCULATION
OF SURFACE TENSION
FORCE AT 720
PETACAL.666
PETACAL.667
GO TO 720

CALCULATE A HORIZONTAL
OISTANCE
INTERVAL
(RONS)
FOR LATER USE
700

c
c
c
c
c
c

701
c
c
c
c

:
c
c

c
c
c
c
c
c
c
.
E

c
c
c
c

c
c
:
702

c
c
c
c
c
c
c
c
c
c

c
c
c
c

114

(ROEW)

ANO A RECIPROCAL

c
c
c
c

WE HAVE A NEAR HORIZONTAL


APPROPRIATE TO THIS
CASE
710

L
c
c
c
c
c

SURFACE:

CALCULATE

RDEW AND RDNS

RONS=RXI(I)
IF INW=O GO TO POROUS BAFFLE ROUTINE,
GIVING
LINEAR
COMBINATION
OF SURFACE TENSION
AND ADHESION
FORCES
OTHERWISE
,BYPASS
POROUS BAFFLE ROUTINE,
CALCULATING
EITHER
SURFACE TENSION
OR AOHESION,
EITHER
HERE OR AFTER 713

IF(INW.EO.0)
GO TO 711
ROEW=ROX(I)
IF(NW(I,
ti).EO.3.OR.NW(
1. LJ). EO.5.OR.NW(I,LJ).
IF(AT(I,
LJ).GT.EM6)
ROEW=ROX( I)/AT(I,J)
GO TO 712
713 IF(AT(I,
J-1).GT.EM6)
ROEW=ROX(I)/AT(I
,J-1)
GO TO 712
11 FLGU=-I.O
ROEW=ROX(I)

EQ.7)

GO TO 713

c
SET

FOUR FRACTIONAL

AREAS

OPEN TO FLOW APPROPRIATELY

\
AFE=AR(I,J)
AFW=O.O
IF (X(I-1).GT.EM6)
AFN=I.O
AFS=l.O
c
c
c

SET

AFLOOR

FOR LATER

AFLOOR=AT(I,d-1)
IF (NFF.EC).4)
c
c
c
c

AFW=AR(I-1.J)

USE:

TOP OR BOTTOM AREA

AFLOOR=AT(I.J)

IF LEFT OR RIGHT CELL IS OPEN TO FLOW BUT


CORRESPONDING
FLAG TO AFLOOR VALUE

712

IF
IF
IF
IF

OPEN TO FLOW

(AFE.GT.
EM6.ANo.F(I+I
,J).LT.EMF)
(AFW.GT. EM6.ANO.F(Il,d).LT.EMF)
(CYL.GT.O.5)
FLGE=FLGE*X(
I)*RXI(I)
(CYL.GT.O.5)
FLGW=FLGW*X( I-I)*RXI(

EMPTY,

SET

FLGE=AFLOOR
FLGW=AFLOOR
I)

(,
LOAD THE SURFACE TANGENTS IN THE SAME EIGHT VARIABLES:
ACCUMULATING
IN MANNER APPROPRIATE TO HORIZONTAL
CASE

E
c

OHNNE=O.O
OHNSE=O.O
OHNNW=O.O
OHNSW=O.O
OHENE=(AVFR-AVFCX)-2
OHESE=OHENE
OHENW=(AVFCX-AVFL)*2
DHESW=OHENW

.O/(DELX(

I)+OELX(I+I

))

.O/(OELX(

I)+OELX(I-l

))

c
WE HAVE COLLECTEO SURFACE TANGENTS AND GO ON TO FURTHER
Evaluation
oF suRFAcE
TENsioN
ANo wALL ADH5sIoN
AT 7Qo:

c
c
c
:
~

ALL PATHS THRU


WE CONSOLIDATE
720

c
c
c
c
~

OHEE=O.
CI-INE=O
OHEW=9.
OhN4=0.

THIS
ROUTINE MEET AT 720 AND GO ON TO
VARIABLES
FOR GIVING
SURFACE TANGENTS

5-(OHENE+DHESE
.5-[OHNNE+OHNSE
5-(OHENW+OHESW
5-(OHh!4W+DHNSW

]
)
)
J

BEGiN TO ASSEMBLE TERMS THAT WILL PROVIOE


DENOMINATORS
IN
EXPRESSIONS
FOR SIGN OF ANGLE SURFACE MAKES WITH APPROPRIATE
AXIS;
OIRECTLY
NEEOED FOR SURFACE TENSION
FORCE
TERM1=I .O+OHNE*OHNE
TERM2=1.0+OHNW*DHNW

c
c
c

NOW CONSTRUCT

THE

DENOMINATOR

RHOE=SORT(TERMI+DHEE=OHEE
RHOW=SORT(TERM2+OHEW=OHEW
:
c
c
c

)
)

CALCULATE SURFACE FORCES ON EAST ANO WEST WALLS


FORCE IS
FY FOR NF=3 AND -FY FOR NF=4
ONLY FOR INW=O IS FORCE REALLY A LINEAR
COMBINATION
OF
OTHERWISE.
IT
SURFACE TENSION
ANO WALL AOHESION
FORCES.

IS

PETACAL.668
PETACAL.669
PETACAL.670
PETACAL.671
PETACAL.672
PETACAL.673
PETACAL.674
PETACAL.675
PETACAL.676
PETACAL.677
PETACAL.678
PETACAL.679
PETACAL.680
PETACAL.681
PETACAL.682
PETACAL.683
PETACAL.684
PETACAL.685
PETACAL.686
PETACAL.687
PETACAL.688
PETACAL.689
PETAcAL.690
PETACAL.691
PETACAL.692
PETACAL.693
PETACAL.694
PETACAL.695
PETACAL.696
PETACAL.697
PETACAL.698
PETACAL.699
PETACAL.70CI
PETACAL.701
PETACAL.702
PETACAL.703
PETACAL.704
PETACAL.705
PETACAL.706
PETACAL.707
PETACAL.708
PETACAL.709
PETACAL.710
PETACAL.711
PETACAL.712
PETACAL.713
PETACAL.714
PETACAL.715
PETACAL.716
PETACAL.717
PETACAL.716
PETACAL.719
PETAcAL.720
PETACAL.721
PETACAL.722
PETACAL.723
PETACAL.724
FETACAL.725
PE7ACAL.726
PETACAL.727
PE7ACAL.728
PETACAL.725
PETACAL.730
OETACAL.731
PETAcAL.732
PETACAL.723
PETACAL.734
PETACAL.735
PETACAL.736
PETACAL.737
PETACAL.738
PETACAL.739
PETACAL.740
PETACAL.741
PETACAL.742
PETACAL.743
PE7ACAL.744
PETACAL.745
PETACAL.746
PETACAL.747

c
c
L

EITHER
SURFACE
GIVEN EARLIER
i

c
c
c
c
c

TENSION

OR WALL AOHESION:

ACCOROING

TO RULES

FEW=FLGE=(AFE=DHEE/RHOE+FLGU=
(l .O-AFE)-CSANG)FLGW=~AFW=DHEW/RHDW+FLGU=
(1 .o-AFw)*csANG)
..
IF (CY~lLT.O.5.OR.NFF.GT
.2)
GO TO 730
IN CYLINDRICAL
CASE AOO A TERM TO FEW WHEN NF = 1 OR NF = 2
(HELpS BUlLD
AZlMUTHAL
cuRvATuRE
FoRcE,
so ALLow FoR cHANGE
OF SIGN

OF CURVATURE

BETWEEN

FEw=-0.5=(TERMl/RHOE+TERM2/RHDW
IF (NFF.EO.2)
FEW=-FEW
c
c
c
c

c
c
c
c
c
c
c

DHEN=O.5=(OHENE+DHENW)
OHNN=O.5-(EIHNNE+OHNNW)
DHES=O. 5*(OHESE+DHESW)
DHNS=0.5*
(DHNSE+DHNSW)
TERM1=I .O+DHEN-DHEN
TERM2=1.0+OHES*OHES
RHON=SORT(TERMI+OHNN=OHNN)
RHDS=SORT(TERM2+DHNS*DHNS

1 ANO NF = 2)

ASSEMBLE TERMS TO CONSTRUCT


NORTH ANO SOUTH CELL WALLS
730

NF

SINES

OF ANGLES

SURFACE

MAKES WITH

CALCULATE SURFACE FORCES ON NORTH ANO SOUTH WALLS


FORCE IS FX FOR NF=l
AND -FX FOR NF=2
ONLY FOR INW=O IS FORCE REALLY A LINEAR
COMBINATIONOF
SURFACE
TENSION
AN!I WALL AOHESION FORCES.
OTHERWISE,
IT IS EITHER
SURFACE TENSION
OR WALL AOHESION:
ACCOROING TO RULES GIVEN
EARLIER
FNS=FLGN*(AFN=OHNN/RHON+FLGU=
FLGS-(AFS=OHNS/RHOS+FLGU*(

c
c
c
c
c

(I .O-AFN)*CSANG)I.O-AFS)*CSANG)

FOR THE PDROUS BAFFLE OPTION


(INw=O):
coMpuTE
AooITIoNAL
suRFAcE
FORCES.
ALLOWING FOR SOME CASES OF WALL AOHESION WHICH THE
MISS WHEN INW=O
PRECEOING
ALGORITHMS
FEW=FEW-(2.0-FLGE-FLGW)
FNS=FNS-(2.0-FLGN-FLGS)
AFEW=ABS(FEW)

c
c
c
c

*SANG
*SANG

LIMIT
SIZE
OF FEW ANO FNS WHEN ALGORITHMS
GIVE UNPHYSICAL
AND MULTIPLY
BY GEOMETRIC
FACTORS NEEOEO FOR PS
IF(NFF.LE.2)
FEW=AMIN1(ROEW=AFEW,
RX( 2), FEWLIM)=SIGN(
IF(NFF.GT.2)
FEW=AMINl (ROEW=AFEW.ROEw,
FEWLIM)=SIGN(
AFNS=ABS(FNS)
FNS=AMINI (RDNS*AFNS.RONS
eFNSLIM)*SIGN(
l.O,FNS)

c
c
c
c
c

COMPUTE SURFACE TENSION


(PS).
ANY VOIO PRESSURE
tiPOATE ROUTINE
PS(I.

J)=-SIGMA*(FEW+FNS

740

CCNTINUE
=.=

CALCULATE

PETA

----- -

750

IF \F[i+l,
J).LT.EMF.OR
.AR(I.J
.LT.EM6)
NFSB=NFS6+1
IF (F(I,
d+I).
LT.EMF.OR.ATl
I,d
LT.EM6)
NFSB=NFSB+2
).LT.EMF.OR
.AR(I-1
IF [F(I-l.IJ
J).LT.EM6)
NFs0=NFs0+4
J-1 ).LT.EMF.OR.AT(
I,d
1).LT.EM6)
NFSB=NFSB+8
IF (F(I.
IF (NFSB.EO.
151 PS(I,J)=O.O
PE. A(I.d)=l.O/(
l.O-DFS/OMIN)
IF (L.EO:l.Oli~L.EO.
IMAX)
PETA(I,U)=l.O
IF (M. EO.l.OR.M.
EO.JMAX)
PETA(I,J)=l.O
IF (NF(L.M).NE.0)
PETA(I.J)=l.O
IF (NF(I.LJ).EO.1
.AND.AR( I-l,JJ.GT.EM6)
GO TO 750
IF (NF(I.
J) .Eo.2.ANO.AR(I.
J).GT.EM6)
GO TO 750
IF (NF(I,
U) .EO.3.AND.AT(
1.d-1).GT.EM6)
GO TO 750
IF INF(I.U)
.EO.4.ANO.AT(
1.J).GT.EM6)
GO TO 750
PETAII~J)=l.O
CONTINUE

c
CALL

116

LAVORE

l.0.FEw)
l.O.FEw)

PRESSURE ANO CALL IT THE SURFACE PRESSURE


CONTRIBUTION
TO PS IS AOOED IN PRESSURE

c
c
.

RESULTS

PETACAL.748
PETACAL.749
PETACAL.750
PETACAL.751
PETACAL.752
PETACAL.753
PETACAL.754
PETACAL.755
PETACAL.756
PETACAL.757
PETACAL.758
PETACAL.759
PETACAL.760
PETACAL.761
PETACAL.762
PETACAL.763
PETACAL.764
PETACAL.765
PETACAL.766
PETACAL.767
PETACAL.768
PETACAL.769
PETACAL.770
PETACAL.771
PETACAL.772
PETACAL.773
PETACAL.774
PETACAL.775
PETACAL.776
PETACAL.777
PETACAL.778
PETACAL.779
PETACAL.7B0
PETACAL.781
PETACAL.782
PETACAL.7B3
PETACAL.784
PETACAL.785
PETACAL.786
PETACAL.787
PETACAL.788
PETACAL.789
PETACAL.790
PETACAL.791
PETACAL.792
PETACAL.793
PETACAL.794
PETACAL.795
PETACAL.796
PETACAL.797
PETACAL.798
PETACAL.799
PETACAL.SOO
PETACAL.801
PETACAL.802
PETACAL.803
PETACAL.804
pETAcAL.805
PETACAL.806
?ETAC&L.8G7
PETACAL.B08
PETACAL.809
PETACAL.810
PETACAL.811
PETACAL.812
PETACAL.B13
PETACAL.814
PETACAL.815
PETACAL.816
PETACAL.817
PETACAL.818
PETACAL.819
PETACAL.820
PETACAL.B21
PETACAL.822
PETACAL.823
PETACAL.824
PETACAL.825
PETACAL.826

c
CALL
c
c

IF

:
c

===

760

770

780

790

800

810

320
830

CAVOVO

NEcESsARy.
SET

PETA

DETERMINE
IN

ADUACENT

PRESSURES
FULL

PR FOR VOID

CELL

DO 830 LJ=i,dMAX
00 820 1=1, IMAX
NFF=NF(I.d)
IF (NFF. EO.O.OR.BETA(I,d)
.LT.O.0)
GO TO 820
IF (NFF.LE.5)
GO TO 760
P(I,J)=PR(NFF)
GO TO 820
L=I
M=d
GCI TO (770,780,790,800,820)
, NFF
L=I-l
tiMx=OELX(L)
OMIN=O. 5*(DMX+DELX(I)
)
AMN=AR(L.IJ)*R(L)
GO TO 810
L=I+l
DMX=OELX(L)
OMIN=O.5=(DMX+DELX(I)
)
AMN=AR(I.J)*R(I)
GO TO 810
M=d-1
OMX=OELY(M)
oMIN=o.5=(DMx+DELY(d)
)
AMN=AT(I,M)*RI(I)
GO TO 810
M=d+l
OMX=OELY(M)
OMIN=O.5*(DMX+OELY(J)
)
AMN=AT(I,u)*RI(I)
CONTINUE
IF (NF(L.M)
-GT.o.oR.AMN.LT.
EM6) GCI TO 820
BPO=l.O/PETA(
L.M)-BETA(
L,M)*(l.O-PETA(I
,d))*AMN/
1 (AC(L, M)*RI(I
))=DELT/(DMIN=OMX)/RHOF
PETA(L,M)=AMINI(
1.0/6PD.
l.98/OMG)
CONTINUE
CONTINUE
RETURN
END

subroutine
PLTPT (xONE, YONE,ICHAR.ISYM
*CALL.COMMON1
L
c +++ pLoT (oRAW)
A POINT
C *+
PROVIDES
A SYSTEM DEPENOANT CALL
L
IC=O
XI=XONE
v1=YONE
10 XOl=(X1-XMIN)
-SF+xSHFT
YOI=[YI
-YMIN)=SF+YSHFT
iX1.50.+920.o-XOl
IY1=50.+920.0-(
1.O-YO1
)
CALL PLT (IXI,
IYI,42)
IF (ABS(XI).LE.EM6)
GO TO 20
IF (IsYMPLT
.EO.O.OR.
ISYM. Eo.o)
Go To
IC=IC+I
IF (IC.GT.1)
GO TO 20
X1=-X1
GO TD 10
20 RETURN
ENO

20

REGIONS

NF

PETACAL.827
PETACAL.828
PETACAL.829
PETACAL.830
PETACAL.831
PETACAL.832
PETACAL.833
PETACAL.834
PETACAL.835
PETACAL.83E
PETACAL.837
PETACAL.838
PETAcAL.839
PETACAL.840
PETACAL.841
PETACAL.842
PETACAL.843
PETACAL.844
PETACAL.845
PETACAL.846
PETACAL.847
PETACAL.848
PETACAL.849
PETACAL.85CI
PETACAL.851
PETACAL.852
PETACAL.853
PETACAL.854
PETACAL.855
PETACAL.856
PETACAL.857
PETACAL.858
PETACAL.859
PETACAL.860
PETACAL.867
PETACAL.862
PETACAL.863
PETACAL.864
PETACAL.865
PETACAL.866
PETACAL.867
PETACAL.868
PETACAL.869
PETACAI..87O
PETACAL.871

PLTPT.2
PLTPT.3
PLTPT.4
PLT?T.5
PLTPT.6
PLTPT.7
PLTPT.8
PLTPT.9
PLTPT. 10
PLTPT. :1
PLTPT. 12
PLTDT. 13
PLTPT. 14
PLTPT.15
PLTPT.16
PLTPT. 17
PLTPT. 18
PLTPT. 19
PLTPT.20
PLTPT.2t
PLTPT.22
PLTPT.23

117

SUBROUTINE
PRESCR
*CALL,coMMoNl
c
CIMENSION
FF(IBAR2,
JEAR21.AF(16AR2
,JBAR2),VLM(
IBAR2.J6AR2
I AO(IBAR2.
JBAR2).00(
IBAR2. JBAR2),SSM(IBAR2
.JBAR21.
2 RXR(16AR2.
$JBAR2),RY.L( IBAR2,dBAR2).o(
IBA~2.JBAR2).
3 Ry7(IBAx2,~3AR2).RYB(
13t.R2,dBAR2)
.0P(IBAR2.JE3AR2)
L
DA7A ADEFM,8DEFM
/ 100.0,
0.70
/
OATA ITMAX. ITMIN.ITMOST
/ 500,
5, 90 /
OATA KTRAN / 1 /
c
THIS SUBROUTINE
MUST BE MOOIFIEO
FOR BOUNOARY CONDITIONS
c
OTHER THAN NORMAL VELOCITY
EQUAL TO ZERO
c
c
cio To (f,2),KTRAN
1 KTRAN=2
c
EPSIP=2.O=EPSI
EPSIM=O.5*EPSI
c
IF(NCYC.GT.1)
GO TO 2
00 750 J=I.JMAX
00 750 1=1. IMAX
IF(AC(I,
J):LT.EMF.OR
.BETA(I,d).
LE.O.0)
GO TO 740
NFF=NF(I,LJ)
IF(NFF.EO.0)
GO TO 750
IF(NFF.GT.5)
GO TO 730
L=I
M=d
Go ?o (723,724,725,726,728)
, NFF
723
724
725
726
727

;28

73o
733
736
740
745
750

),

L=I-l
GO TO 727
L=I+I
GO TO 727
M=d-1
GO TO 727
M-d+l
NFEL=NF(I-I,J)
NFER=N#(I+l,J)
NFEB=NF(I.J-1)
NFET=NF(I.J+l)
NFE=MAXO(NFEL,NFER.NFEB
,NFET)
PSURF=PS( I.J)+PR(NFE
)
PLM=P(L.M)
IF (NF(L,M)
.NE.O.ANO.BE7A(
I.J).GT.O.0)
pLM=pSURF
P(I.d)=(
i.O-PETA(
I.d))*PLM+pETA(
I,J)*PSURF
G9 TO 745
IF(PSAT.LE.O.0)
GO TO 736
IF(F(I.d).LT.EMFl
) GO TO 733
PMPSXO;O
IF(PN(I,d)
.LT.PSAT)
PMPS=P(I,J)-PSAT
DIU=ROX( I)*(AR(I.J)=R(
I)=U(I.J)-AR(
I-l,J)*R(
I-l)=U(I-l.J))+
1 RDY(d)=(AT(
I,J)=RI(I)*V(
I,d)-AT(
I.J-l)*RI(I)=v(
I.J-l))
OId=OId/(AC(
I,J)=RI(
I))-PMPS*2/DELT
P(I,J)=PN(
I,J)-DIJ*BETA(
1. J)/(1.O-2-0pMpS*5ETA(
I.U)/oELT)
GO TO 745
P(I,J)=PR(NFF)
GO TO 745
P(I.J)=PSAT
GO TO 745
P(I.J)=PN(I.J)
GO TO 745
P(I,J)=O.O
PN(I.J)=P(I,U)
CONTINUE

L
2 CONTINUE
c
OELTCR=OELT/RHOF
Cl=l.o
OD=l.O
LVEC=IMAX*dMAX
DO 150 J=l.LJMAX
DO 150 I=I:IMAX
IF(NF(I,
J).GT.O.OR.AC(
OId=ROX( I)=(AR(I.J)=R(
1 ROY(J) *(AT(I.
J)*RI(I)*V(
VLM(I,d)=AC(
I.d)*TPI=RI
D(I,LJ)=OIJ/(AC(
I,LJ)*RI

118

I,d).
LT.EMF.OR.BETA(I.
LJ).LE-o.o)
I)=U(I,J)-AR(I-I
,J)*R(I-l)*u(I-l
I. IJ)-AT( I,J-l)*RI(I)*V(
I.U-l))
(I )*OELX(I)*OELY(d)
(I))=VLM(I.d)

Go To
.J))+

140

PRESCR.2
PRESCR.3
PRESCR.4
PRESCU.5
PRESCR.6
PRESCR.7
PRESCR.8
PREiCR.5
PRESCR.1O
PRESCR.11
PRESCR.12
PRESCR.13
PRESCR.14
PRESCR.15
PRESCR. 16
PRESCR.17
PRESCR.18
PRESCR.19
PRESCR.20
PRESCR.21
PRESCR.22
PRESCR.23
PRESCR.24
PRESCl?.25
PRESCR.26
PRESCR.27
PRESCR.28
PRESCR.29
PRESCR.30
PRESCR.31
PRESCR.32
PRESCR.33
PRESCR.34
PRE5CR.35
PRESCR.36
PRESCR.37
PRESCR.38
PRESCR.39
PRESCR.40
PREscR.4~
PRESCR.42
PRESCR.43
PRESCR.44
PRESCR.45
PRESCR.46
PRESCR.47
PRESCR.48
PRE!jcR.49
PRESCR.50
PRESCR.51
PRESCR.52
PRESCR.53
PRESCR.54
PRESCR.55
PREsCR.56
PRESCR.57
PRESCR.58
PRESCR.59
PRESCR.60
PRESCR.61
PRESCR.62
PRESCR.63
PRESCR.64
PRESCR.65
PRESCR.66
PRESCR.67
PRESCR.68
PRESCR.69
PRESCR.70
PREscR.7~
PRESCR.72
PRESCR.73
PRESCR.74
PRESCR.75
PRESCR.76
PRESCR.77
PRESCR.78
PRESCR.79
PRESCR.80
PRESCR.81

IF(IDEFM.
D(Z.

EQ.O.OR.F(I

J)=D(I,J)+AMIN1

,J).GE.EMF1)
(AOEFM=EPSI

GG TO 5
.BDEFM={

l.O-F(I.J))/CELTl

CONTINUE
Sshl::,dl=o.o
RXR[ i.d\=C:.C
2XRt=0.@
kXRE=G.0
IF(AR(I,
J).LT.EM6)
G3 TO 10
RXRII.
J)=AR(I.J)=TPi
-R(I)*DELY(
J)_2.O/(DELX(
I )+DELX[I*l])
SSM(I,
J)=SSM( I.J)+DELTCR=RXR(
Id)
IF(NF(I+l.
d).EQ.o)
GO TO 10
IF(NF(I+I.
J).GT.5)
GO TO 9
IF(NF(I+l.
J).NE.1)
GO TO 8
RXRA=I 1.O-PETA(I+l,U)
)-RXR(I.J)
RXRB=(( l.O-PETA(I+I
,J))=PN(I,
J)+PETA(
1+1, JI=(PS(I+l,
J)+PSAT )1 PN(I+l,
J))*RXR(I.J)
GO TO 9
8 RXRB=(P( I+l,d)-PN(I+l
,J))=RXR(I,J)
9 RXR(I,LJ)=O.O
10 RXL(I,J)=O.O
RXLA=O.O
RXLB=O.O
IF(AR(II.J).LT.EM6)
GO TO 20
RXL(I,
J)=AR(I-I.J)*TPI
-R(I-l)
*OELY(d )=2.0/(OELX(
I)+OELX(I-1))
SSM(I.LJ)=SSM(I
.LI)+DELTCR=RXL(I
,d)
IF(NF(I1.LJ).EO.0)
GO TO 20
IF(NF(I-I.
J).GT.5)
GO TO 19
IF(NF(I-I.
J).NE.2)
GO TO 18
RXLA=(l.O-PETA(
I-l ,J))=RXL(I.U)
RxLB=((
~.O-PETA(I-l
,LJ))=PN( I.U1+PETA(I-1
,U)=(PS(
I-I,U)+PSAT)1 PN(I-!.
J))=RXL(I.J)
GO TO 19
18 RXLE=(O( I-I,LJ)-PN(Il,d))=RXL(I,d)
19 RXL(I.J)=O.O
20 RYT(I:J)=O.O
RYTA=O.O
RYT8=0.O
.EM6)
GOT030
IF(AT(I,d).LT
,u)*TPI*RI(I)-OE
::xjj)2.0/(oELY(d
)+oELY( d+l))
RYT(I,Ji=AT(I
I.J)+DELTCR=RYT(
SSM(I,J)=SSM(
EQ.0)
GO TO 30
IF(NF(I,J+i).
GT.5)
GO TO 29
IF(NF(I,d+4).
IF(NF(I.J+l)NE.3)
GO TO 28
RYTA=(l
;O-PkTA(I,ti+l
))*RyT(I,d)
RYTE=((I.O-PETA(I
,IJ+l))-PN(
I,J)+PETA(I
,J+l)=(PS(I,d+l
)+PSAT)1 PN(I.u+I
))*RYT(I,LJ)
GO TO 29
28 2YTB=(p(
!,J+l)-PN(I.LJ+l
))*RyT(I.IJ)
29 RYT(I,J)=o.o
30 RYE(I.d)=O,O
l?Y5A=0.O
RYBB=O.O
IF(AT(I,J1).LT.EM6)
GO TO 40
)*2.o/(DELY(LJ)+DELY(J-l
))
RYB(I,J)=AT(I
,IJ-I)*TPI-RI(I
)*DELX(:
SSM(Io J)=SSM( I,J)+DELTCR=RyB(
I.J)
IF(NF(I,d-l).
EO.0)
GO TO 40
IF(NF(I,J-1).GT.5)
GO TO 39
IF(NF(I.J-1).NE.4)
GO TO 38
RYBA=(I .O-PETA(I.JI))*RYB(I,J)
A(I,J-l)*(PS(I,
d-1 )+PSAT)RY6B=((
I.O-PETA(I,Jl))=PN(I,U)+PE
1 PN(I,
d-l ))*RYB(I,LI)
GO TO 39
38 RYBB=(P(I.d-I
)-PN(I,UI))*RYB(I$d)
39 RYB(I,J)=O.O
40 SSM(I,
J)=SSM( I,J)-DELTCR*
(RXRA+RXLA+RYTA+RyBA
)
D(I.J)=(D(
I.IJ)-OELTCR=(
RXRB+RXLB+RyT6+RyBB)
)/SSM( Id)
FF(I:~)=O;O
AF(I,J)=O.O
00(1.d)=O.O
AD(I.LJ)=O.O
OP(I,U)=O.O
GO TO 150
140
VLM(I,LJ)=l.O
D(I,J)=O.O
FF(I,J)=O.O
AF(I,J)=O.O
AD(I,U)=O.O

PREsCR.82
PRESCR.83
PP.ESCR.84
PRESCR.85
PRESCR.86
PR5SCR.67
PREscR.8e
pR5s~R.g9
PREscR.9@
PR5SCR.91
PRESCR.92
PRESCR.93
PRESCR.94
PRESCR.95
PRESCR.96
pp5scp.97
PRESCR.98
PRESCR.99
PRESCR.1OO
PRESCR. 101
PRESCR. 102
PRESCR. 103
PRESCR. 104
PRESCR. 105
PRESCR. 106
PRESCR. 107
PRESCR. 108
PRESCR. 109
PRESCR. I1O
PRESCR. 111
PRESCR. 112
PRESCR. 113
PRESCR. 114
PRESCR. 115
PRESCR. 116
PRESCR.117
PRESCR. 118
PREscR. f19
PRESCR. 120
PRESCR. 121
PRESCR. 122
PRESCR. 123
PRESCR. 124
PRESCR. 125
PRESCR. 126
PRESCR. 127
pREscR. 128
PRESCR. 129
PRESCR. 130
PRESCR. 131
PRESCR. 132
PRESCR. 133
PREscR. f34
PRESCR. 135
PRESCR.136
PRESCR. 137
PRESCR. 138
PRESCR. 139
PRESCR. 140
PRESCR. 141
PRESCR. 142
PRESCR. 143
PRESCR. 144
PRESCR. 145
PRESCR. 146
PRESCR. 147
PRESCR. 148
PRESCR. 149
PRESCR. 150
PRESCR. 151
PRESCR. 152
PRESCR. 153
PRESCR. 154
PRESCR. 155
PRESCR. 156
PRESCR. 157
PRESCR. 158
PRESCR. 159
PRESCR. 160
PRESCR. 161

150
c
200

OO(I,d)=O.O
SSM(I.J)=l.O
l?XR(I.J)=O.O
RXL(I,J)=O.O
RYT(I.J)=O.O
RYB(I.d)=O.O
DP(I,d)=O.O
CONTINUE

A=CIIOD
,DP,l)
CALL SAXPY(LVEC,A,FF.
I,D.1)
CALL SAXPY(LVEC.-A,00
DMAX=O.O
DO 350 d=l,dMAX
DO 350
1=1.IMAX
I. J).LT.
EMF.OR.BETA(
I.J).LE.O.0)
llR.AC
IF(NF(I,J).GT.O
M(I.U)=AC(I,
LJ)-TPI=RI
(I)
,J)/v
DIV=O(I,J)=SSM(:
ABS(OIV))
OMAX=AMAX1(OMAX
CONTINUE
350
IF(DMAX.LE.EPSI
) GO TO 500
DO 250 d=t,JMAX
00 250
I=l,IMAX
OR.AC(I
.J).LT.EMF.OR
.BETA(I.
J).LE.O.0)
IF(NF(I.J).GT.O
RXR(I,J)*D(
I+l.IJ)+RXL(
I,LJ)*O(I-l,J)+
AD(I,~)=OELTCR=
I)+RYB(
I,J)=D(I,d-1
))-SSM(I,U)*D(I,d)
1 RYT(I,J)*D(I,U
GO TO 250
245 AO(I.LJ)=O.O
CONTINUE
250
C2=SOOT(LVEC.D,
l ,AO,l)
B=C2/Cl
DD=O.O
CALL SSSAL(LVEC,B,FF,
l)
CALL SAXPY(LVEC.
I. ,D, ,FF,I)
)
CALL SSCAL(LVEC.B.AF.
CALL SAXPY(LVEC,
l. ,AD l,AF,I)
00 450 J=I,JMAX
DO 450
I=I,IMAX
J)
OQ(I, J)=AF(I.J)/SSM(I
CONTINUE
450
)
DD=SD9T(LVEC.00.
1.AF.
CI=C2
ITER=ITER+
ITMAX)
GO TO 230
IF(ITER.GT
GO TO 200
ITMOST)
EPSI=I.05=EPSI
IF(ITER.GT
>Jo
ITMIN)
EPSI=0.95-EPSI
IF(ITER.LT
EPSI=AMINI
EPSI,EPSIP)
EPSI,EPSIM)
EPSI=AMAXI
L
c
c +++ UNFOLD PRESSURE
FOR INTERIOR
FLUID CELLS
c
00 510 d=l.dMAX
00 510
I=I;IMAX
IF(NF(I,
d).GT.O.OR.AC(
I,d).LT.
EMF.OR.BETA(I
,d).LE.O.0)
P(I.
d)=PN(I,J)+OP(I,
J)
510 CONTINUE
c
c +++ CALCULATE
PRESSURE CHANGES FOR SURFACE CELLS
c
00 550 d=l.tJMAX
00 550
1=1.IMAX
IF(AC(I,LJ)
:LT.EMF.OR.BETA(
I.IJ).LE.O.0)
GO TO 540
NFF=NF(I,J)
IF(NFF.EQ.0)
GO TO 550
IF(NFF.GT.5)
GO TO 530
L=I
M=J
NFF
GO TO (523.524.525,526,528)
523 L-I-I
GO TO 527
524 L=I+I
GO TO 527
525 Mx~-1
GO TO 527
526 MxJ+l
527 NFEL=NF(I-I.LI)
NFER=NF(I+l.d)
NFEB=NF(I,J-1)
NFET=NF(I,d+l)

120

D(I,J)=O.O

GO TO 245

GO TO 510

PRESCR. 162
PRESCR. 163
PREscR. 164
pRFscR. 165
PRESCR. 166
DREscR. le?
pREscR. j6e
pR5scR.169
PRESCR. 170
PRESCR. 171
PRESCR. 172
PRESCR. 173
PRESCR. 174
PRESCR. 175
PRESCR. 176
PRESCR. 177
PRESCR. 178
PRESCR.179
PRESCR. 180
PRESCR. 181
PRESCR.1B2
PRESCR. 183
pR5.5cR.j34
PRESCR. ;85
PRESCR.186
PRESCR. 187
PRESCR. 188
PRESCR. 189
PRESCR. 190
PRESCR. 191
PRESCR. 192
PRESCR. 193
PRESCR. 194
PRESCR. 195
PRESCR.196
PRESCR. 197
PRESCR. 198
PRESCR. 199
PRESCR.200
PRESCR.201
PRESCR.202
PRESCR.203
PRESCR.204
PRESCR.205
PRESCR.206
pREscR.207
PRESCR.208
Pi?ESCR.209
PRESCR.210
PRESCR.211
PRESCR.212
PRESCR.213
PRESCR.214
PRESCR.215
PRESCR.216
PRESCR.217
PREscR.218
PRESCR.219
PRESCR.220
PRESCR.221
PRESCR.222
PRESCR.223
PRESCR.224
PRESCR.225
PRESCR.226
PRESCR.227
PRESCR.228
PRESCR.229
PRESCR,230
PRESCR.231
PRESCR.232
PRESCR.233
PRESCR.234
PRESCR.235
PRESCR.236
PRESCR.237
PRESCR.238
PRESCR.239
PRESCR.240
PRESCR.241

528

530
533
536
540
550
c
c
c
c

NFE=MAXO(NFEL.NFER.NFEE
.NFET)
PSURF=PS( I,LJ)+PR(NFE
)
PLM=P(L,MI
IF (NF(L.
M) .NE.0.&NO.EETA(
I,d].GT.0.0)
PLM=PSURF
DP(I.LJ~=(
1.O-PETA(I,J)
)*PLM-PETA(
I,J)-PSURF
-PNII.JI
GD TO 550
I=(PSAT.LE.O.0)
GG T@ 536
IC(F(l$J).LT.~MFl
) Go TO 533
PMPS=C.G
IF(PN(I,
J).LT.PSAT)
PMPS=P(I,J)-PSAT
OILI=ROX(I)=(AR(I
.Ll)=RII)*u~I
,LI)-AR( I-!,LJ)=R(I-I
)=U(I-1.J))+
RDY(J)*(
AT(I,d)-RI(
I)=V(i.J)-AT(I.
J-l )*RI(I)=V(I.J-1))
DId=Dxd/(Ac(
I.J)=RI
(1 ))-pMps==2/OELT
DP(I,
J)=-OIJ*BETA(I,J
)/( 1.O-2.O=PMPS=BETA(I
,J)/DELT)
GO TO 550
OP(I. J)=PR(NFF)-PN(I
.J)
GO TO 550
DP(I.
J)=PSAT-PN(I,J)
GO TO 550
OP(I,U)=O.O
GO TO 550
DP(I,J)=O.O
CONTINUE
CALC
NOTE:

551
552
553
555

556
557
558
560
c
c +++
c

570

NEW VELOCITIES
CONSISTENT
YIELOS
0=0.0
FOR INTERIOR

WITH SURFACE PRESSURE ASSUMPTIONS


CELLS ADdACENT TO SURFACE CELLS

00 560 tJ=2,dMl
00 560 1=2.IMI
IF(AC(I,
J):LT.EMF.OR
.BETA(I,
d).LE.O.0)
GO TO 560
IF(AR(I.
J).LT.EM6)
GO TO 555
IF(NF(I,
J).EO.O.ANO.NF
[1+1.J).Eo.0)
GO TO 551
IF(NF(I,d)
.EQ.O.ANi3.
NF(I+l;J).NE.
1) GO TO 552
IF(NF(I
.LJ).NE.2.ANO.
NF(I+I,U).E().0)
GO TO 553
U(I, J)=U(I,J)+DELTCR*(OP(
I,J)-DP(
I+l,J))*2.o/(oELx(
I)+DELX(I+l))
GO TO 555
u(I,
LJ)=u(I,
J)+DELTcR*DP(
I,J)*2.0/(DELX(
I)+DELX(
1+1))
GO TO 555
U(I, J)=U(I.d)+OELTCR=
(-DP(I+l,
IJ))*2./(DELx(
I)+OELX(I+I))
G9 TO 555
IF(AT(I,
dJ.LT.EM6)
GO TO 560
IF(NC(I,
J).EO.O.ANO.
NF(I.U+I).EQ.0)
GO TO 556
IF(NF(I,
J).EQ.O.ANO.
NF(I.d+l).NE.3)
GO TO 557
IF(NF(I,
LJ).NE.4.ANO.NF(
I.J+l).EQ.0)
GO TO 558
)*2.O/(DELY(U)+DELY(d+
V(I, J)=V(I,
d)+OELTCR*(
DP(I,J)-DP(I,U+I
GO TO 560
v(I.
J)=V(I,J)+DELTCR*DP(
I, J)*2.O/(OELY(LJ)+DELY(
LI+l))
GO TO 560
V(I,j)=V(
I,J)+OELTCR*(
-DP(I,U+1))*2
/(DELY(
d)+13ELY(d+t))
CONTINUE
PUT

IN

PRESSURES

FOR SURFACE

DO 570 J=l,dMAX
DO 570 1=1.IMAX
IF(AC(I,d)
:LT.EMF.OR
.BETA(I,
IF(NF(I,J).EO.0)
GO TO 570
P(I,
d)=PN(I,
d)+DP(I,J)
CONTINUE

CELLS,

d).LE.O.0)

ISOLATED

GO TO

c
CALL

BC

c
230

RETURN
CONTINUE
WRITE (59,240)
wRITE
(12,240)
WRITE (6,240)
CALL EXITLDC

NCYC
NCYC
NCYC
(6HP 17ER)

c
240

FoRMAT
ENO

(IX,29HT00

MANY CR

ITERATIONS.

cYcLE,17)

CELLS,

570

VOIDS

1))

PRE5CR.242
PRESCR.243
PRESCR.244
PRESCR.245
PRESCR.246
PRESC,?.2L7
PRESCR.249
PRESCR.249
pREscR.~50
PRESCR.254
PRESCR.252
PRESCR.253
PRESCR.254
PRESCR.255
PRESCR.256
PRESCR.257
PRESCR.25e
PRESCR.259
PRESCR.260
PRESCR.261
PRESCR.262
PRESCR.263
PRESCR.264
PRESCR.265
PRESCR.266
PRESCR.267
PRESCR.268
PRESCR.269
PREsCR.270
PRESCR.271
PRESCR.272
PRESCR.273
PRESCR.274
PRESCR.275
PRESCR.276
PRESCR.277
PRESCR.278
PRESCR.279
PRESCR.280
PRESCR.281
PRESCR.282
PRESCR.283
PRESCR.284
PRESCR.285
PRESC2.286
PRESCR.287
PRESCR.288
PRESCR.289
PREsCR.290
PRESCR.291
PRESCR.292
PREsCR.293
PRESCR.294
PRESCR.295
PRESCR.296
PRESCR.297
PRESCR.298
PRESCR.299
PRE5CR.300
PRESCR.301
pR5scR-3~~
PRESCR.303
PRESCR.3Q4
PRESCR.305
PRESCR.306
PRESCR.307
PRESCR.308
PRESCR.309
PRE!5CR.310
PRESCR.311
PREsCR.312

SUBROUTINE
PRESIT
=CALL,COMMON1
DATA ITMAX /1000/
c
c ++*
PRESSURE ITERATIOF;
c
c +4.+
TEST OR CONVERGENCE
P
.

10

20
c
c +++
c

IC (FLG.Ec.o.
) GO TO 160
ITER=ITER~l
IF (ITER.LT.ITMAXI
GO TO 20
FNOC=I.O
NOCON=NOCON+I
WRITE
(12,170)
NCYC,T.NOCON
WRITE (59.1701
NCYC.T,NOCON
GO TO 160
FLG=o.O
COMPUTE
00
00
IF
IF
IF

c
c +++
c

30

40
50
60
70

100

UPDATEO

CELL

PRESSURE

ANO VELOCITIES

150 J=JPB,JPT
150 I=IPL.IPR
(BETAII.U).
LT.O.0)
GO TO 150
(NF(I,d).GT.5)
GO TO 150
(NF(I.J).EO.0)
GO TO 100

CALCULATE

PRESSURE

FOR SURFACE

CELLS

NFF=NF(I,J)
L=I
.
M=IJ
GO TO (50,60,70,80.30),
NFF
IF (PSAT.LE.O.0)
Ga T5 150
IF (F(I,J).LT.EMFI)
GO TO 40
PMPS=O.O
IF (P(I,d).LT.pSAT)
PMPS=P(I,d)-PSAT
OIIJ=ROX( I)-(AR(I,J)=R(
I)*U(I.
IJ)-AR(I-I,IJ)=R(
I-I)*U(I-l,J))+
1 ROY(J)*
(AT(I,IJ)=RI(I)*V(
I.J)-AT(
I,LJ-l)=RI(I)=V(
I,J-l))
DILl=DIJ/(AC(
I,d)=RI
(1 ))-PMPS*-2/OELT
DELp=-oId-BETA(
I,U)/(
f-o-2.0*pMp5xBETA(
I.d)/DELT
)
GO TO 110
OELP=PSAT-P(I,J)
GO TO 110
L=I-l
GO TO 90
L=I+I
GO TO 90
M=J-l
GO TD 90
M=LJ+I
CONTINUE
NFEL=NF(I-I,J)
NFER=NF(I+l,d)
NFEB=NF(I.J-I
)
NFET=NF(I,J+I)
NFE=MAXO(NFEL,NFER,NFE13
.NFET)
PSURF=PS( I,d)+PR(NFE)
PLM=P(L.M)
IF (NF(L.M)
.NE.o.ANO.BETA(
I.u).GT.o.0)
PLM=PSURF
DELP=(I
.O-PETA(I.LJ)
)*PLM+PETA(
I.d)=PSURF-P(
I.J)
GO TO 110
CONTINUE
DIu=RDX(
I)=(AR(I.J)*R(
I)=U(I.
J)-AR(I-l,J)=R(
I-l )~U(I-l,d))+
1 RDY(J)=(AT(
I,J)=RI(I)*V(
I,d)-AT(
I.J-l)*RI(I)*v(
I,d-l))
OIJ=DId/(AC(
I,IJ)*RI(I
))

c
IF(IDEFM.EO.O.OR.

F(I,

tJ).GE.EMFl)

GO TO 5

c
DIJ=OIU+AMINI(

AOEFM*EPSI

,BOEFM*(

c
5 CONTINUE
c
c +++ SET FLAG INDICATING
CONVERGENCE
c
IF (ABS(OId).GE.
EPSI)
FLG=I.O
DELP=-EETA(I
,J)*OIJ*PETA(I,J)
110 CONTINUE
P(I,
d)=P(I.J)+OELP
OPDT=2.O=DELT=OELP
IF (AR(I,J).LT-EM6)
GO TO t20

122

l.O-F(I.d))/OELT

PRESIT.2
PRESIT.3
pR~~IT.4
PRESIT.5
pR~slT.6
PRESIT.7
PRESI?.E
PQESIT.9
PRESIT.10
PRESIT.11
PRESIT.12
PRESIT.13
PRESIT.14
PRESIT.15
PRESIT.
16
PRESIT.17
PRESIT.18
PRESIT.19
PRESIT.20
PRESIT.21
PRESIT.22
PRESIT.23
PRESIT.24
PRESIT.25
PRESIT.26
PRESIT.27
PRESIT.28
PRESIT.29
PRESIT.30
PRESIT.31
PRESIT.32
PRESIT.33
PRESIT.34
PRESIT.35
PRESIT.36
PRESIT.37
PRESIT.38
PRESIT.39
PRESIT.40
PRESIT,41
PRESIT.42
PRESIT.43
PRESIT.44
PRESIT.45
PRESIT.46
PRESIT.47
PRESIT.48
PRESIT.49
PRESIT.50
PRESIT.51
PRESIT.52
PRESIT.53
PRESIT.54
PRESIT.55
PRESIT.56
PRESIT.57
PRESIT.58
PRESIT.59
PRESIT.60
PRESIT.61
PRESIT.62
PRESIT.63
PRESIT.64
PRESIT.65
PRESIT.66
PRESIT.67
PRESIT.68
PRESIT.69
PRESIT.70
PRESIT.71
PRESIT.72
PRESIT.73
PRESIT.74
PRESIT.75
PRESIT.76
PRESIT.77
PRESIT.78
PRESIT.79
PRESIT.80
PRESIT.81

120

130
14(j

150

160

RHOXR=RHOF*(DELX(
I+I ~+DELX(I))
U(I. J)=U(I,
Jl+DPOT/RHOXR
IF (AR(I-I.
J).LT.EM6J
GO TO 130
RHCXL=RHOF=(OELXI
I I+DELx(I-l
1)
U(I-1.U)=U(
I- 1.Jl-DPCT/Ri+OY.L
IF (LT(I.d\.LT.EM6)
GO TC 140
RHOYT=RH9F- IOELYILJ- 1 I+2ELV[J))
V( I .~lJ=V{I.JJ+DpCT
lRHO}T
IF (AT(I.J-11.LT.EM6
! GO 70 :50
RH9YB=RHCF- (OELY(J)+OELY(
d-l ))
V(x,u-1
)=v(I,d11-oPDT/R!ioYe
CONTINUE
CALL EC
GO TO 10
CONTINUE
RETURN

c
170

FORMAT
1 .7,1x,
END

(IX,35HPRESIT
12,7HTH
TIME)

CONVERGENCE

FAILURE

ON CYCLE,

17,1X,2HT=,1PE

15

SUBROUTINEPRTPLT
(N]
=CALL,COMMON1
FVOL=O.
YCFL=l.E759
DO 10 d=2.LJMl
~F (F(2.di.LE.
1.-EM6.ANO.F(2,J)
.GE.EM6)
YCFL=Y(LJ- l)+F(2.d)r
(Y(d)-v
4 i,l-f)}
1~-(y~~L.GT.
1. E+9e. AND.F(2.Jj.LE
.EM6!
YCCL=Y(d-l)
DO 10 1=2.IM1
FVOL=FVOL*F(
I.J)=AC(
I.U)-TPI
*RI(I)*(R(I
)-R(I-i
))-[Y(LJ)-V(d:))
10 CONTINUE
c
c +++ PRINT
ANO PLOT
c +++ PROVIOES
FDRMATTED WRITES TO PAPER AND FILM
c
GO TO (20,120,140,200)
, N
c
c +++ PRTPLT
(1)
WRITE OUT INITIAL
OATA ANO MESH OATA
c
20 WRITE (6,290)
WRITE (6.300)
NAME
WRITE (6,340)
IBAR, dBAR.DELT,XNU,
ICYL ,EPSI,GX,GY
.Ul,VI.VELMx.TWFIN
1 .PRTOT, PLTOT.OMG.ALPHA
.KL,KR.KT,KB,
IMOVY.AUTOT
,FLHT, PSAT, ISYMPLT
2 ,SIGMA, ISURFIO,CANGLE
,RHOF
IF (IMOVY.GT.0)
GO TO 70
WRITE (12,290)
WRITE (12.300)
NAME
WRITE (12,340)
IBAR,J6AR,0ELT,XNU,
ICYL, EPSI,GX,GY,UI.VI
.VELMX
1 .TWFIN.PRTDT,
PLTDT,OMG, ALPHA,KL,KR,KT,K6
.IMOVY ,AUTOT,FLHT,PSAT
2 ,ISYMPLT,
SIGMA,ISURFIO.
CANGLE,RHOF
c
c +++ WRITE ON FILM VARIABLE
MESH INPUT DATA
c
NKX
WRITE (12.370)
00 30 I=I,NKX
,XC(I),XL(
I+I),NXL(I)
,NXR 1).DXMN(I)
WRITE (12,380)
I,XL(I:
30 CDNTINUE
NKY
WRITE (12,400)
DO 40 I=l,NKY
1).DYMN(I)
,YC(I).YL(
I+I).NYL(I
).NYR
WRITE (12,390)
I,YL(I
40 CONTINUE
NOBS
WRITE (12,440)
IF (NOBS.LE.0)
GO TO 60
00 50 I=l,NOBS
I),OCI(I),IOF!(I)
WRITE (12,450)
1.0A2(I
),0AI(I).082(1
).0BI(I),0C2
50 CONTINUE
GO COrJTINUE
70 CONTINUE
c
c +++ PRINT VARIABLE
MESH INPUT DATA
c
IUKX
WRITE (6,370)
00 80 1=1.NKX
WRITE (6,380)
I,XL(I),XC(I)
,XL(I+I
).NXL(I).NXR(I)
.DXMN(I)
80 CONTINUE
IUKY
WRITE (6.400)
00 90 1=1.NKY
I,YL(I),
YC(I),YL(I+I
),NYL(I
)._NYR(I),oyMN(I
)
WRITE (6,390)

PRESIT.82
pR~sI~.83
PRESIT.84
PRESiT.E5
PRESIT.86
PRESIT.87
P!ZESIT.8e
PRESiT.89
PRESIT.50
PRESIT.91
PRESIT.92
pREsiT.93
PRESXT.94
PRE51T.95
PRESIT.96
PRESIT.97
PRESIT.98
PRESIT.99
PRESIT.
100
PRESIT.1OI

PRTPLT.2
PRTPLT.3
PRTPLT.4
PRTPLT.5
PRTPLT.6
PRTPLT.~
pR)p~l,8
PRTPL?.9
PRTPLT. 10
PRT~LT. 11
PRTPL7.12
PRTPLT.13
PRTPLT. 14
PRTPLT.15
PRTPLT.16
PRTPLT. 17
PRTPLT. 18
PRTPLT. 19
PRTPLT.20
PRTPLT.21
PRTPLT.22
PRTPLT.23
PRTPLT.24
PRTPLT.25
PRTPLT.26
PRTPLT.27
PRTPLT.28
PRTPLT.29
PRTPLT.30
PRTPLT.31
PRTPLT.32
PRTPLT.33
PRTPLT.34
PRTPLT.35
PRTPLT.36
PRTPLT.37
PRTPLT.38
PRTPLT.39
PRTPLT.40
PRTPLT.41
PRTPLT.42
PRTPLT.43
PRTPLT.44
PRTPLT.45
PRTPLT.46
PRTPLT.47
PRTPLT.48
PRTPLT.49
PRTPLT.50
PRTPLT.51
PRTPLT.52
PRTPLT.53
PRTPLT.54
PRTPLT.55
PRTPLT.56
PRTPLT.57
PRTPLT.58
PRTPLT.59

123

90

100
110
r
c
c

CONTINUE
WRIT,E (6,440)
NOES
IF (NOBS.LE.0)
GO To
00 100 I=l,NOBS
WRITE (6,450)
I,0A2(I
CONTINUE
CONTINUE
GO TO 240

110
),0AI(I)OOB2(I)

+++

PRTPLT

120

CONTINUE
FORCE=O.O
WRITE (6,330)
ITER.T,OELT,NCYC,VCHGT
IF (IMOVY.EO.1)
GO TO 130
IF (T.GT.o.
) GO TO 130
WRITE (12.330)
ITER,T,OELT,NCYC,VCHGT
CONTINUE
GO TO 240

130
c
c +++
c
140

150

160

170

180

1B5
190
c
c +++
c
200

210

124

PRTPLT

(2)

(3)

WRITE

WRITE

TIME

FIELD

STEP,

,0BI(I),0C2(

CYCLE

VARIABLES

I),0CI(I),

IOH(I)

INFORMATION

,FORCE

,FORCE

TO FILM

IF (IMOVY.EO.1)
GO TO 190
CALL AOV (1)
WRITE
(12,360)
NAME
WRITE
(12.S30)
ITER,T,OELT.NCYC.
VCHGT ,FORCE
WRITE (12.350)
WRITE (12,410)
NREG
WRITE
(,2.420)
KNR=NREG+5
DO 150 K=6.KNR
WR:TE (:2.430)
K,VOL(K).PR(K)
CONTINJE
WRITE
~12,260)
FVOL.NCYC,YCFL
wRITE
(l2,3IO)
.
00 170 I=l,IMAX
DO 170 d=l.JMAX
DId=O.
IF (d. EO. l.OR.I.EO.
l.OR .d. EO. JMAX.OR. I.EO.IMAX
) GO TO 160
DIU=RDXII)=(AR(I.
d )=R(I)=U(
I.J)-AR(II.LJ)=R(I-I
)-U(I-I,J))+
1 ROY(d)=(
AT(I,J)*RI(I
)=V(I,
J)-AT(I,J-I)=RI
(I)=VII,J-1))
IF (Ac(I.d).GT.o-o)
DIJ=OIJ/(AC(
I,d)*RI(I
))
CONTINUE
WRITE
(12,320)
I,J,U(I,J).V(I,d),P(I,
J),OId,PS(I,J),F(I,d),NF
1 .PETA(I,J)
CONTINUE
WRITE
(12,270)
NCYC,T,OELT,
(I.1=2,
IMAX,2)
00 180 ddd=l,JMAX
J=JMAX+l-JJJ
1=1.IMAX)
WRITE
(12.280)
d, NF(I,J)
CONTINUE
WRITE
(12,275)
NC C.T,DEL.(I.1=2.IMAX.2)
00 185 ddd=l,dMAX
U=JMAX+I-JJU
1=1. IMAX)
WRITE
(12.2S0)
d, NW(I,d)
CONTINUE
CONTINUE
GO TO 240
PRTPLT

(4)

WRITE

FIELO

VARIABLES

TO PAPER

WRITE
(6.290)
WRITE
(6:360)
NAME
WRITE
(6,330)
ITER,T,OELT,NCYC,VCHGT
WRITE
(6.350)
WRITE
(6.410)
NREG
WRITE
(6,420)
KNR=NREG+5
00 210 K=6,KNR
WRITE
(6,430)
K.VCL(KI,PR(K)
CONTINUE
WRITE
(6,260)
FVOL,NCYC.YCFL
WRITE
(6,350)
kRITE
(6,310)
00 230 I=I,IMAX
DO 230 d=l,LJMAX
DId=O.
IF (J.EO.
I.OR.I.EO.
I .OR. J.EO.JMAX.OR.I
OIU=RDX( I)=(AR(I.J)*R(
I)*U(I.LJ)-AR(I-I

.EO.IMAX)
,J)*R(I-

GO TO 220
l)*U(I-l,IJ)
)+

(I,J)

PRTPLT.6CI
PRTPLT.61
PRTPLT.62
PRTPLT.63
PRTPLT.64
PRTPLT.65
PRTPLT.66
PRTPLT.67
PR-rPLT.68
PRTPLT.69
PRTPLT.70
PRTPLT.71
PRTPLT.72
PRTPLT.73
PRTPLT.74
PRTPLT.75
PRTPLT.76
PRTPLT.77
PRTPLT.78
PRTPLT.79
PRTPLT.80
PRTPLT.81
PRTPLT.E2
PRTPLT.83
PRTPLT.84
PRTPLT.85
PRTPLT.86
PR7PLr.87
PRTPLT.E8
PRTPLT.8E
PRTPLT.90
PRTPLT.91
PRTPLT.92
PRTPLT.93
PRTPLT.94
PRTPLT.95
PRTPLT.96
PRTPLT.97
PRTPLT.98
PRTPLT.99
I
PRTPLT.
100
IPRTPLT. 101
PRTPLT. 102
PRTPLT.103
PRTPLT. 104
PRTPLT. 105
PRTPLT. 106
PRTPLT. 107
PRTPLT. 108
PRTPLT. IG9
PRTPLT. I1O
PRTPLT. 111
PRTPLT. 112
PRTPLT. 113
PRTPLT. 114
PRTPLT. 115
PRTPLT. 116
PRTPLT. 117
PRTPLT. 118
PRTPLT. 119
PRTPLT. 120
PRTPLT. 121
PRTPLT. 122
PRTPLT. 123
PRTPLT. 124
PRTPLT. 125
PRTPLT. 126
PRTPLT. 127
PRTPLT. 128
PRTPLT. 129
PRTPLT. 130
PRTPLT. 131
PRTPLT. 132
PRTPLT. 133
PRTPLT. 134
PRTPLT. 135
PRTPLT. 136
PRTPLT. 137
PRTPLT. 138

1 RDY(J)=
IF (AC(I
220 CONTINUE
WRITE (6
,PETA(I
2301CONTINUE
240 RETURN

AT(I,U)*RI(I)=V(I,J)
-AT(I,J-l)*RI(I)*v(I,
J).GT.O.0)
OId=DId/(AC(
I,d)*RI(I
))
320)
J)

I,U,

U(I,

J),V(I,IJ),P(I,

J),OIJ,PS(

J-1))

I,J),F(I,d)

,NF(I,LJ)

c
250
260
270
275
280
290
300
310
320
330
340

FORMAT (IX,5HT(F)=,
IPE14.6.2X.8HON
CYCLE,16)
FORMAT (ix,
14HFLu10
vOLuME =, IPE14.6,9H
ON CYCLE, 16,2X,
15HYCENT OF
1 FLuID=,E14.6)
FORMAT (IHI,
IX,43HNF
FIELo
(INcL.
FICTITIOUS
CELLS)
FOR CYCLE.16,2
1 X.2HT=,
IPE14.7,2X,5HOELT=
.E12.5//5X,32I4)
FORMAT (IH1,1X,43HNW
FIELO
(INCL.
FICTITIOUS
CELLS)
FOR CYCLE.16.2
1 X,2HT=,
IPE14.7,2X,5HDELT=
.E12.5//5X,32I4)
FORMAT [IX, 13.1X,6312/(5X06312
))
FORMAT (lH1)
FORMAT (1OA8)
FoRMAT (4XOIHI,5X,
IHU,9X,
IHU ,14x,
1HV,15X,1HP,15X,
IHO.
2X,2HPS,13X,
1 IHF,11X,2HNF,9X,4HPETA
)
FOQMAT (2x. 13.3x.
13,6(3x,
IPE f2.5),3x,
13,3xsE12.5)
FORMAT (6x,6HITER=
,15,5x,6HTIME=
,1PE12.
5,5x.6HDELT=
.IPE12.5,5X,
1 7HCYCLE=
,16,2X,7HVCHGT=
.IPE12.5,2X,4HFY=
.E12.5)

FORMAT (IH
,5X,6HIBAR=
,13/6X,6HLJBAR=
.13/6X.6HDELT=
,1PE12.518X,4
. 12/6X,6HEPSI=
1 HNU= ,E12.5/6x.6HIcyL=
.E12.518X.4HGX=
.E12.518X,4
El~.5/8~,4~lJI=
2 HGY=
,E12.5/5X.7HVELMX=
,E12.5/5X
,E:2.5/SX,4HVI=
~ ,7HTW;IN=
E12.5/5X.7HPRTDT=
,E12.515X,7HPLTDT=
,E12.5;7X.5H3MG=
+HALpHA=
.E12.5/8X.4HKL=
,1~/8X,4HKR=
,1~~8X.4HKT=
4 .~;2.5/5X,
12/
5 8.L,4HKB=
.12/5X,7HIMOVY=
.12/5X,7hAUTOT=
,E:2.5!C$X.6iiFLHT=
.Ei2.5
6 EA,6H?SAT=
E12.5/3X,
9HISYMPLT=
;2/5X,7HSIGMA=
.E12.5/3X.9HISUR
~c~~=
. 12/4X.81iCANGLE=
.E12.5;7X.6HRH3F=
,E12.5/)
350 FCRMA? (lHO)
, 18x, IOAS. IX.A10,2(
1X, A8))
360 F02MAT (IH
370 FORMAT (2X.5HNKX=
.14)
380 FORMAT (2X,8HMESH-X=
,14.3X.4HXL=
,IPE12.5,3X,4FIXC=
,E12.5,3X,4HXR
,E12.5,3X,5HNXL=
14,3X.5HNXR=
,14,3X.6HOXMN=
.E12.5)
,1PE12.5.3X,4HYC=
,E12.5,3X,4HYR
,14.3X,4HYL=
3901~ORMAT
(2X,8HMESH-Y~
1= ,E12.5.3X,5HNYL=
,14,3X.5HNYR=
,14,3X,6HOYMN=
.E12.5)
400 FORMAT (2X,5HNKY=
41O FORMAT (2X,6HNREG=1%
420 FORMAT (15X, 1HK,6X.6HVOL(K)
.9X .5HPR(K))
430 FORMAT (13X, 13,2X.
IPE12.5,3X,
E12.5)
440 FORMAT (2X,6HNOBS=
12)
450 FORMAT (2X.2HI=,
12,~X.4HOA2=
, IPE12.5,
2X,4HOAI=,E
12.5,2X,5HOB2=
.E12.5,2X,5HOCI=
.E12.5.2X.5HI0
,E12.5,2X,5HOBI=
,E12.5.2X,5HOC2=
~H= ,12)
ENO

PRTPL1 .139
PRTPLT. 140
PRTPLT. 141
PRT?LT; 142
PRTPLT. 143
PRTPLT. !44
PRTPLT. 145
PRTPLT. 146
PRTPLT. 147
PRTPLT. 148
PRTPLT. 149
PRTPLT. 150
PRTPLT. 151
PRTPLT. 152
PRTPLT. 153
PRTPLT. 154
PRTPLT. 155
PRTPLT ~56
157
PRTPLT
158
PRTPLT
159
PRTPLT
160
PRTPLT
PRTPLT J61
PRTPLT. 162
PRTPLT. 163
PRTPLT. 164
PRT?LT. 165
PRTPLT. 166
PRTPLT. 167
PRTDLT. 168
PRTPLT .169
PRTPLT.17Q
PRTPLT. 171
PR7PLT. 172
PRTPLT. 173
PRTPLT. 174
PRTPLT. 175
PRTPLT. 176
PRTPLT. 177
PRTPLT. 178
DRTPLT. 179
PRTPLT. 180
PRTPLT. 181
PRTPLT. 182
PRTPLT. 183
PRTPLT. 184
PRTPLT. 185

125

SUBROUTINE
SETUP
=CALL.COMMONI
NAMELIST
/XPUT/
DELT. XNU,ICYL.EDSI
.GX.GY.UI
.VI,VELMX.TW=IN.
PRTDT
,PLTDT.OMG,
ALPHA,KL .KR,KT.K3,
1MOVY.AUTOT .FLHT. DSAT, ISYM?LT ,SIGMA
: ,ISURFIO.CANGLE,
RHOF .iEOIC
CON.OTCRMX .IOI\
3 .NAME,NOUMP, OVOL.lSOR .IOEFM,NPACK.
NAMELIST
/MSHSET/
NKX.XL. XC.NXL.NXR,OXVN
.NKY. YL.YC.NYL.NY.?.
9YMN
NAMELIST
lASETiN
I luOES,0A2.OL:
.022.oFl.ac2.oZl.
ICk
c +++
c +++ INITIALIZE
SELECTEEI VARIABLES
c +++
OATA T !0./,
ITER /0/.
FLGC /0./.
FNOC /0./.
NCYC /0/.
NFLGc /0/.
1 NOCON /0/.
TWPLT /0./.
TWPRT /0./.
VCHGT /0./,
NEOUIB /501/
DATA ISOR. IOEFM.NPACK;NOUMP
.NOBS.OVOL
/ O. 0. 0. 0. 0. 0.0
/
DATA CON,6TCRMX;IOIV
j 0.30:
0.00i,
1 )
c +++
c +++ REAO INITIAL
INPUT OATA
c +++
READ (5,XPUT)
WRITE( 12,330)
NAME
WRITE( 12,360)
NOUMP, OVOL
WRITE( 12,320)
ISOR,IOEFM
REAO (5,MSHSET)
00 30 K=l,NOBO
OA2(K)=0.
OAI(K)=O.
OB2(K)=0.
OB1(K)=O.
.
OC2(K)=0.
OC1(K)=O.
30 CONTINUE
READ (5.ASETIN)
c +++
c +++ IF THE DUMP SEOUENCE NUMBER IS GREATER THAN ZERO, REAO A RESTART
c +++ OUMP ANO SKIP THE REST OF THE SETUP ROUTINE.
c +++
IF (NOUMp.LE.0)
Go To 40
CALL TAPIN
GO TO 290
40 CONTINUE
CALL MESHSET
c
c +++ COMPUTE CONSTANT TERMS ANO INITIALIZE
NECESSARY VARIABLES
.-.
c ++.? SET PARAMETER STATEMENT VALUE INTO CONSTANT
c
NOUM?=l
IF(ICYL.Eo.0)
TPI=I.O
CYL=FLOAT(ICYL)
EMFI=I.O-EMF
IF (CANGLE.EO.90.0)
CANGLE=CANGLE-EM6
OANGLE=CANGLE
CANGLE=CANGLE=RPD
IF (CON=l.3.
LE.FCVLIM)
GO TO 50
WRITE (12.380)
CON,FCVLIM
WRITE (59,380)
CON,FCVLIM
FCVLIM=l.3*CON
50 CONTINUE
BONO=1.E+1OO
IF (SIGMA.GT.O.
) BONO=RHOF~GY*X( IMl)*=2/SIGMA
WRITE (59.390)
BOND
WRITE (12,390)
BOND
IPL=2
IF (KL.EO.5)
1PL=3
IPR=IMI
IF (KR.EO.5)
IPR=IBAR
dPB=2
IF (KB.EO.5)
JPB=3
dPT=dMl
IF (KT.EO.5)
JPT=d8AR
c
c +++ SET CONSTANT TERMS FOR PLOTTING
c
XMIN=X(I)
XMAX=X(IM1)
IF (IsYMpLT.GT.0)
xMIN=-xMAX
YMIN=Y(l)
YMAX=Y(dMl)
DI=XMAX-XMIN
D2=YMAX-YMIN

126

SETUP.2
SETUP.3
SETUP.4
SE7U?.5
SETUP.6
SETU?.7
SETUP.8
SETU?.9
SETU?.10
sETup.11
SETUP.12
SETLJP.13
SETUP.14
SETUP.15
SETUP. 16
SETUP.17
SETUP 18
SETUP 19
SETUP
SETUP ;?
SETUP 22
SETUP 23
SETUP 24
SETUP 25
SETUP.26
SETUP.27
SETUP.28
SETUP.29
SETUP.30
SETUF.3I
SETUP.32
SETUP.33
SETUP.34
SETUP.35
SETUP.36
SETUP.37
SETUP.38
SETUP.39
SETUP.40
SETUP.41
SETUP.42
SETUP.43
SETUP.44
SETUP.45
SETUP.46
SETUP-47
SETUP.48
SETUP.49
SETUP.50
SETUP.51
SETUP.52
SETUP.53
SETUP.54
SETUP.55
SETUP.56
SETUP-57
SETUP.58
SETUP.59
SETUP.60
SETUP-61
SETUP.62
SETUP-63
SETUP.64
SETUP-65
s~Tup.66
SETUP.67
SETUP.68
SETUP-69
SETUP.70
SETUP.7;
SETUP.72
SETUP.73
SETUP-74
SETUP.75
SETUP.76
SETUP.77
SETUP.78
SETUP.79
SETUP.80
SETUP.81

D3=AMAx1(DI,D2)
sc.q.o,l~3
XSHFT=O.5-(
l.@-Dl-sc)
~sH!=T=o.5-(
1 .0-!22.s;)
c,Y#,IN=Eplc
DC 60 1=2.IM:
63 CX~IN=AMINl(3ELX(
I],DXMIN)
DJMIN=E=1O
50 70 1=2.JM:
7(3 DYVIN=AMINI(DELY(
1).DYMIN)
VELMX1=AMIN1
[DXMIN, DYMIN)/VELMX
00 80 1=1. IMAX
DO 80 LJ=l.IJMAX
BETA(I,d)=O.O
AC(I,d)=l.O
AR(I .LJ)=l.O
A7(~l~)=l
80 CDNTINUE
c +++
c +++
SET SPEC A+ A VALUES FOR OBSTACLES AND 8.C.
c +++
CALL ASET
c
c +++ DETERMINE
SLOPED BOUNOARY LOCATION
c
c +++ COMPUTE INITIAL
VOLUME FRAC ION FUNCTION
F IN CELLS
IF(IEOIC.LE.0)
GO TO 90
IF (NEOUIB+2.
LT.IBAR2=JBARZ
GO TO 90
WRITE (59,4oO)
NEOU18,1BAR2
JBAR2
WRITE (12,400)
NEOUIB, IBAR2 dBAR2
NEOU19=IBAR2=LJBAR2-2
WRITE (59,410)-NEIjUIB
WRITE ( 12,410)
NEOUIB
90 CON-INUE
IF (IEOIC.GT.0)
CALL EOUIB (U,V,NEOUIB,BONO,DANGLE
,CYL)
SFLHT=FLHT
DO 120 1=1, IMAX
00 110 J=2,JMAX
F(I,J)=l.O
IF (IEOIC.LE.@)
GO TO 100
LocK=FLoAT(NEou18-I
)*xI(I)/x(
IMI)+I.000DoI
LOCK=MINO(NEOUIB.
LOCK )
LOCK=MAXO(I,LOCK)
FLHT=SFLHT+U(
LOCK, I)=X(IMl)
100 CONTINUE
IF (FLHT.GT.Y(LJ-1
).ANO. FI%T.LT.Y(U))
F(I.J)=ROY(U)=(FLHT-Y(
IF (Y(J-1).GE.FLHT)
F(i,J)=O.O
110 CONTINUE
F(I,
l)=F(:.2)
120 CONTINUE
FLHT=SFLHT
c
c +++ GENERATE SPECIAL
f-FuNcTION
(FLuIO) CONFIGURATION
c
c +++ CALCULATE
:TVIS
ANO OTSFT
c
OS=I.OE+IO
OTVIS=l.OE+IO
OTSFT=I.OE+IO
DST=l.OEIO
00 130 I=2,1M1
00 130 d=2.dMl
OXSO=OELX(I
)--2
oYsa=oELY(d)*=2
ROSO=OXSO=OYSO/(OXSO+DYSO)
ROSO=ROSQ/( 3.O*XNU+l
.oE-60)
OTVIS=AMIN1
(OTVIS.RDSO)
DS=AMIN1(OELX(
I),OELY
(d).OS)
OSTX=OELX( I)=OELX(I)/(3
.O*OELY(d)=RDX(
I)+CYL )
DSTY=OELY( IJ)=DELY(J)/(
3.0*(DELX(
I)*RDY(J))**Z+CYL)
DST=AMINl
(DST.DsTX*OELX(
1).OSTY=DELX(I))
130 CONTINUE
SIGX=SIGMA
IF (SIGX.EO.O.0)
SIGX=EM1O
DTM=soRT( RHoF*osT/(sIGx*4
.0))
DTSFT=AMIN1
(OTSFT,OTM )
c
c +++ CALCULATE BETA(I,J)
FOR MESH
c
00 140 I=2,1M1

d-l))

SETIJP.82
SETUO.E3
SETUG.84
SETL~.85
SETU?.86
s~Tu?.E~
SE7UD.86
SETU~.g9
.
SETUD.90
SETUP.91
SETUP.92
SETUP.93
SETUP.94
SETUP.95
SETUP.96
SETUP.97
SETUP.98
SETUP.99
SETUP. 100
SETUP. 101
SETUP. 102
SETUP. 103
SETUP. 104
SETUP. 105
SETUP. 106
SETUP. 107
SETUP. 108
SETUP. 109
SETUP.11O
SETUP. 111
SETUP. 112
SETUP. 113
SETUP. 114
sETup. 115
SETUP. 116
SETUP. 117
SETUP. 118
SETUP. 119
SETUP. 120
SETUP. 121
sETup. 122
SETUP. 123
SETUP. 124
SETUP. 125
SETUP. 126
SETUP. 127
SETUP. 128
SETUP. 129
.SETUP. 130
SETUP. 131
SETUP. 132
SETUP. 133
SETUP. 134
SETUP. 135
SETUP. 136
SETUP. 137
SETUP.13B
SETUP. 139
SETUP. 140
SETUP. 141
SETUP. 142
SETUP. 143
SETUP. 144
SETUP. 145
SETUP. 146
SETUP. 147
SETUP. 148
SETUP. 149
SETUP. 150
SETUP. 151
SETUP. 152
SETUP. 153
SETUP. 154
SETUP. 155
SETUP. 156
SETUP. 157
SETUP. 158
SETUP. 159
SETUP. 160
SETUP. 161

127

DO 140 J=2,dMl
IF (AC(I.UI.LT.EM6)
GO TO 1~~
RHXR=QHOF-(OELX(
1+1 )+DELXII
11
I)+3ELX(i-1 ))
RHXL=RHOF-(9ELX(
QHYT=RHOF- [OELY(C*l
)-OELYIJ)
I
RHY6=Rr10F-(OELY(J
)+OELi(J-l
i 1
X<=OELT-2.0=(.?OX[
I I-[AR(
1-1 .J1-R(I-1
1 R2Y(u I=(A7(I.J)=RI!
i);RHyT4A~(
I.J-l
XX=XX, (AC(I,d)-Gi(I
~1
6ETA(I.J)=OMG/XX
140 CONTINUE

c
c +++
c
c
~ +++
c

SET

&

1 2HXRl-

-1.0
IN OBSTACLE CELLS
BETA(I,u)=
MUST BE OONE 9Y hANO IN GENERAL

PRINT

BETA(I,d)

ON FILM

ANO PAPER

IF (Ih40vY.E0.
t) J30 To 160
WRITE
(12,420)
WRITE
(12,430)
00 1
d=l.dMl
00 1 T 0 1=1.IMI
WRITE (12.440)
I.d,BETA(
I,d).AC(I,d).
1 COSO(I,J)
150 CONTINdE
160 CONTINUE
WRITE (6.420)
WRITE (6.430)
00 170 d=l.dMl
00 170 1=1.IM1
WR:TE (6.440)
I. J,BETA( I.J).AC(I.J)
1 COSO(I.J)
170 CONTINUE
c
c +++

J.2+XL+AR~I
.J}-l?!i
)/RHfEI
1

)-RIii

CALCULATE

HYDROSTATIC

AR(I.J),AT(I.J)

,AR(I.

.SINO(I.J)

J) .AT(I.J).SINO(

PRESSU2E

00 180 I=2,1MI
P(I.dMAX)=O.O
DO 18C LJ=2.dMl
dd=dM~-d+2
RHOYA=(AMINI(F(I
.dJ+l),O.
5)=DELY(JJ+
1 (I, UJ)-0.5)=DELY(JJ
))=RHOF
P(I,dJ)=P(I
,Ud+l)-GY*RHOYA
180 CCINTINUE

1)+AMAX:(O.O,F

c
c +++
c

260
c
c +++
c

270
c
c +++
c

SET

INITIAL

SURFAC

oo260J=2~M,
00 260 I=2:IM1
PS(I.J)=O.O
CONTINUE
SET

INITIAL

PRESSURE

VELOCITY

00 270 1=1.IMAX
00 270 d=l.JMAX
u(I.J)=UI
v(I.d)=vI
IF (A7(I.d).LT.EM6)
IF (AR(I,d).LT.EM6)
IF (F(I.J).GT.EMF)
U(I.U)=O.O
V(I,LI)=O.O
CONTINUE
SET

INITIAL

VOIO

280
290

00 280 K=I.NVOR
NR(K)=O
PR(K)=PSAT
VOL(K)=O.O
RETURN

300
310
320
330
340
350
360

FORMAT
FORMAT
FORMAT
FORMAT
FORMAT
FORMAT
FORMAT

FIELO

INTO

U ANO V ARRAYS

v(I.J)=O.0
u(I.u)=o.0
GO Tc 270

REGION

QUANTITIES

128

(lX,2HK=,
lPE12.4,2X,3HxI
(lX.
llH-==-*
ISOR=.110.21H
(4x.6HIs0R
=015.4x,7H10EFM
(1OA8)
(1OX,I1O)
(IOX.E20.6)
(3x,7HN0uMP
=.Ilo/4x.6Hw0L

=,E12.4.2X.4HPER=
oE12 .4)
MUST BE O OR 1 *-*==)
=,I5)

R.1PE20.6)

I.LJ).

SSTlj~. lSS
SETUP. !?9
SETUP. ~71
SETUP. 172
SETUP. 173
SETUP. 1-4
SETUP. 175
SETUP. 176
SETU?. 177
SETUP. 178
SETUP. 179
SETUP. 180
SETUP. 181
SETUP. 182
SETUP. I83
SETUP. 184
SETUP. 185
SETUP. 186
SETUP. 187
SETUP. 188
SETUP-189
5ETUP. 190
SETUP. 191
SETUP. 192
sETu~. 193
SETUP. 194
SETUP. 195
SETUP. 196
SETU13. 197
SETUP. 198
SETUP. 199
SETUP.200
SETUP.201
SETUP.202
SETUP.203
SETUP.204
SETUP.205
SETUP.206
SETUP.207
SETUP.208
SETUP.209
SETUP.21O
SETUP.211
SETUP.212
SETUP.213
SETUP.214
SETUP-215
SETUP.216
SETUP.217
SETUP.216
SETUP.219
SETUP.220
SETUP-221
SETUP-222
SETUP.223
SETUP.224
SETUP.225
SETUP.226
SETUP.227
SETUP.22e
SETUP.229
SETUP.230
SETUP.231
SETUP.232
SETUP-233
SETUP.234
SETUP-235
SETUP.236
SETUP.237
SETUP.23e
SETUP-239
SETUP.240
SETUP.241

370
380
390
400
410
420
43C
440

FORMAT (IOX,7110)
FORMAT (IX.AHCON.
.IPEIO.3.
lx, IIHANO
FCVLIM= .EIO.3,1X,AIHARE
INCOMP
ILTIBLE.
SETTING
FCVLIM=l.3=CON.
)
FoRMAT (lx.
13H50No
NuMBER =,$pEIp,4]
FORMAT (/lX.8HNEOUIB
=,15.
IY.,29HIS
TOO EIG FOR THE OIMENSIONS,215)
FORM&T (IX,
17HCUTTING
NEoUIB
T0,15,15H
ANO CONTINUING,
)
FORMAT (liil)
FGRK!AT (4X. lt-!i ,5X. ltid.8X,4HBETA,
IIX,2HAC,13X.2HAR
, i3X.2H.L7,
12Y..
! 41-!S?N0 .11X,4HCOSJJ)
FORMAT (2x, 13.3x,13,6[3x.
1>E12.5))
ENO

SUBROUTINE
TAPIN
=CALL.COMMONI
c +++
c +++ REAO RESTART DUMP FROM TAPE7
c +++
2EA0 (7)
MOUMP
IF (MDUMP.EO.NOUMP)
GO TO IG
hRITE (6.20)
MOUMP,NDUMD
WRITE (12,20)
MOUMP.NDUMP
WRITE (59,20)
MDuMP,NDuMP
CALL EXITLOC
(etiTAPiN
j
10 CONTINUE
NOUMP=NOUMP+l
REAO (7)
UN,VN.PN,
FN,U,V,P.F,PETA
,BETA. NF,PS.AR,AT.AC
REAO (7)
X,XI,
RXI,OELX.ROX,RX,
Y, YJ, RYJ,OELY,ROY,XL
,XC,OXMN,NXL.NXR
1 ,YL, YC,OYMN,NYL,NYR
,ZC
REAO (7)
NR,PR.VOL.
IBAR,JBAR.
IMAX, LJMAX,IMl,dMl,NKX
,NKY,NCYC,OELT,T
RHOF.NREG. VCHGT
1 .TWPRT,TWPLT.
2 ,CANGLE, ICYL,CYL,ITER
,FLG; FLGC.FNOC,NOCON,
NFLGC. ISYMPLT
3 ,IMOVY,VELMX.
VELMX1 ,XSHFT. YSHFT.XMIN,XMAX
.YMIN,YMAX,SF
4 ,IPL,
IPR,JPB,JPT,DTVIS
.OTSFT.OXMIN,OYMIN,
PSAT
5 ,LITER,EMF1
WRITE (6.30)
NCYC,MOUMP.T
WRITE (12.30)
NCYC.MOUMP,T
WRITE (59.30)
NCYC,MOUMP,T
RETURN
c
20 FORMAT (Ix,22HTAPIN
ERRoR - GOT OUMP.14.16H,
EXPECTING
OUMP,14)
30 FORMAT (IX, 19HRESTARTING
ON CYCLE,I7,1OH
FROM OUMP,13,4!-I
T =,IPE13
1 .6)
ENO

SETUP.242
SETUP.243
SETUP.244
SETLIP.245
SETdP.246
SETUP.247
SETUP.248
SE7UP.245
SETUP.250
SETUP.251
SETUP.252

TAPIN.2
TAPIN.3
TAPIN.4
TAPIN.5
-rAPIN.6
TAPIN.7
TAPIN.9
TAPIN.9
TAPIN. 10
TAPIN. 11
TAPIN.
12
TACIN. 13
TAPIN. 14
TAPIN.15
TAPIN.16
TAPIN.17
TAPIN. Ie
TAPIN.
19
TAPIN.20
TAPIN.21
TAPIN.22
TAPIN.23
TAPIN.24
T~PIN.25
TAPIN.26
TAPIN.27
TAPIN.2e
TAPIN.29
TAPIN.30
TAPIN.31
TAPIN.32

129

SUBROUTINE
TAPOUT (NKKP)
=CALL,COMMON1
c +-++
c +++ WRITE RESTART DUMP 0!4 TAPE7
c +++ NKKP = -1.
EOLIILIBRIUM
MESH DUMp
c +-+
= O, FINAL DUMP ON A RUN. TERMINATE
c +++
=1.
PERIODIC
BACK-UP OUM? OURINS A RUN
c +-+-+
IF (NKKP.GE.G)
GO TD 20
CALL AOV (1)
WRITE (6.30)
NCYC
WRITE (12.30)
NCYC
WRITE (59.30)
NCYC
00 10 1=1.IMAX
00 10 J=l,dMAX
u(I.IJ)=O.
V(I,J)=O.
10 CONTINUE
20 CONTINUE
LCMS=7HBACK UP
IF (NKKp.Eo.0)
LCMS=7HRES- ART
WRITE (6,40)
LCMS,NCYC,T
IF (IMOVY.EO.0)
WRITE (12 ,40) LCMS.NCYC.T
WRITE (59.40)
LCMS.NCYC,T
REWINO 7
WRITE (7)
NOUMP
WRITE (7)
UN,VN, pN. FN,U,V,poF.pETA
,BETAONF, PS,AR,AT.AC
WRITE (7)
X.XI,
RXI.OELX.ROX,RX,
Y, YJ, RYJ,OELY,
RDY,XL.XC
,OXMN,NXL
1 ,NXR,YL.
YC,OYMN,NYL.NYR
.ZC
WRITE (7)
NR,PR,VOL,
IBAR.LJBAR,IMAX
,dMAX, IMl,JMl,NKX.NKY
,NCYC,OELT
1 ,T, TWPRT.TWPLT,RHOF
,NREG,VCHGT
2 ,CANGLE, ICvL.CYL,ITER
,FLG. FLGC. FNOC.NOCON,NFLGC
3 ,ISYMPLT.
IMOVY.VELMX,
VELMX1.XSHFT,
YSHFT,XMIN,
XMAX.YMIN,YMAX,SF
I?L,
IpR.dpB,dpT.DTvIs
,QTSFT,DXMIN,OYMIN
4.
5 .psAT.L~TER.EMFl
IF [NKKP.LE.0)
CALL EXITLDC
(6HTAPOUT)
RETURN
c
30 FORMAT (IX. 39HEOUILIBRIUM
MESH OUMP TO TAPE7 ON CYCLE.17)
40 FDRMAT (1X,A7,1X,13HOUMP
ON CYCLE,17,2X,3HT
=,1PE13.5)
ENO

130

TAPOUT.2
TAPOUT.2
TAPOUT.4
TAPOUT.5
TAPOUT.6
7APOIJT.7
TAPilUT.b
TAP3UT.9
TAPOUT.10
TAFIOUT. 11
TAPOUT. 12
TAPOUT. 13
TAPOUT.14
TAPOUT.15
TAPOUT.16
TAPOUT.17
TAPOUT. IB
TAPOUT.19
TAPOUT.20
TAPOUT.21
TAPOUT.22
TAPOUT.23
TAPOUT.24
TAPOUT.25
TAPDUT.26
TAPOUT.27
TAPOUT.28
TAPOUT.29
TAPOUT.30
TAPOUT.31
TAPOUT.32
TAPOUT.33
TAPOUT.34
TAPOUT.35
TAPOUT.36
TAPOUT.37
TAPOUT.38
TAPOUT.39
TAPOUT.40
TAPOUT.41
TAPOUT.42

SUBROUTINE
TILDE
=CALL.COMMON1
c
c +++ CoMDuTE TEMPORARY U AND V EXPLICITLY
L
VISX=O.O
vIsy=o.c.
00 20 d=2,dMl
GO 20 1=2.IM:
CALL OVCAL
U(I.LJ)=O.O
ROELX=l .O/(OELX(I)+OELX(
1+1))
ROELY=l .0/(12ELY(
IJ)+OELY( u+I))
IF (NF(I.d)+NF(I+l
.d).GE.
12) GO TO IO
IF (AR(I.d).LT.EM6)
GO TO 10
SGU=SIGN(l.O,UN(I
,J))
ROXA=DELX(I)+DELX(
I+I)+ALPHA*SGU*(OELX(
I+I)-OELX(I)
ROXA=l.O/RDXA
SGU=(DELX(I+l)
FUX=ROXA*UN(I
,d)=(OELX(
I)=OUDR+DELX(
I+l)*OUDL+ALPHA
1 =OUOL-OELX( I)*OUOR))
VBT=(DELX(
I)=VN(I+I
,J)+OELX(
I+I)=VN(I,J)
)*RDELx
VBB=(OELX(
I)*VN(I+I
.d-l)+OELX(
I+l)=VN(I
.LJ-l))=RDELX
VAV=O.5=(VBT+VBB)
oYT=o.5-(oELY(d)+oELY
(d+l))
OYB=O.5-(OELY(J-I
)+OELY(LJ))
SGV=SIGN(I.O.VAV)
OYA=OYT+DYB+ALPHA=SGV=(OYT-OYB
)
FUY=(VAV/DYA)*(DYB*DUDT+OYT=DUDB+ALPHA=SGV*(DYT*DUDB-Oy3*DuDT
))
IF(XNU.EO.O.O)GO
TO 5
OUDXSO=(OUDR-DUDL
)/(XI
(1+1)-XI(I))
OUOYSO=(OUOT-OUOB )/(YJ(
d+l)-YJ(J-l))
RXDUDX=RX( I)=(i3ELX(I+
l)=OUOL+OELX(
I)*DUOR)/(DELX(
I)+OELX(I+l))
RXSOU=UN(I,U)*RX(I
)=*2
VISX=XNU*(DUOXSO+OUOYSO+CYL=RXOUDX-CYL*RXSOU
)
5 CONTINUE
RHOX=RHOF*(OELX(
I+I)+DELX(
I))
U(I. d)=UN(I.d)+OELT*(
GX-FUX-FUY+VISX)+DELT=
(P(I,J)-P(
l+I.J))*2.0
1 jRHox
10 CONTINUE
V(l.d)=o.o
IF (NF(I,Ji+NF(I.d+I
).GE. I2)
GO TO 20
IF (AT(I,LJ).LT.EM6)
GO TO 20
))=ROELY
UBR=(DELY(J+I
)*uN(I.J)+OELy(d)*uN(
I,J+
,d+l))*RoELY
UBL=[DELY(J+I
)-uN(II,d)+OELy(J)*uN(
IUAV=O.5*(UBR+UBL)
OXR=0.5=(DELX(
I)+DELX(
1+1))
DXL=0.5-(OELX(
I~+DELX(
I-I))
SGU=SIGN(l.O,UAV)
OXA=DXR*OXL+ALPHA*SGU=(OXR-DXL)
-OXL=OVDR))
FVX=(UAV/DXA)*(OXL*OVOR+OXR=OVDL+ALPHA>
SGU*(DXR*OVOL
SGV=SIGN( I.O.VN(I.J)
)
DYA=DELY(d+l
)+OELY(ii)+ALPHA*SGV*(DELY
(J+l)-OELY(J))
FVY=(VN( I,J)/OYA)*(OELY(
d)*DVOT+OELY(d+l
)*OVDB+ALPHA*SGV*(OELY(
d+l
1 )=DVDB-OELY(U)*DVDT))
IF(XNU.EQ.O.O)GO
TO 15
OVDXSO=(DVDR-DVDL)/(XI
(l+l)-X1(l-l))
OVOYSO=(OVOT-DVDB)/(Yd(J+l
)-Yd(IJ))
OVDXRX=O. 5=(OVOR+DVDL
)=RxI(I)
vISY=XNU*(DVOXSO+DVOYSQ+CYL*OVOXRX)
15 CONTINUE
RHOY=RHOF*(DELY(J+l
)+DELY( d))
v(r,d)=vN(
I.J)+DELT=
(Gy-FvX-FVy+VISy
)+OELT=( p(l.
J)-p(1,d+1))*2.o
1 /RHOY
20 CONTINUE
RETURN
END

TILOE.2
TILOE.3
TILOE.4
TILDE.5
TILOE.6
TILOE.?
TILEIE.8
TILO:.9
TILDE.1O
TILoE.~1
TILDE.12
TILDE.13
TILDE.14
TILOE.15
TILDE.16
TILDE.17
TILDE. 18
TILOE.19
TILOE.20
TILDE.21
TILDE.22
TILOE.23
TILDE.24
TILOE.25
TILDE.26
TILOE .27
TILOE .28
TILDE .29
TILDE .30
TILOE .31
TILOE.32
TILOE.33
T:LOE.34
TILOE.35
TILDE.36
TILOE.37
TILOE.38
TILDE.39
TILOE.40
TILDE.47
TILOE.42
TILDE.43
TILOE.44
TILDE.45
TILDE.46
TILOE.47
TILDE.48
TILDE.4S
TILDE.50
TILDE.51
TILDE.52
TILOE.53
TILOE.54
TILOE.55
TILDE.56
TILDE.57
TILOE.58
TILOE.59
TILDE.60
TILDE.61
TILOE.62
TILOE.63
TILDE.64
TILDE.65
TILOE.66
TILDE.67

131

-CALL

SUBROUTINE
VFCONV
COMMJN1
DATA FCVLIh! /.5/

c
c +++
c

SONVECT

10

20

30

40

50
c +++

132

THE

VLILIJME OF

CLUID

FUNCTICN

7= (NC?C.L7.
1) GO ?0 ICK3
FLGC=O.O
CCl 50 d=l.JMl
DO 50 1=1.IM1
IF(BETA(I,~).i-~.o.o)
Gc To 50
VX=U(I.IJ)=DELT
VY=V(I,J)=DELT
ABVX=ABS(VX)
ABVY=ABS(VY)
IF (ASVX. LE.FCVLIM=DELX(
1) .AND.ABVY .LE.FCVLIM=OELY
(d))
GO TO 10
~LGC=l .
WRITE
(59.150)
NCYC,T,OELT
.;.J.FCVLIM
,ABVX.OELX(
I),ABVY,OEL}
(d)
WRITE (12,150)
NCYC, T, DELT,I,J.FCVLIM,
ABVX,OELX(
I).ABVY,OELY(
J)
CONTINUE
IF (AR(I,J).LT.EM~)
GO TO 30
IA=I+l
10=1
IDM=MAXO(I-1,1
)
ARDM=AR(IOM,J)
RB=AR(I.J)*R(I)
RA=AC(I+l,
d)*RI(I+l
)
RO=AC(I.J)*RI(I)
IF (VX.GE.O.0)
GO TO 20
IA=l
ID=I+l
IDM=MINO(I+2,1MAX)
AROM=AR(IDtU-l,d)
RA=AC(I,J)~RI(I)
RO=AC(I+l,
d)*RI(I+l
)
CONTINUE
IAO=IA
IF (NF(ID.d)
.EO.3.OR-NF(
Io,d).Eo.4)
IAD=IO
IF (FN(IA,
J).LT.EMC.OR.
FN(IOM,J).LT.EMF)
IAO=IA
FDM=AMAXI (FN(IOM.J).
FN(ID,J),O.1O)
IF(ARDM.LT.EM6)
FDM=I.O
FXt=FN( IAO,J)=ABS(VX)+AMAX
l((FOM-FN(
IAO.d))=ABS(VX
)-(FOM-FN(ID.IJ))
1 -OELX(ID).O.0)
OELX(ID)=RD/RB)
FX=AMINI (FXI,FN(IO,J)
F(IL?, J)=F(iO,
d)-FX-RDX(
IO)=(RB
RD)
4
F(IA. IJ)=F(IA,d
)+FX=RDX( IA)=(RBjRA)
IF (AT(I,J).LT.EM3)
GD TO 50
JA=J+l
LJD=d
dOM=MAXO(d-1.1)
ATOM=AT(I.dOM)
RBxAT(I.J)
RA=AC(I,d+l)
Ro=Ac(I,J)
IF (VY.GE.O.0)
GO TO 40
dA=d
JDxd+l
JoM=MINo(.J+2.dMAx)
ATDM=AT(I.JDM-1)
RA=Ac(IoJ)
RD=Ac(l,d+l)
CONTINUE
uJAO=dA
IF (NF(I.UD)
.EO.1.OR.NF(
I,UD).EO.2)
JAO=dD
IF (FN(I,JA
).LT.EMF.OR.FN(
I,UOM).LT.EMF)
UAO=JA
FDM=AMAX1( FN(I,JDM),FN(
I.JD).O.1O)
IF(ATDM.LT.EM6)
FOM=l.O
FYI=FN(
I, JAO)=ABS(VY)+AMAXI
(( FDM-FN( I.dAD))*ABS(VV
)-(FOM-FN(I,LJD))
1 *DELY(JD),O.0)
DELY(dD)=RO/RB)
FY=AMINl (FY1.FN(I,dO)
F(I, JO)=F(I.JD)-FY=RDY
(dD)=(RB/RO)
F(I,JA)=F(
I,JA)+FY=RDY(JA
)=(RB/RA)
CONTINUE
DEFDAM IT
IF (NPACK.EO.0)
GO TO 70
00 60 1=2.IMI
DO 60 J=2,dBAR
IF (AT(I,LJ).LT.EMF)
GO TO 60
IF (NF(I.J).NE.0)
GO TO 60
IF (F(I,J).GE.EMF1)
GOTO
60

VFCONV.2
VFCONV.3
VFCONV.4
VFCONi.5
vFcaNv.6
vCcoNv.7
VFCONV.8
VFCONV.9
VFCGNV. 10
VFCONV. 11
VFCONV. 12
VFCONV. 13
VFCONV. 14
vFcoNv.
f5
VFCONV.16
VFCONV.17
VFCONV. 18
VFCONV. 19
VFCONV.20
VFCONV.21
VFCONV.22
VFCONV.23
VFCONV.24
VFCONV.25
VFCONV.26
VFCONV.27
VFCONV.28
VFCONV.29
VFCONV.30
VFCONV.31
vFCONV.32
VFCONV.33
VFCONV.34
VFCONV.35
VFCONV.36
VFCONV.37
VFCONV.38
VFCONV.39
VFCONV.40
VFCONV.41
VFCONV.42
VFCONV.43
VFCONV.44
VFCONV.45
VFCONV.46
VFCONV.47
VFCONV.48
VFCONV.49
VFCONV.50
VFCONV.51
VFCONV.52
VFCONV.53
VFCONV.54
VFCONV.55
VFCONV.56
VFCONV.57
VFCONV.58
VFCONV.59
VFCONV.60
VFCONV.61
VFCONV.62
VFCONV.63
VFCONV.64
VFCONV.65
VFCONV.66
VFCONV.67
VFCONV.68
VFCONV.69
VFCONV.70
VFCONV.71
VFCONV.72
VFCONV.73
VFCONV.74
VFCONV.75
VFCONV.76
VFCONV.77
VFCONV.78
VFCONV.79
VFCONV.80
VFCONV.81

FADD=AMIN1(l.
-F(I,LJ),F(I.d+l
))
F(I. Jj=F(I,LJ)+FADD
F(I.J+I)=F(I.J+I
)-FADD
60 CONTINUE
70 CONTINUE
+++*++
Divergence
Correction
TERM
IFIIDIV.EO.0)
GC TO 90
IF(IDEFM.EO.
1) GO TC 90
DO 8G d=2,JMl
DO 80 I=2,1M:
IF (NC(I,
IJI.NE.O.OR.AC(
I,J).LE.O.
) GO TO 80
DIJ=(ROX(
I)-(AR(I,J
)=R(I)=U(
I,J)-AR(
I-1 ,J)=R(I
-l)*U(I-I.JI
1 RDY(U)*(
AT(I.IJ)*RI(I
)*V(I,
UJ)-AT(I,J-IJ*RI
(I )=V(I.d-:
2 (AC(I.tJ)-RI(I))
F(I, LJ)=F(I,
LJ)+OELT=FN(
I,d)=DId
80 CONTINUE
90 CONTINUE
100 CONTINUE
DD 140 J=2.LJM1
00 140 I=2,1MI
IF (BETA(I.J).
LT.O.0)
GO TO 140
VCHG=O.O
IF (F(I, d) .GT.EMF.ANO.F(
I,U).LT.EMFI)
GO TO 120
IF (F(I.IJ).GE.EMFI)
GO TO 110
vCHG=F(I,d)
F(I,J)=O.O
GO TO 120
110 CONTINUE
VCHG=-( 1.O-F(I,IJ))
F(I.J)=I.O
120 CONTINUE
VCHG~=VCHGT+VCHG*OELX(
:)*DELY(d)*ACI
I,d)*RI
(I)*TPI
IF (F(I,u).LT.EMF1)
GO TO 140
1= (F(I+l,U)
.LT.EMF.AND.AR(
I,J)..GT.EM6)
GO To 130
IF (F(I-l,J
).LT.EMF.ANO.AR(
I-1.J).GT.EM6)
GO TO 130
IF (F(I.d+l
).LT.EMF.ANO.
AT(l,u).GT.EM6)
GO TO 130
IF (F(I,
J-1 ).LT.EMF.ANO.
AT(l.d-1).GT.EM6)
GO TO 130
GO TO 140
I*EMF
130 F(I,J)=F(I.J)-I.
VCHG=I. I=EMF
-AC(I.J)-RI(I) =TFI
VCHGT=VCHGT+VCHG*OELX(
I)=DELY(d
140 CONTINUE

)+
)))/

c r++
-.
.

SPECIAL

BOUNDARY

CONDITIONS

FOR F

RETURN

c
150

FORMAT (1x, 12HVFCONV ERROR/lX,5HNCYC=,17,


1=.E12.4,
IX.4HI.J=,214,
lX,7HFCVLIM=,
Etl
2X=, E12.4.1X.5HABVY=
,E12.4,
1X,5HOELY=.E12
ENO

1X. 2HT=, IPE14.6,1X,5HOELT


.3/3X
.5HABVX=,E12.4.
IX.5HOEL
.4)

VFCONV.82
VFCONV.83
VFCONV.84
~:coNv.85
VFCONV.86
VFCDNV.87
V;CONV.88
VFCONV.89
VFCONV.90
VFCONV.91
VFCONV.92
VFCONV.93
VFCONV.94
VFCONV.95
VFCDNV.96
VFCONV.97
VFCONV.98
VFCONV.99
VFCONV. 100
VFCONV. 101
VFCONV. 102
VFCONV. 103
VFCONV. 104
VFCONV. 105
VFCONV. 106
VFCONV. 107
VFCONV. 108
VFCONV. 109
VFCONV. 110
VFCONV. 111
VFCONV. 112
VFCONV. 113
VFCONV. 114
VFCONV. 115
VFCONV. 116
VFCONV. 117
VFCDNV. 118
VFCONV. 119
VFCONV. 120
VFCONV. 121
VFCONV. 122
VFCONV. 123
VFCONV. 124
VFCONV. t25
VFCONV. 126
VFCONV. 127
VFCONV. 128
VFCONV. 129
VFCONV. 130
VFCONV. 131
VFCONV. 132

133

: +..
~ +++
c +.C +..+
.

E
t.
c.
c

SUBROUTINE
EPiLOGLIE

OE?OAM OPTION
PARAMETER DEFINED
IN PQESCR SUBROUTINE
~EFaAR o?TIo&
pARAMETER
MESU GEoffETRY
IN31CATOR
(= ICYL)
MAXIMUM DELT VALUE ALLOWED 8} THE SURFACE TENSION
FORCES
STA91L17y
CRITERION
(OELT IS AUTOMATICALLY
ADJUSTED)
MAXIMUM DELT VALUS ALLOWED BY THE VISCOUS
FORCES
STABILITY
CRITERION
IOELT IS AUTOMATICALLY
AOIJUSTEO)
DERIVATIVE
OF U VELOCITY
RESPECT TO Y AT (1+1/2.J-l/2)
DERIVATIVE
OF U VELOCITY
RESPECT TO X AT (1.J)
DERIVATIVE
OF U VELOCITY
RESPECT TO Y AT (1+1/2.d+l/2)
DERIVATIVE
OF U VELOCITY
RESPECT TO X AT (1+1 .LJI
DERIVATIVE
OF V VELOCITY
RESPECT TO X AT
(141/2,d+l/2)
DERIVATIVE
OF V VELOCITY
RESPECT TO X AT
(1-1/2,J+t/2)
OERIW!TIVE
OF V VELOCITY
RESPECT TO } AT (1.d+l)
DERIVATIVE
OF V VELOCITY
RESPECT TO Y AT (Id)
SMALLEST OELX(I)
IN MEsH
IN MESH
SMALLEST OELY(UJ)
TYPICALLY
1.OE-06,
USEO TO NEGATE ROUNO-OFF
SMALL VALUE.
ERROR EFFECTS
WHEN TESTING
F=I.O
OR F=O.O
=1.O-EMF
=1 .OE-06
=1.O-EM6
=1.OE-10
=1 .OE+IO
F CONVECTION
LIMIT
ABS(UOT/OX)
< FCVLIM
A6S(VOT/OY)
< FCVLIM
PRESSURE ITERATION
CONVERGENCE TEST INOICATOR
(~0.O
WHEN
THE CONVERGENCE TEST IS SATISFIEO.
=1.0
WHEN THE
CONVERGENCE TEST ?S NOT SATISFIED)
VOLUME OF FLUIO
FUNCTION CONVECTION
LIMIT
INOICATOR
(DELT REoUcEO ANO CYCLE STARTEO OVER IF LIMIT
IS EXCEEOED)
PRESSURE CONVERGENCE FAILURE
INOICATOR
(=1.0,
CONVERGENCE FA:LED
ANO OELT IS REOUCEO. =0.0
OTHERWISE)
NUMBER OF REAL CELLS IN X-DIRECTION
(EXCLUOES
FICTITIOUS
CELLS)
=IBAR+2.
SPECIFIEO
IN PARAMETER STATEMENT
(=IBAR+3.
IF PERIOOIC IN X-DIRECTION)
TOTAL NuMBER oF M H cELLS
IN x-OIREcTION (=18AR+2)
(=I13AR+3 IF PERI % XC IN X-OIRECTION)
INOEX I AT THE LAST REAL CELL IN THE
VALUE OFTHE
X-OIRECTION
(=IMAX-1)
VALUE OF THE INOEX I AT THE NEXT TO THE LAST REAL CELL
IN THE X-OIRECTION
(=IMAIN
THE x-2)
LEFTMOST PRESSURE ITERATION
INDEX IN X-OIRECTION
(=3 FOR CONSTANT PRESSURE BOUNDARY CONOITION,
=2 FOR
ALL OTHER CASES)
IN X-OIRECTION
RIGHTMOST
PRESSURE ITERATION
INDEX
(=IBAR
FoR cONSTANT pREssuRE
6ouNoARY
cONOITION.
=It41 FOR
ALL OTHER CASES)
PRESSURE ITERATION
COUNTER
NUMBER OF REAL cELLs
IN Y-OIRECTION
(ExCLUOES
FIcTIcIOUs
CELLS)
=JBAR+2,
SPECIFIEO
IN PARAMETER STATEMENT
(=dBAR+3.
IF PERIOOIC
IN Y-OIRECTION)
TOTAL NUMBER OF MESH CELLS IN Y-OIRECTION (=LJBAR+2)
IN Y-DIRECTION)
(=t16AR+3.IF PERIOOIC
VALUE OF THE INOEX d AT THE LAST REAL CELL IN TFIE
Y-OIRECTION
(=dMAX-1)
VALUE OF THE INDEX J AT THE NEXT TO THE LAST REAL CELL
IN THE Y-DIREcTION
(=JMAx-2)
BDTTOM PRESSURE ITERATION
INOEX IN Y-OIRECTION
(=3 FoR coNSTANT
pREssuRE
BouNDARY CONDITION,
=2 FOR
ALL OTHER CASES)
TOP PRESSURE ITERATION
INDEX IN Y-OIRECTION
(=d3AR
FoR cONsTANT
PRESSURE 50uN0ARY
CONOITION.
=JM1 FOR
ALL OTHER CASES)
NUMBER OF ITERATIONS
ON THE PREVIOUS
CYCLE
CALCULATIONAL
TIME CYCLE NUMBER
TAPE7 DUMP SEOUENCE NUMBER. SET TD ZERD TO
SKIP TAPE RESTART.
OTHERWISE.
IT MUST EQUAL THE
SEOUENCE NUMBER ON TAPE7 TO SUCCESSFULLY
RESTART.
NUMBER OF CYCLES THE VOLUME OF FLUID FUNCTION
CONVECTION
LIMIT (FLGC) IS EXCEEDEO

DUDE
DUDL
OUJT
DUOR
OVOR
DVOL
OVDT
OVDB
OXMIN
OYMIN
EMF
EME1
EM6
EM6PI
EM1O
EP1O
FCVLIM

c
c
c
c
c
c

FLG

c
c
c
c
c
c
c

FLGC

FNOC

IBAR

IBAR2
IMAX

i
c
~
:
c
c
c
c
c

IM1
18AR
IPL

IPR

c
c
c
c

ITER
d8AR

c
c
c
c
c
c
c
c

d8AR2
dMAX
dMl
dBAR

c
c
c

dPB

:
c
c
c
c
c
c
c
c
c

dPT

134

DOCUMENTATION

LOEFU
Ec~FK4
c.:
OTSCT

c
c

ON-LINE

LISTEC IN COMMON

DTV:S

VARIABLES

:
c

c
c
c
:
c
:
c
c
c

EPI

LITER
NCYC

NFLGC

(EXCLUOING

INPUT

PARAMETERS)

EDi.2
EP:.3
EP!.4
EPI.5
Ep:.6
E?:.7
EP:.8
EPI.9
5?1. :0
EPI.l!
EPi.12
EPI.13
EPI.14
EPI.15
EPI.16
EPI.17
EPI.18
EPi.19
EPI.20
EPI.21
EPI.22
EPI.23
EPI.24
EPI.25
EPI.26
EPI.27
EPI.26
EPI.29
EPI.30
EPI.31
EPI.32
EPI.33
EPI.34
EPI.35
EPI.36
EPI.37
EPI.38
EPI,39
EPI.40
EPI.41
EPI.42
EPI.43
EPI.44
EPI.45
EPI.46
EPI.47
EPI.4B
EPI.49
EPI.50
EPI.51
EPI.52
EPI.53
EPI.54
EPI.55
EPI.56
EPI.57
EPI.58
EPI.59
EPI.60
EPI.61
EPI.62
EPI.63
EPI.64
EPI.65
EPI.66
EPI.67
EPI.68
EPI.69
EPI.70
EPI.71
EPI.72
EPI.73
EPI.74
EPI.75
EPI.76
EPI.77
EPI.78
EPI.79
EPI.80
EPI.81.

N08D

c
~
c

NOCON

NUMBER OF OBSTACLE OEFINING


FUNCTIONS
ALLOWEC
sPEcIFIEc
IN PARAMETER STATEMENT
NUM35R OF CYCLES PRESSUQE CCJNVEGENCE HAS FAiL~~
(USEO TO SET &RRAY SIZE - h!JST BE > o]
NUh%EG OF VCIC REGIONS GENERAT50
IN CALCU~LTIOK
IN
MAXIMUM NUMSER OF VOID 2EGIQNS
ALLOWE2.
SDECIF:EO
PARAMETER STATEMENT
S~ECIFIE5
NUMBER CF SUSMES!-I REGIONS
IN >-OIRECTION,
IN PARAMETER STATEMENT
NUMBER 0= SUBMESH REGIONS
IN Y-OIRECTION,
SPECIFIED
IN PARAM5TE2 STATEMENT
=3.141592654
DEGREES TO RADIANS CONVERSION
FACTOR
PLOT SCALING FACTOR
PROBLEM TIME
2.O=PI
ACCUMULATED FLUIO
V9LUME CHANGE
VELMX NORMALIZED
TO MINIMUM
MESH CELL OIMENSION
LOCATION OF RIGHT-HANO
SIOE OF MESH
SIOE OF MESH
LOCATION OF LEFT-HANO
COMPUTEO SHIFT
ALONG THE PLOTTING
A8SCISSA
TO CENTER
THE PLOT FRAME ON FILM
LOCATION OF THE TOP OF THE MESH
LOCATION OF THE BOTTOM OF THE MESH
COMPUTEO SHIFT
ALONG THE PLOTTING
OROINATE TO CENTER THE
PLOT FRAME ON FILM

Ni?EG
hlVCIR
c
c
c

MESHX

c
c

MESHY

PI
RPD
SF
T
TPI

c
c
c

c
c
c
c
c
c
c
c
c
c
c
c
c +++
c

VCHGT
VELMXI
XMAX
XMIN
XSHFT

ACOM(l)
BETA(I,J)

c
c

c
c
c
c
c

E
:

YMAX
YMIN
YSHFT
ARRAYS

IN

AC(I,J)
AR(I.J)
AT(I,J)
COSO(I,U)
OELX(I)
;:;:;;)

FN(I.J)

c
~

c
c
c
c
c
c
:
c
c
c
c
c
c
c

c
:
c
c
c
c
c
c
c

c
c
c
c
c
c
c
c
c

NR(K)

NW(I.d)
P(I.J)
PETA(I,J)
P$i(:.d)
PI?(K)
Ps(I;Ll)
R(I)

ROX(I)
;;:!;)
Rx(I)
RXI(I)
RYU(tJ)
SINO(I LJ)
U(I.d)
UN(I,J

V(I,tJ)
VN(I.d)
VOL(K)
X(I)
XI(I)
Y(d)
YJ(J)
ZC(N)
RETURN
END

COMMON (ExcLuDING

MESH ANO oBsTAcLE

sETup

parameters)

FIRST
WORO IN COMMON
PRESSURE ITERATION
RELAXATION
FACTOR IN CELL (1.J)
.-.
FRACTIONAL
CELL VOLUME OPEN TO FLOW
FRACTIONAL
CELL FACE ON RIGHT OPEN TO FLOW
FRACTIONAL
CELL FACE ON TOP OPEN TO FLOW
COSINE OF ANGLE THAT CURVEO WALL MAKES WITH + Y AXIS
CELL ALONG THE X-AXIS
MESH SPACING OF THE I-TH
CELL ALONG THE Y-AXIS
MESH SPACING OF THE J-TH
PER UNIT VOLUME OF CELL (1.J)
AT TIME
VOLUME OF FLUIO
LEVEL N+l
PER UNIT VOLUME OF CELL (I,u)
AT TIME
VOLUME OF FLUIO
LEVEL N
PROSLEM IDENTIFICATION
LINE
FLAG OF SURFACE CELL (1.J)
INDICATING
THE LOCATION
OF ITS NEIGHBORING
PRESSURE INTERPOLATION
CELL
LABEL OF VOID REGION,
K > 5
FLAG INO?CATING TYPE OF CELL IN COMPUTING MESH
PRESSURE IN CELL (I,d)
AT TIME LEVEL N+l
PREsSURE INTERPOLATION
FACTOR FOR CELL (I,J)
PRESSURE IN CELL (Id)
AT TIME LEVEL N
PRESSURE IN Vo:o REGION NR(K)
COMPUTEO FROM SURFACE
SURFACE PRESSURE IN CELL (Id)
TENSION
FORCES
X COORDINATE
OIMENSION
FOR CYLINORICAL/PLANE
OPTIONS
RECIPROCAL
OF OELX(I)
#
RECIPROCAL
OF OELY(J)
X COORDINATE
DIMENSION
FOR CYLINORICAL/PLANE
OPTIONS
RECIPROCAL
OF X(I)
RECIPROCAL
OF XI(I)
RECIPROCAL
OF VJ(J)
SINE OF ANGLE THAT CURVED WALL MAKES WITH + Y AXIS
X-DIRECTION
VELOCITY
COMPONENT IN CELL (1.LJ)AT TIME
LEVEL N+l
X-DIRECTION
VELOCITY
COMPONENT IN CELL (I,d)
AT TIME
LEVEL N
Y-OIRECTION
VELOCITY
COMPONENT IN CELL (I,d)
AT TIME
LEVEL N+l
Y-DIRECTION
VELOCITY
COMPONENT IN CELL (1.LJ)AT TIME
LEVEL N
VOLUME OF VOIO REGION NR(K)
LOCATION OF THE RIGHT-HANO
BOUNOARY OF THE I-TH
CELL
ALONG THE X-AXIS
LOCATION OF THE CENTER OF THE I-TH
CELL ALONG THE
X-AXIS
LOCATION OF THE TOP BOUNDARY OF THE d-TH CELL ALONG TH
Y-AXIS
LOCATION OF THE CENTER ~F THE d-TH CELL ALONG THE
Y-AXIS
TEMPORARY STORAGE FOR CONTOUR ROUTINE

E?I.SO
EDI.91
E?:.92
EPI.93
EPI.9:
EPI.95
EPI .96
EPI.97
EPI.98
E~I.9?
EPI. 100
EPI.101
EPI .102
EPI.103
EPI. 104
EPI. 105
EPI. 106
EPI. 107
EPI. 108
EPI.109
EPI. 110
EPI.111
EPI. 112
EDI. 113
EPI.114
EPI. 1!5
EPI.116
EPI. 117
EPI.118
EPI.119
EPI.120
EPI.121
EPI. 122
EPI.123
EPI. 124
EPI.125
EPI. 126
EPI.127
EPI.128
EPI. 129
EPI.130
EPI. t31
EPI.132
EPI. 133
EPI. 134
EPI.135
EPI.136
EPI.137
EPI. 138
EPI.139
EPI.140
EPI. 141
EPI.142
EPI. 143
EPI.144
EPI.145
EPI. 146
EPI.147
EPI.148
EPI. 149
EPI.150
EPI. !51
EPI. 152
EPI.153
EPI.154
EPI. 155
EPI.156
EPI.157
EPI.15S
EPI.159
EPI.160
EPI.161

135

REFERENCES
1.

Hirt, C.
W., Methods
B.
D.,
and
for Calculating
Multi-Dimensionalt
TransientFree SurfaceFlows Past Bodies,nProc. of the
Maryland,
october
Gaithersburg,
Ist InternConf. Num. ShipHydrodynamics,

Nichols,

1975.

2. Nichols,B. D., Hirt,C. W., and Hotchkiss,R. S., SOLA-VOF:A Solution

Algorithmfor TransientFluidFlow with Multiple Free Boundaries,nLos


Al;mosScientificLaboratoryreportLA-8355,1980. .
3.

Hirt,C. W., and Nichols,B. D., 1981$J. Comp. Phys. y, 201.

4.

and Applicationof ComputerProgramsRelated


Johnson, W. E., !lDevelopment
to Hypervelocity
Impact,Systems,Science and Software report 3SR-353,
1970,

5. Ramshaw,J. D., and Trapp,J. A. 1976,J. Comp. Phys. &


6.

HcMaster,

W.

H.,

and

Gong,

E.

~.,

PELE-IC

438.

UserfsManual,wLawrence

LivermoreLaboratoryreportUCRL-52609,1979..
D. F., Landram,C. S., Norris,D. M.! Gong?
7. McMaster,W. H., Quifiones,
of the Coupled
E. Y., Machen,N. A., and Nickell,R. E., Applications
Fluid-Structure
Code PELE-ICto Pressure SuppressionAnalysis - Annual
Report to NRC for 1979,NUREG/CR-1179,
UCRL-52733,1980.
8.

Kershner, J. D., and Mader,C. L., 2DE:A Two-Dimensional


Continuous
Eulerian Hydrodynamic Code for Computing Multicomponent Reactive
HydrodynamicProblems,N Los AlamosScientificLaboratoryreportLA-4846,
1972.
H., and Woodward, P., ~The SLIC (Simple Line Interface
Vol. 59: Proceedingsof the
Calculation),~in Lecture Notes in,Physics,
FifthInternational
Conferenceon Numerical Methods in Fluid Dynamics,
edited by A. 1. van de Voorenand P. J. Zandbergen,Springer-Verlag,
1976.

9. Noh, W.

of Tank Draining Phenomena with the NASA


10. Hotchkiss,R. S., ~Simulation
SOLA-VOFCode,~ Los AlamosScientificLaboratoryreportLA-8163-MS~1979*
11. Cloutman, L.

Dukowicz,J. K., Ramshaw,J. D., and Amsden,A. A.,


IICONCHAS-Sp~Y:
~e~omputerCode for ReactiveFlowswith Fuel Sprays,w Los
AlamosNationalLaboratoryreportLA-9294-MS,1982.

12. Hirt, C. W., Cook,J. L., and Butler,T. D. 1970,J. Comp. Phys. ~,

103.
13. Horak,H. G., Jones,E. M., Kodis,J. w., and SandfordII, M. T., 1978,

J. Comp. Phys. ~, 277.


14. Dukowicz,J. K., 1984,J. Comp. Phys. ~, 411.

136

15. Ramshaw,J. D., 1985,J. Comput. Phys. ~, 193.

16. Sicilian,J. M., and Hirt,C. W. 1984,J. Comp. Phys.


56, 428.
17. Gentry, R.
~, 87.

A., Martin,R. E., and Daly,B. J., 1966,J. Comp. Phys.,

18. Chandra, R., ConjugateGradient Methods for Partial Differential


Equations,nPh.D. Thesis,Yale University(1978).
19. Daly,B. J., and TorreyvM. D., SOLA-PTS:A Transient,Three-Dimensional
Algorithmfor Fluid-ThermalMixing and Wall Heat Transfer in Complex
Geometries,Los AlamosNationalLaboratoryreportLA-10132-MS,1984.
20. Batchelor, G. K., An Introduction
to FluidDynamics,CambridgeUniversity

Press (1970),63.

21.

Bottomed
Symons,E. P., Draining Characteristics of Hemispherically
IINASA TechnicalPaper 129791978.
Cylindersin a Low-GravityEnvironment,

22. Rivard, W.

C., and Torrey, M. D., K-FIX: A ComputerProgramfor


Transient, Two-Dimensional,Two-Fluid Flow;n Los Alamos Scientific
LaboratoryreportLA-NUREG-6623,
1977.

23. Rivard, W. C., Hirt,C. W., and Torrey,M. D., 1982,Nucl. Engineering
Design70,
309.

U.S.

GOVERNMENT

PRINTING

OFFICE:

1906-0-676-034/40042

137

,.

,
.
,.

,.

. . .

.,

-.

,.

. ; -.

.
.

. .,

:----

.,....:.:

.-~,.
.

..

.. -

. ..
,.

.
.,, . -

,,
,..

.
!

. ..

J
,

,,

...

.,

. .,
,.

,.
..

.::.
:

. i (

. ,,.

,,
,,
.,.,:

.
,:,. .... , ,
.,. , ,
.J

,.

,,

,,

/ ..

-.,
NTIS
Pria Code
~

[YrP~e Range
.- ?

,.

:,

..,. .-,.
,.
>

,. .
..

...

..

.2

(AOI)

:::J
.

,,,, Page Range


-+

.,

.. .4 ~ P:pmIrnenl of Commerce
- ,::528$ Port Royal Road
..
SVn@eld, VA 2:lfl
.

NTIS
Price COI!C
Pas; R;gc
: ...44

, :, Ai2 : .~:: < - 131.


;75:
A(gi
Am
176.2Wl
Am
201.22s
AIO
-, ,!3.V475.. . Aq4
.,
All
. ,,.
,~~~.;~ ,,::; ~, , ,, :....,%;~
: A12
A13

.,)

.; . :: iiol
b2$
~ajo.

.,.

,,!
30132;
326.330
351375
- ?164~
401425
426.45Q

NTIS
Price Cede

Page Range

A14
A IS
A16
A17
A18
A19

:- . ~.--451.475
476.50(
501S25
526.S50
55[.57s
576.600
601. UP

Contact NTIS for a price qwxe.


.

..
-

Primed in the United States of America


.,.
Available from
National Tecbnk@ Information,S@cc

Mkrokhe

.-

.,
.

,,.
.....

... ...

..

.:.

!-

..

.-

..

;.,

. ,.

.,

-.

,.

..-

>.

.,

.,
.,

~.

..

.,
,,

., .,.1
,

. .
. . .
...
, .-.

..

.,

,.
!

.. ... ,,

...

.
.
...

,:

. .

...

,.

,:..

./.

...
.

. .

.,
.i
,.

...
.,

. .

...

NTIS
Prim Cede

~ ~.- .-r--.
A1O
All
A22
A23
A14
A2S
A99

~.~--

---

You might also like