You are on page 1of 151

Technical Report CHL-97-12

July 1997

FEMWATER : A Three-Dimensional Finite Element


Computer Model for Simulating Density-Dependent
Flow and Transport in Variably Saturated Media

by

Hsin-Chi J. Lin, David R. Richards and Cary A. Talbot


U.S. Army Corps of Engineers
Waterways Experiment Station
3909 Halls Ferry Road
Vicksburg, MS 39180-6199

Gour-Tsyh Yeh, Jing-Ru Cheng, Hwai-Ping Cheng


Department of Civil and Environmental Engineering
Pennsylvania State University
University Park, PA 16802

Norman L. Jones
Department of Civil Engineering
Engineering Computer Graphics Laboratory
Brigham Young University
368 CB
Provo, UT 84602

Approved for public release; distribution is unlimited

Contents

Preface............................................................................................................... viii

1 Introduction .......................................................................................................1
Purpose ...............................................................................................................1
FEMWATER Origins.........................................................................................1
Formulation of FEMWATER ............................................................................2
Governing equations for flow ........................................................................2
Governing equations for transport .................................................................6
2 Running FEMWATER ...................................................................................11
File Organization..............................................................................................11
Super File .........................................................................................................11
Card Style Format ............................................................................................12
Other Files ........................................................................................................13
3 Meshes ..............................................................................................................14
Introduction ......................................................................................................14
Elements Supported..........................................................................................14
Geometry File Format ......................................................................................14
Mesh Generation Guidelines............................................................................17
4 Analysis Options..............................................................................................21
Introduction ......................................................................................................21
File Format .......................................................................................................21
Run Option Parameters ....................................................................................21
Type of simulation (OP1).............................................................................21
Solver options (OP2)....................................................................................23
Weighting factor options (OP3) ...................................................................25
Sorption options (OP4) ................................................................................26
Preconditioned conjugate gradient method (OP5) .......................................27
Iteration Parameters..........................................................................................28
Flow simulation (IP1) ..................................................................................28
Transport simulation (IP2) ...........................................................................29

vii

Coupled simulation (IP3) .............................................................................30


Particle Tracking Parameters ...........................................................................31
Time Control Parameters .................................................................................32
Maximum simulation time (TC1) ................................................................32
Time-step interval (TC2) .............................................................................32
The XY Series format (XY1).......................................................................33
Output Control Parameters...............................................................................34
Print interval (OC1) .....................................................................................35
Print options (OC2)......................................................................................35
Save interval (OC3)......................................................................................36
Save options (OC4) ......................................................................................37
5 Material Properties .........................................................................................40
Introduction ......................................................................................................40
File Format .......................................................................................................40
Fluid Properties ................................................................................................40
Density, viscosity and compressibility of fresh water and acceleration of
gravity (MP3) ...............................................................................................41
Concentration dependence coefficients (MP4)............................................42
Soil Properties ..................................................................................................42
Hydraulic conductivity (MP1, MP2) ...........................................................43
Dispersion/diffusion coefficients (MP5) .....................................................48
Soil properties for unsaturated zone (SP1) ..................................................50
6 Boundary Conditions ......................................................................................55
Introduction ......................................................................................................55
Choosing Appropriate Boundary Conditions...................................................55
File Format .......................................................................................................56
Element Faces ..................................................................................................56
Point Sources/Sinks (PS)..................................................................................57
Dirichlet Boundary Conditions (DB) ...............................................................59
Flux Boundary Conditions (CB) ......................................................................60
Gradient Flux Boundary Conditions (NB) .......................................................62
Variable Boundary Conditions (RS) ................................................................64
7 Initial Conditions.............................................................................................69
Introduction ......................................................................................................69
Types of Initial Conditions...............................................................................69
Cold Starts ........................................................................................................69
Steady state versus transient ........................................................................70
Required values............................................................................................70
Convergence.................................................................................................71
Hot Starts..........................................................................................................71

viii

Hot start time................................................................................................72


Required values............................................................................................72
File format....................................................................................................72
Flow Solutions..................................................................................................73
Summary of Initial Condition Requirements ...................................................73
Model File Input...............................................................................................74
Start type (ICS) ............................................................................................74
Hot start time (ICT)......................................................................................75
Constant or variable concentration (ICC) ....................................................75
Constant or variable head (ICH) ..................................................................76
Initial condition file format (ICF) ................................................................76
Super File Input ................................................................................................77
8 Sample Applications........................................................................................79
Problem 1:
Problem 2:
Problem 3:
Problem 4:
Problem 5:

Steady-State Wellhead Protection ................................................79


Transient Confined Disposal ........................................................80
Transient Groundwater Remediation............................................81
Transient Non-point Chemical Spill.............................................82
Transient Salinity Intrusion ..........................................................83

References ...........................................................................................................85

Appendix A Mathematical Formulation..........................................................89


Governing Equations for Flow .........................................................................89
Governing Equations for Transport..................................................................98
Appendix B Numerical Formulation..............................................................107
Introduction ....................................................................................................107
Numerical Approximation of the Flow Equations .........................................109
Spatial discretization with the Galerkin finite element method.................109
Base and weighting functions ....................................................................112
Numerical integration.................................................................................112
Mass lumping option..................................................................................116
Finite difference approximation in time.....................................................117
Numerical implementation of boundary conditions...................................118
Solution of the matrix equations ................................................................120
Transport Equation.........................................................................................122
Spatial discretization with the weighted residual finite element method ..122
Base and weighting functions ....................................................................126
Numerical integration.................................................................................127
Mass lumping option..................................................................................129

vii

Finite difference approximation in time ....................................................129


Numerical implementation of boundary conditions...................................131
Solution of the matrix equations ................................................................134
Appendix C Output File Formats...................................................................135
Introduction ....................................................................................................135
Data Set Files .................................................................................................135
Text Data Set File Format ..............................................................................136
Binary Data Set File Format...........................................................................139

List of Figures

Figure 1

Super file format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

Figure 2

The element types supported by FEMWATER . . . . . . . . . . 15

Figure 3

Geometry file format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

Figure 4

The analysis option cards in the model file . . . . . . . . . . . . . . 22

Figure 5

The material properties cards in the model file . . . . . . . . . . . 40

Figure 6

The boundary condition cards in the model file . . . . . . . . . . . 54

Figure 7

Numbering scheme for element faces . . . . . . . . . . . . . . . . . .

Figure 8

The initial condition cards in the model file . . . . . . . . . . . . . . 72

Figure 9

The initial condition cards in the super file . . . . . . . . . . . . . . 75

Figure 10

Wellhead protection application showing numerical


model mesh and assigned boundary conditions . . . . . . . . . . . 78

Figure 11

Confined disposal facility application showing numerical


model mesh and assigned boundary conditions . . . . . . . . . . 79

Figure 12

Groundwater remediation application showing numerical


model mesh and assigned boundary conditions . . . . . . . . . .

Figure 13

viii

55

80

Chemical spill application showing numerical model mesh


and assigned boundary conditions . . . . . . . . . . . . . . . . . . . . . 81

Figure 14

Transient salinity intrusion application showing numerical


model mesh and assigned boundary conditions . . . . . . . . . . . 82

Figure B1

A hexahedral element in local coordinates . . . . . . . . . . . . . . 111

Figure B2

A surface area and its imbedded local coordinates . . . . . . . . 113

Figure B3

Weighting factor along a line element . . . . . . . . . . . . . . . . . 124

Figure B4

Upstream weighting factors along 12 sides of a hexahedral


element . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126

Figure C1

Text data set file format . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134

List of Tables
Table 1

Input Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

Table 2

Output Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

Table 3

Time-Step Interval Specification . . . . . . . . . . . . . . . . . . . . . . 33

Table 4

Resulting Time-Step Lengths . . . . . . . . . . . . . . . . . . . . . . . . . 33

Table 5

Representative Soil Parameters . . . . . . . . . . . . . . . . . . . . . . . 52

Table 6

Initial Condition Requirements . . . . . . . . . . . . . . . . . . . . . . . 72

vii

Preface

This report on a three-dimensional finite element computer model for


simulating density-driven flow and transport in variably saturated media was
prepared for the U.S. Army Environmental Center and the Athens Ecosystem
Research Division, Office of Research and Development, U.S. Environmental
Protection Agency.
The study was conducted in the Hydraulics Laboratory (HL) of the U.S.
Army Engineer Waterways Experiment Station (WES) from 1994 to 1995 under
the direction of Messrs. F. A. Herrmann, Jr., Director, HL; R. A. Sager, Assistant
Director, HL; and William D. Martin, Chief, Hydrosciences Division, (HD) HL.
The report was prepared by Dr. Hsin-Chi J. Lin, Watershed Systems Group,
Hydro-Science Division; Mr. David R. Richards and Mr. Cary A. Talbot,
Groundwater Systems Group, Hydro-Science Division; Drs. Gour-Tsyh Yeh,
Jing-Ru Cheng, and Hwai-Ping Cheng, Pennsylvania State University,
University Park, PA; and Dr. Norman L. Jones, Brigham Young University,
Provo, UT.
This report is being published by the WES Coastal and Hydraulics
Laboratory (CHL). The CHL was formed in October 1996 with the merger of
the WES Coastal Engineering Research Center and Hydraulics Laboratory.
Dr. James R. Houston is the Director of the CHL and Messrs. Richard A. Sager
and Charles C. Calhoun, Jr., are Assistant Directors.
At the time of publication of this report, Director of WES was Dr. Robert W.
Whalin. Commander was COL Bruce K. Howard, EN.

viii

1 Introduction

Purpose
The purpose of this report is to provide a complete set of documentation for
the FEMWATER groundwater model. The intended users of the manual will
have a wide range of technical experience and have widely different needs that
the model and documentation will fulfill. While it is impossible to address all
needs in the body of one document, this report has been written to provide useful
information for all users. Sophisticated users will find descriptions of the
numerical techniques and a complete set of governing equations that form the
theoretical basis of the model. The casual user will find examples of several
types of problems that it is hoped will include their type of application. With
little effort the casual modeler will be able to follow the examples provided and
spend little time with problem setup.

FEMWATER Origins
In the early 1990s, the Athens Laboratory of the U.S. Environmental
Protection Agency (AERL) and the U.S. Army Engineer Waterways Experiment
Station (WES) conducted independent evaluations of a wide variety of
groundwater models to determine which existing groundwater models could be
adopted for use in their in-house applications. AERL was interested in adopting
a three-dimensional (3-D) variably saturated model for wellhead protection use
that could model irregular geometries. WES was interested in the same
capabilities but for the purposes of conducting groundwater remediation studies
at contaminated Department of Defense sites and for salinity intrusion
applications in U.S. Army Corps of Engineers navigation projects. The
independent evaluations by both agencies resulted in the selection of the
3DFEMWATER (Yeh 1987b) and 3DLEWASTE (Yeh 1990) models for future
development and implementation within their agencies. Once it became known
to the agencies that they had similar interests and research responsibilities, a
cooperative research agreement was reached and work began on a single
groundwater modeling system to support both agencies. FEMWATER is the
name of the developed model.

Chapter 1 Introduction

FEMWATER is a modern implementation of the two older models,


3DFEMWATER (flow) and 3DLEWASTE (transport). FEMWATER was
formed by combining the two codes into a single coupled flow and transport
model. The 3DFEMWATER and 3DLEWASTE models were originally written
by Dr. Gour-Tsyh (George) Yeh at Pennsylvania State University while
FEMWATER was written as a collaborative effort between Dr. Yeh and Dr.
Hsin-Chi (Jerry) Lin at WES.
The improvements implemented in FEMWATER are numerous. First, the
entire program structure was changed to allow its integration into the
Department of Defense Groundwater Modeling System (GMS). The GMS
contains a state-of-the-art graphical user environment that allows efficient model
setup and visualization (Engineering Computer Graphics Laboratory (ECGL)
1996). This was a particularly onerous task in the older implementation of the
model since it suffered from the common limitations of older FORTRAN codes.
Second, a series of new solvers were added to replace the previously used block
iterative solver. The new solvers allow an arbitrary node numbering scheme that
allows easier graphical user interface connections and still enjoy improved
computational efficiency. Third, density-driven (salinity) transport capability
was added to allow salinity intrusion studies in coastal aquifers. This required
the coupling of flow and transport within a common model which is the last
major improvement. Previous versions separated the flow and transport
calculations.

Formulation of FEMWATER
FEMWATER is designed to solve the following system of governing
equations along with initial and boundary conditions, which describe flow and
transport through saturated-unsaturated porous media. The governing equations
for flow are basically the modified Richards equation, which is derived in
Appendix A. The equation is as follows:
Governing equations for flow


*
h

F
= K h + z +
q
o t
o o

F =

dS

+ + n
n
dh

(1)

(2)

where
F = storage coefficient

Chapter 1 Introduction

h = pressure head
t = time
K = hydraulic conductivity tensor
z = potential head
q = source and/or sink
= water density at chemical concentration C
o = referenced water density at zero chemical concentration
* = density of either the injection fluid or the withdrawn water
= moisture content
= modified compressibility of the medium
= modified compressibility of the water
n = porosity of the medium
S = saturation
The hydraulic conductivity K is given by

K=

( / o ) o g
/ o
g
k=
kskr =
K k

/ o so r
( / o ) o

(3)

where
= dynamic viscosity of water at chemical concentration C
o = referenced dynamic viscosity at zero chemical concentration
k = permeability tensor
ks = saturated permeability tensor

Chapter 1 Introduction

kr = relative permeability or relative hydraulic conductivity


Kso = referenced saturated hydraulic conductivity tensor
The referenced value is usually taken at zero chemical concentration. The
density and dynamic viscosity of water are functions of chemical concentration
and are assumed to take the following form

= a1 + a 2 C + a 3 C 2 + a 4 C 3
o

(4)

= a 5 + a 6 C + a 7 C 2 + a 8 C3
o

(5)

and

where a1, a2, ..., a8 are the parameters used to define concentration dependence of
water density and viscosity and C is the chemical concentration.
The Darcy velocity is calculated as follows

V = K o h + z

(6)

Initial conditions for flow equation. The initial conditions for the flow
equation are given by Equation (7):

h = h i ( x, y, z) in R ,

(7)

where R is the region of interest and hi is the prescribed initial condition, which
can be obtained by either field measurements or by solving the steady state
version of Equation (1).
Boundary conditions for flow equation. The boundary conditions for the
flow equation are given in the following equations.

a. Dirichlet conditions:

h = h d ( x b , y b , z b , t ) on B d ,

(8)

Chapter 1 Introduction

b. Gradient flux conditions:

n K o h = q n ( x b , y b , z b , t ) on B n ,

(9)

c. Flux conditions:

n K o h + z = q c ( x b , y b , z b , t ) on Bc ,

(10)

d. Variable conditions during precipitation period:

h = h p ( x b , y b , z b , t ) on B v ,

(11)

n K o h + z = q p ( x b , y b , z b , t ) on B v ,

(12)

or

e. Variable conditions during nonprecipitation period:

h = h p ( x b , y b , z b , t ) on B v ,

(13)

h = h m ( x b , y b , z b , t ) on B v ,

(14)

n K o h + z = q e ( x b , y b , z b , t ) on B v ,

(15)

or

or

where
(xb,yb,zb) = spatial coordinate on the boundary
n = outward unit vector normal to the boundary

Chapter 1 Introduction

hd = Dirichlet functional value


qn = Gradient flux value
qc = Flux value
Bd = Dirichlet boundary
Bn = Gradient flux boundary
Bc = Flux boundary
Bv = variable boundary
hp = ponding depth
qp = throughfall of precipitation on the variable boundary
hm = minimum pressure on the variable boundary
qe = evaporation rate on the variable boundary
Only one of Equations (11)-(15) is used at any point on the variable
boundary at any time.
Governing equations for transport
The governing equations for transport are derived based on the continuity of
mass and flux laws as given in Appendix A. The major processes are advection,
dispersion/diffusion, adsorption, decay, biodegradation, and source/sink.

S
C
+ b
+ V C (D C) =
t
t
h


+ (C + bS) (K w C + b K sS) +
t

(16)

h o

C
m qC + F
+ V

o t
t
S = K d C for linear isotherm

(17)

Chapter 1 Introduction

S=

S max KC
1 + KC

S = KC n

for Langmuir isotherm

for Freundlich isotherm

(18)

(19)

where
= moisture concentration
b = bulk density of the medium (M/L3)
C = material concentration in aqueous phase (M/L3)
S = material concentration in adsorbed phase (M/M)
t = time
V = discharge
= del operator
D = dispersion coefficient tensor
= compressibility of the medium
h = pressure head
= decay constant
m = q Cin = artificial mass rate
q = source rate of water
Cin = material concentration in the source
Kw = first order biodegradation rate constant through dissolved phase
Ks = first order biodegradation rate through adsorbed phase
F = storage coefficient
Kd = distribution coefficient
Smax = maximum concentration of medium in the Langmuir nonlinear
isotherm
n = power index in the Freundlich nonlinear isotherm

Chapter 1 Introduction

K = coefficient in the Langmuir or Freundlich nonlinear isotherm.


The dispersion coefficient tensor D in Equation (16) is given by

D = a T V + ( a L a T )

VV
+ a m
V

(20)

where
|V| = magnitude of V
= Kronecker delta tensor
aT = lateral dispersivity
aL = longitudinal dispersivity
am = molecular diffusion coefficient
= tortuosity
Initial conditions for transport equation. The initial conditions for the

transport equation are given by Equation (16):


C = C i ( x, y, z) in R

(21)

where R is the region of interest and Ci is the prescribed initial condition, which
can be obtained by either field measurements.
Boundary conditions for transport equation. The boundary conditions for
the transport equation are given in the following equations.

a. Dirichlet conditions:

C = C d ( x b , y b , z b ) on B d

(22)

b. Variable conditions:

n (VC D C) = n VC v (x b , y b , z b , t ) if n V 0

(23)

Chapter 1 Introduction

n ( D C) = 0 if n V > 0

(24)

c. Flux conditions:

n (VC D C) = q c (x b , y b , z b , t ) on B c

(25)

d. Gradient flux conditions:

n ( D C) = q n (x b , y b , z b , t ) on B n

(26)

where
(xb,yb,zb) = spatial coordinate on the boundary
n = outward unit vector normal to the boundary
Cd = concentration on the Dirichlet boundary
Cv = concentration of water through the variable boundary
Bd = Dirichlet boundary
Bv = variable boundary
qc = total flux through the boundary Bc
qn = total gradient flux through the boundaries Bn
Since the hybrid Lagrangian-Eulerian approach is used to simulate Equation
(16), it is written in the Lagrangian-Eulerian form as

( + K )
b

(K

= ( D C)
+ (C + bS)
Dt
t

D vd C

w C + b K sS) + m

qC +

(27)

h o

F
C
+ V
o t
t

Chapter 1 Introduction

Vd =

V
for linear isotherm model
+ b K d

D vf C
Dt

+ b

(28)

dS C
= ( D C)
dC t

h
+ (C + bS) (K w C + b K sS) +

(29)

h o

C
+ V
m qC + F

o t
t
Vf =

for Freundlich and Langmuir models

(30)

where Vd and Vf are the retarded and fluid pore velocities, respectively; and
Dvd()/Dt and Dvf()/Dt denote the material derivative of ( ) with respect to time
using the retarded and fluid pore velocities, respectively.
The flow equation, Equation (1), subject to initial and boundary conditions,
Equations (8)-(15), is solved with the Galerkin finite element method. The
transport equations, Equations (27) and (28) or (29) and (30), subject to initial
and boundary conditions, Equations (21)-(26), are solved with the hybrid
Lagrangian-Eulerian finite element methods. Detailed implementation of the
numerical approximation of flow and transport problems is given in Appendix B.

10

Chapter 1 Introduction

2 Running FEMWATER

File Organization
FEMWATER was designed to be operated in batch mode. The input for
FEMWATER is organized into a set of input files. The output from
FEMWATER is a combination of screen and file output. A summary of the
input and output files is shown in Table 1 and Table 2.

Super File
When FEMWATER is launched, the user is prompted for the name of a
single input file. This file is called the super file and contains a list of all of
the appropriate input and output files used in a particular simulation. Grouping
the file names in a super file simplifies file management and eliminates the need
to type the names of all of the files each time a simulation is performed. The
format of the super file is shown in Figure 1.
FEMSUP
GEOM filename
BCFT filename
PRTF filename
ICHD filename
ICMC filename
ICVL filename
ICCN filename
FLVL filename
FLPH filename
PSOL filename
MSOL filename
VSOL filename
CSOL filename

/* File type identifier */


/* Geometry file */
/* Model file */
/* Printed output file */
/* Press. head init. cond. file */
/* Moist. cont. (nodal) init. cond. file */
/* Velocity init. cond. file */
/* Concentration init. cond. file */
/* Velocity flow file (for trans. only sim.) */
/* Press. head file (for trans. only sim.) */
/* Press. head solution file */
/* Moist. cont. (nodal) solution file */
/* Velocity solution file */
/* Concentration solution file */

Figure 1. Super file format

Chapter 2 Running FEMWATER

11

Table 1
Input Files
File Name
Super File
Geometry File

Description
Text file containing a list of all of the input and output files used in
a FEMWATER simulation.
Text file containing the data describing the finite element mesh, i.e.,
nodal coordinates and element topology.

Model File

Text containing analysis parameters and options, material


properties , boundary conditions, and initial condition options.

Initial Condition Files

Text or binary files containing concentration, pressure head,


velocity, moisture content initial conditions.

Flow Files

Text or binary files containing a previously computed flow solution


(pressure head and velocity) which are used to define a 3-D flow
field for a transport only simulation.

Table 2
Output Files
File Name

Description

Printed Output

Text file containing a summary of the output.

Pressure Head

Text or binary file containing the computed pressure heads. Used


for post-processing or as initial conditions for a subsequent
analysis.

Moisture Content
Velocity
Concentration

Text or binary file containing the computed moisture content at


nodes. Used for post-processing.
Text or binary file containing the computed Darcian velocities. Used
for post-processing.
Text or binary file containing the computed concentrations. Used
for post-processing or as initial conditions for a subsequent
analysis.

The first record in the file is the file type identifier. Each of the subsequent
records represents an input or an output file. The first field in each record is a
four-character string identifying the type of the file listed in the record. The
second field in each record is the name of the corresponding file. The files
should be in the same directory as the super file.
Not all of the files shown in Figure 1 are required for every simulation.
Some of the initial condition files are not required depending on the initial
condition options specified in the model file. Also, the user can also specify in
the model file not to output some of the solution files.

Card Style Format


The records used in the super file format shown in Figure 1 are
representative of the formatting style used for all of the FEMWATER input files.
12

Chapter 2 Running FEMWATER

This format is often referred to as the card style format. With this format, the
components of the file are grouped into logical groups called cards. Typically,
each card is a single line or record; however, some cards extend to multiple
lines. The first component of each card is a short name that serves as the card
identifier. The remaining fields on the line contain the information associated
with the card. In some cases, such as lists, a card can use multiple lines. All of
the cards are assumed to be free-format.
Several advantages are associated with the card type approach to formatting
files:
a. Card identifiers make the file easier to read. Each input line has a label,
which helps to identify the data on the line.
b. The card names are useful as text strings for searching in a large file.
All input lines of a particular type can be located quickly in a large input
file.
c. Cards allow the data to be input in any order in many cases; i.e., the
order that the cards appear in the file is usually not important.
d. Cards make it easy to modify a file format. New data can be included
simply by defining a new card type. If the new card is optional (which is
typically the case for new cards) old files are still compatible. If an old
card type is no longer used, the card can simply be ignored without
causing input errors.

Other Files
Each of the files listed in the super file are described in more detail in
subsequent chapters. The geometry file is described in Chapter 3, the contents of
the model file are described in Chapters 3, 4, 5, and 6, the initial condition files
are described in Chapter 7, and the solution files are described in Appendix C.

Chapter 2 Running FEMWATER

13

3 Meshes

Introduction
The computational discretization utilized by FEMWATER is a threedimensional finite element mesh. The volumetric domain to be modeled by
FEMWATER must be idealized and discretized into hexahedra, prisms, and/or
tetrahedra. Elements are typically grouped into zones representing different
stratigraphic units. Each element is assigned a material ID representing the zone
to which the elements belongs. When constructing a mesh, care should be taken
to ensure that elements do not cross or straddle stratigraphic boundaries.

Elements Supported
The types of elements supported by FEMWATER are shown in Figure 2.
Each of the elements are linear; quadratic elements are not supported. Although
all three element types are supported, tetrahedra do not perform as well as the
other types and should be avoided if possible. The numbering sequence shown
in Figure 2 should be used when describing the elements in the geometry file.

Geometry File Format


The coordinates of the mesh nodes and the element topology are input to
FEMWATER through the geometry file. The format of the geometry file is
shown in Figure 3.

14

Chapter 3 Meshes

6
5

4
1

4
2
1

Hexahedron

Prism or Wedge
4
3

Tetrahedron

Figure 2. The element types supported by FEMWATER


3DFEMGEO
T1 text
T2 text
T3 text
GN id x y z
GE8 id n1 n2 n3 n4 n5 n6 n7 n8 matid
GE6 id n1 n2 n3 n4 n5 n6 matid
GE4 id n1 n2 n3 n4 matid
END

/* File type identifier */


/* Title, line 1 */
/* Title, line 2 */
/* Title, line 3 */
/* Nodal coordinates */
/* Hex. Element */
/* Prism element */
/* Tetrahedral element */
/* End of input data */

Figure 3. Geometry file format


The cards used in the geometry file are as follows:
Card Type
Description
Required

Chapter 3 Meshes

3DFEMGEO
File type identifier. Must be on first line of file. No fields.
YES

15

Card Type
Description
Required
Format

Sample

Card Type
Description
Required
Format
Sample
Field
id
N1
N2
N3
N4
N5
N6
N7
N8
Matid
Card Type
Description
Required
Format
Sample
Field
id
N1
N2
N3
N4
N5
N6
Matid

16

T1, T2, T3
Three title lines. Any text can be entered on these lines. The text is used as a banner
to the printed output.
NO
T1 text
T2 text
T3 text
T1 Salinity intrusion problem
T2 ACR Environmental Services Inc.
T3 June 19, 1995
GE8
Hexahedral element. One entry for each hexahedral element in the mesh. The
ordering of the nodes should correspond to the diagram in Figure 2.
YES
GE8 id n1 n2 n3 n4 n5 n6 n7 n8 matid
GE8 10 847 938 943 928 380 942 835 655 1
Variable
Value
Description
NEL
+
The ID of the node.
IE(NEL,1)
+
The index of node number 1.
IE(NEL,2)
+
The index of node number 2.
IE(NEL,3)
+
The index of node number 3.
IE(NEL,4)
+
The index of node number 4.
IE(NEL,5)
+
The index of node number 5.
IE(NEL,6)
+
The index of node number 6.
IE(NEL,7)
+
The index of node number 7.
IE(NEL,8)
+
The index of node number 8.
IE(NEL,9)
+
The element material index.
GE6
Wedge or prism element. One entry for each wedge element in the mesh. The
ordering of the nodes should correspond to the diagram in Figure 2.
YES
GE6 id n1 n2 n3 n4 n5 n6 matid
GE6 10 847 938 943 928 380 942 1
Variable
Value
Description
NEL
+
The ID of the node.
IE(NEL,1)
+
The index of node number 1.
IE(NEL,2)
+
The index of node number 2.
IE(NEL,3)
+
The index of node number 3.
IE(NEL,4)
+
The index of node number 4.
IE(NEL,5)
+
The index of node number 5.
IE(NEL,6)
+
The index of node number 6.
IE(NEL,9)
+
The element material index.

Chapter 3 Meshes

Card Type
Description
Required
Format
Sample
Field
id
N1
N2
N3
N4
Matid

GE4
Tetrahedral element. One entry for each tetrahedral element in the mesh. The
ordering of the nodes should correspond to the diagram in Figure 2.
YES
GE4 id n1 n2 n3 n4 matid
GE4 10 847 938 943 928 1
Variable
Value
Description
NEL
+
The ID of the node.
IE(NEL,1)
+
The index of node number 1.
IE(NEL,2)
+
The index of node number 2.
IE(NEL,3)
+
The index of node number 3.
IE(NEL,4)
+
The index of node number 4.
IE(NEL,9)
+
The element material index.

Card Type
Description
Required
Format
Sample
Field
id
X
y
z

GN
Mesh node. One entry for each node in the mesh.
YES
GN id x y z
GN 83 3482.4 4389.3 34.6
Variable
Value
Description
NNP
+
The ID of the node.
X(NNP,1)

The x coordinate of the node [L].


X(NNP,2)

The y coordinate of the node [L].


X(NNP,3)

The z coordinate of the node [L].

Card Type
Description
Required

END
End of input data marker.
YES

Mesh Generation Guidelines


As with any finite element problem, special care should be used in the
construction of the mesh to avoid numerical instability. Numerical accuracy and
stability are often competing interests. Procedures that assist in achieving model
stability often do so to the detriment of accuracy. When the need for
computational efficiency is added to accuracy and stability concerns, mesh
generation can be a difficult task. Indeed, many consider it an art form although
numerical efforts are under way to minimize the artistic requirements.
Prior to mesh generation, the hydrogeologic conceptual model should be
well defined. The stratigraphy and associated variations in hydraulic
conductivity should be well understood. Boundary conditions, whether they are
surface recharge, salinity concentrations, or wells, should be known in detail.
The locations of remediation structures or other mitigative treatments should be
mapped. Once all of this information is known, it is possible to start the mesh
generation process. Guidelines are now presented to assist in the process.
The computational domain required for FEMWATER is an unstructured,
three-dimensional finite element domain. The recommended method for

Chapter 3 Meshes

17

construction of such a numerical domain requires first that a two-dimensional


projection mesh be constructed. This projection mesh will be extruded into
layers of three-dimensional finite elements, forming the computational domain
for FEMWATER. The two-dimensional mesh will determine the horizontal
position of all nodes in the three-dimensional mesh while the vertical position of
these nodes will be determined by the stratigraphic conceptual model.
The first step in setting up a two-dimensional projection mesh is to take the
conceptual model generated in the subsurface conceptualization phase and
determine where the external boundary conditions will be located. These will
essentially coincide with locations where water table information around the area
of interest is available. The external edges of the model should be located where
this information is well known. The next step is to determine the number of
elements and their best distribution to solve the flow and transport problem.
Simply put, fine mesh spacing should be located where head or concentration
gradients are expected to be maximum. This will certainly be near wells that
have caused significant cones of depression. However, care must be given to
gradually vary the size of the elements to avoid numerical errors. For example,
the 50 percent rule should be followed whenever possible: the size of an element
should not differ from the size of an adjacent element by more than 50 percent.
Additionally, every effort should be made to avoid highly skewed or irregularly
shaped elements.
Once a projection mesh has been developed, interest should shift to the
proper vertical element spacing. Issues with regard to element spacing are
applicable to the vertical as well as horizontal dimensions. Fine resolution
should be placed in vertical regions where head or concentration gradients are
greatest and most particularly in the unsaturated zone. For example, if a highly
conductive aquifer is adjacent to a highly impermeable aquiclude, fine mesh
resolution is required in the vicinity of the interface. In general, there should be a
minimum of three layers of elements vertically for each distinct stratigraphic unit
particularly if large variations of hydraulic conductivity occur in adjacent layers.
As an aside, if large variations in hydraulic conductivity are required, no two
adjacent layers should vary by more than three orders of magnitude. If this rule
is violated, the solutions will likely be inaccurate and probably slow to converge.
If there are indeed sharp variations in conductivity, then many layers should be
used and the values varied gently over the short distance in which they change.
When setting up a mesh for a transport analysis, all of the previous issues are
germane as well as one other. First, if hexahedral elements are used, each
element should be constructed such that all of the element faces are planar. This
is a particular requirement because the particle tracking algorithm used by
FEMWATER may break down if a particle crosses an element face that is not
planar. Triangular faces are always planar, but quadrilateral faces may or may
not be planar.
On the subject of computational efficiency, it is important to note that the
smallest number of elements does not always provide the fastest simulation. It is
quite possible to construct a model with insufficient numbers of elements to

18

Chapter 3 Meshes

characterize the problem adequately, thereby creating a simulation that is slow to


converge. In short, fewer elements will be used in the calculation, but greater
numbers of iterations will be required. In general, if sufficient numbers of
elements are used, fewer iterations will be required to converge on a solution. It
is better to use large numbers of elements for few iterations to get accurate
answers than to use few elements for many iterations to get inaccurate and
possibly divergent answers.

Chapter 3 Meshes

19

4 Analysis Options

Introduction
One of the primary FEMWATER input files is the model file, which consists
of analysis options, material properties, boundary, and initial conditions. The
first of these groups, the analysis options, are described in this Chapter. The
material properties are described in Chapter 5, the boundary conditions are
described in Chapter 6, and the initial conditions are described in Chapter 7.

File Format
The set of cards in the model file corresponding to analysis options is shown
in Figure 4. The file type identifier and the title cards are similar to the
corresponding cards found in the geometry file and described in Chapter 0. Each
of the remaining cards is described in more detail in the following sections.

Run Option Parameters


The run option parameters designated on cards OP1, OP2, OP3, OP4, and
OP5 include options for specifying the type of simulation, the solver, relaxation
parameters, and sorption options.
Type of simulation (OP1)
The OP1 card is used to specify the type of simulation to be performed by
FEMWATER. The parameter KMOD indicates the type of simulation to be
conducted.

Chapter 4 Analysis Options

21

3DFEMWBC
T1 text
T2 text
T3 text
OP1 kmod
OP2 kssf ksst ilump imid ipntsf iquar
OP3 wf omef omif
OP4 ksorp
OP5 gg
IP1 niterf ncycle npiterf tolaf tolbf
IP2 nitert npitert tolbt
IP3 nitfit omeftt epss epst
PT1 nxw nyw nzw idetq
TC1 tmax
TC2 idt delt idtxy
OC1 ibug ichng jopt kprt/nprint
OC2 nselt kpro()
OC3 ifile kopt kdsk/npost
OC4 kselt ksave()

/* File type identifier */


/* Title, line 1 */
/* Title, line 2 */
/* Title, line 3 */.
/* Simulation type */
/* Solver options */
/* Weight factor */
/* Sorption */
/* Upper bound for eigen value */
/* Iteration opt.s, flow */
/* Iteration opt.s, trans. */
/* Iteration opt.s, coupled */
/* Particle tracking opts */
/* Total simulation time */
/* Time-step definition */
/* Print options */
/* Print options */
/* Format and interval */
/* Solution file opts */

Figure 4. The analysis option cards in the model file

Card Type
Description
Required
Format
Sample
Field
1

OP1
Type of simulation.
YES
OP1 kmod
OP1 10
Variable
Value
KMOD
10
1
11

Description
Flow simulation only.
Transport simulation only.
Coupled flow and transport.

The following options are available:


a. Perform a flow simulation only (KMOD=10).
b. Perform a transport simulation only(KMOD=1). For this case, a steadystate or transient flow simulation must be performed prior to the
transport simulation. The resulting pressure heads of this simulation are
then input to FEMWATER as flow variables. While only pressure heads
are required as input, previous versions of FEMWATER required that
the velocity field also be input for a transport only simulation. To
ensure backward compatibility, the velocity field may also be input as a
flow variable but it is not required. The steps involved in setting up the
proper initial conditions are described in Chapter 7.
c. Perform a coupled flow and transport simulation (KMOD=11). With a
coupled flow and transport simulation, the user has the option of
simulating either density-dependent flow or density-independent flow.

22

Chapter 4 Analysis Options

This option is controlled by entering the appropriate parameters defining


the relationship between concentration and density and concentration
and viscosity. These parameters are entered on the MP4 card described
in the section Concentration Dependence Coefficients (MP4) in
Chapter 5.
(1) Density-dependent flow. In this case, the flow and transport
simulations are performed simultaneously. The concentration of the
solute changes the density of the solution, thus changing the flow
solution. This option should be chosen only for density dependent
flow problems such as salinity intrusion in coastal aquifers. The
proper setting for this case is shown in sample problem 5 of Chapter
8.
(2) Density-independent flow. In this case, the flow and transport
simulation are performed sequentially for every time-step. The
proper setting for this case is shown in sample problem 3 of Chapter
8.
Solver options (OP2)
The OP2 card is used to select the type of time mode (steady-state or
transient) to be used and to set various solver options.
Card Type
Description
Required
Format
Sample
Field
1
2

3
4
5

OP2
Solver options.
YES
OP2 kssf ksst ilump imid ipntsf iquar
OP2 1 1 1 0 1 1
Variable
Value
Description
KSSF
0
Steady-state flow simulation.
1
Transient flow simulation.
KSST
0
Steady-state transport simulation.
1
Transient transport simulation.
(Note: KSSF and KSST must be set to the same value)
ILUMP
0
No mass lumping.
1
Mass lumping.
IMID
0
No mid-difference.
1
Mid-difference.
The pointwise iterative matrix solver.
IPNTSF
1
P.C.G. method (polynomial).
2
P.C.G. method (incomplete Cholesky).
3
Nodal/nodal quadrature.
IQUAR
11
Nodal/ gaussian quadrature.
12
Gaussian/nodal quadrature.
21
Gaussian/gaussian quadrature.
22

Steady-state versus transient. FEMWATER can be run in either a steadystate or transient mode. The steady state mode is allowed only when the flowsimulation-only option has been selected with the OP1 card. FEMWATER uses

Chapter 4 Analysis Options

23

the Lagrangian-Eulerian finite element method to solve the transport equation.


Therefore, the steady-state mode of transport simulation is not allowed in this
option. The transient mode must be used when a transport simulation is being
performed.
Mass lumping (ILUMP). This parameter indicates whether or not the mass
matrix is to be lumped. With lumping (ILUMP=1), the solution is less accurate
but potentially more stable. For saturated-unsaturated flow computations, or if
negative concentrations or oscillating solutions occur, this parameter should be
set to 1. If the computations are quite stable, particularly in largely saturated
flow simulations, the parameter should be set to zero.
Mid-difference (IMID). This parameter indicates if the mid-difference
method should be used in both the flow and transport computations. If IMID =1,
the mid-difference method is used. Setting IMID=1 is reserved for research
purposes so IMID=0 is the preferred setting.
Solver Selection (IPNTSF). The following three solvers are provided in
FEMWATER:

a. Pointwise iterative matrix solver. The pointwise iterative matrix solver


employs the basic successive iterative method to solve the matrix
equation, including the Gauss-Seidel method, successive
underrelaxation, and successive overrelaxation. When the resulting
matrix is diagonally dominant, the pointwise iterative solver provides a
convergent solution. This solver is preferred because it is more robust
than the other two solvers. However, when the speed of convergence is
too slow, one may wish to choose one of the other two solvers.

b. Preconditioned conjugate gradient method (polynomial). This solver


employs the conjugate gradient method to solve the matrix equation. It
uses a polynomial as a preconditioner. This matrix solver provides a
convergent solution when the resulting matrix is symmetric positive
definite (SPD). Theoretically, the convergence speed is faster than the
pointwise iterative solver. This solver should be used only when the
pointwise iterative solver is too slow.

c. Preconditioned conjugate gradient method (incomplete Choleski). This


solver employs the conjugate gradient method using the incomplete
Choleski decomposition as the preconditioner. A convergent solution is
provided when the matrix is SPD. However, when the matrix is slightly
non-symmetric, the solver could also give convergent solutions. Its
speed of convergence is theoretically faster than the pointwise iterative
solver and is comparable to the polynomial preconditioned conjugate
gradient method. This solver should be used only when the pointwise
iterative solver is too slow. This solver is generally but not always
preferred over the polynomial preconditioned conjugate gradient
method.

24

Chapter 4 Analysis Options

Quadrature selection (IQUAR). This parameter is an indicator of the type


of quadrature used in the numerical integration. The following four quadrature
options are provided:

a. Nodal/nodal quadrature. Nodal quadrature is used for surface and


element integration.

b. Nodal/gaussian quadrature. Nodal quadrature is used for surface


integration, and gaussian quadrature is used for element integration.

c. Gaussian/nodal quadrature. Gaussian quadrature is used for surface


integration, and nodal quadrature is used for element integration.

d. Gaussian/gaussian quadrature. Gaussian quadrature is used for both


surface and element integration.
Gaussian/gaussian quadrature yields the most accurate solution and should
be used as the default value. However, this option may provide oscillations or
divergence in highly nonlinear problems. When this occurs, the user should try
to use the nodal/nodal quadrature. Once these options have been used
unsuccessfully, the remaining options can be tried.
Weighting factor options (OP3)
The OP3 card is used to select the type of time derivative and relaxation
weighting factors to be used and to set several parameters associated with the
weighting factor.
Card Type
Description
Required
Format
Sample
Field
1
2

OP3
Weighting factor options.
YES
OP3 wf omef omif
OP3 1.0 1.0 1.0
Variable
Value
WF
0.5
1.0
OMEF
0.0-1.0
1.0
1.0-2.0
OMIF
0.0-1.0
1.0
1.0-2.0

Description
Crank-Nicolson.
Backward difference.
Iteration param. For nonlinear flow and transport.
Underrelaxation.
Exact relaxation.
Overrelaxation.
Iteration param. For linearized flow and transport.
Underrelaxation.
Exact relaxation.
Overrelaxation.

Weighting factor type (WF). This parameter determines how one would
evaluate the time derivative terms associated with the velocity in the flow
equation. Two types of weighting factors are available:

Chapter 4 Analysis Options

25

a. Crank-Nicolson central (WF=0.5). When new time derivatives are


determined by averaging the previous time derivative and an estimated
time derivative, the process is called Crank-Nicolson central weighting.

b. Backward difference (WF=1.0). When the time derivatives are


evaluated only at the new time, the process is called backward difference
weighting.
A value of WF equal to 1.0 (an implicit numerical scheme) should be used
for most practical problems. Setting WF equal to 0.5 is normally done for
research purposes to assess the accuracy of the Crank-Nicolson scheme.
Relaxation parameter for solving nonlinear flow and transport
equations (OMEF). When the flow and transport equations are nonlinear, an
estimate of the pressure head and the concentration is needed to compose the
matrix equation. There are three options to estimate the pressure head and
concentration based on previous guesses and newly obtained values:
underrelaxation, exact relaxation, and overrelaxation. OMEF is a weighting
factor that is applied to the newly obtained values, and a weighting factor of 1.0
minus OMEF is applied to the previous guesses. For underrelaxation, a value of
OMEF between 0.0 and 1.0 is used for the newly obtained values. For exact
relaxation OMEF is set equal to 1.0 and the newly obtained values are used as
the new guesses. For overrelaxation, a value of OMEF between 1.0 and 2.0 is
used for the newly obtained values.
Normally OMEF should be set to 1.0. If the convergence history shows
signs of oscillation, then a value of 0.5 should be used. If the convergence
history shows a monotonic decrease but at a very slow rate, then it should be set
to between 1.7 and 1.9.
Relaxation parameter for solving linearized flow and transport
equations (OMIF). In order to solve the linearized matrix equations using the
iteration method, an estimate of the solution is needed prior to taking the next
iteration. There are three options to estimate the solution based on previous
guesses and the newly obtained solution: underrelaxation, exact relaxation, and
overrelaxation. This is accomplished with an OMIF weighting factor that is
similar to the OMEF factor described in the previous section.
Normally OMIF should be set to 1.0. If the convergence history shows signs
of oscillation, then a value of 0.5 should be used. If the convergence history
shows a monotonic decrease but at a very slow rate, then it should be set to
between 1.7 and 1.9.
Sorption options (OP4)
The OP4 card is used to designate which model will be used for the sorption
isotherm. The selection of the sorption model should be dictated by

26

Chapter 4 Analysis Options

experimental evidence, and it depends highly on the type of chemicals and


subsurface media.
Card Type
Description
Required
Format
Sample
Field
1

OP4
Sorption options.
YES
OP4 ksorp
OP4 1
Variable
Value
KSORP
1
2
3

Description
Linear isotherm.
Freundlich isotherm.
Langmuir isotherm.

The following three models are available for modeling the sorption isotherm:
a. Linear. A linear isotherm is used for the adsorption model. For salinity
intrusion simulations, a linear model is sufficient.
b. Freundlich. A nonlinear isotherm (Freundlich isotherm) is used for the
adsorption model.
c. Langmuir. A nonlinear isotherm (Langmuir isotherm) is used for the
adsorption model.
Although the Freundlich isotherm option can be used to simulate a linear
isotherm by setting the value of the exponent (n = 1), it is recommended that the
linear isotherm be simulated by using only the linear isotherm option. This is
because the linear isotherm option makes use of retarded seepage velocities,
which result in a more accurate solution for the particle tracking scheme than the
pore velocities used in conjunction with the nonlinear adsorption models.
Sorption constants for the different isotherm options are entered on the MP5 card
discussed in Chapter 5.
Preconditioned conjugate gradient method (OP5)
The OP5 card is used to provide an estimator for GG in the preconditioned
conjugate gradient method. If the OP5 card is not present in the input, GG is not
read but will be computed by the solver itself. If the OP5 card is present, GG is
read and it will be the upper bound of the maximum eigenvalue of the coefficient
matrix using the preconditioned conjugate gradient method. The default value is
1.0.

Chapter 4 Analysis Options

27

Card Type
Description
Required
Format
Sample
Field
1

OP5
Maximum eigenvalue for preconditioned conjugate gradient method.
NO
OP5 gg
OP5 1.0
Variable
Value
Description
GG
Upper bound for eigenvalue.

Iteration Parameters
The cards IP1, IP2, and IP3 are used to specify the number of iterations for
the flow simulation, the transport simulation, and the coupled simulation.
Flow simulation (IP1)
The IP1 card is used to specify the number of iterations for solving the flow
equations, and the number of cycles used to update rainfall-seepage boundary
conditions, and in determining convergence criteria in both steady-state and
transient simulations. This card is required for both flow-only and coupled
simulations.
Card Type
Description
Required
Format
Sample
Field
1
2
3
4
5

IP1
Iteration parameters for the flow simulation.
YES
IP1 niterf ncylf npiterf tolaf tolbf
IP1 40 10 400 0.0001 0.0001
Variable
Value
Description
NITERF
+
Number of iterations allowed for solving the nonlinear flow
equation.
NCYLF
+
Number of cycles permitted for iterating rainfall seepage
boundary condition per time-step.
NPITERF
+
Number of iterations allowed for solving linearized flow
equations by pointwise iterative solver.
TOLAF
+
Steady state convergence criterion for flow simulation [L].
TOLBF
+
Transient convergence criterion for flow simulation [L].

The following iteration parameters must be designated for the flow


simulation.
a. Number of iterations for solving the nonlinear flow equation, NITERF.
Normally a value of 40 is necessary for solving the nonlinear flow
equations. However, if this number is exceeded, a warning message is
issued.
b. Number of iterations used per time-step to check if rainfall-seepage
boundary conditions are properly used and converged, NCYLF. If no
rainfall-seepage boundary conditions are used, the value should be 1.

28

Chapter 4 Analysis Options

When they are used, a value of 10 should be adequate. If 10 is not


adequate for convergence, a warning message is issued and the user
should increase the number of iterations.
c. Number of iterations allowed for solving the linearized flow equation by
pointwise iterative solver, NPITERF. A value of 400 is sufficient for
most problems. If this number is exceeded and the solution does not
converge, the program issues a warning message.
d. Steady-state convergence criterion for the flow simulation, TOLAF.
This is the absolute error allowed to determine if a steady-state solution
has reached convergence for hydraulic heads. A value of 0.00001 for
the maximum disturbance is usually sufficient for most problems.
However, the user may wish to determine the convergence criterion as
part of the calibration of model parameters.
e. Transient convergence criterion for the flow simulation, TOLBF. This
is the absolute error allowed to determine if hydraulic heads have
converged. A value of 0.0001 for the maximum disturbance is usually
sufficient for most problems. However, the user may wish to determine
the convergence criterion as part of the calibration of model parameters.
Transport simulation (IP2)
The IP2 card is used to specify the number of iterations for solving the
transport equation, the transport equation by pointwise solver, and convergence
criteria for transient transport simulations. This card is required for both
transport only and coupled simulations.
Card Type
Description
Required
Format
Sample
Field
1
2
3

IP2
Iteration parameters for the transport simulation.
YES
IP2 nitert npitert tolbt
IP2 40 10 400 0.001
Variable
Value Description
NITERT
+
Number of iterations allowed for solving the nonlinear transport
equation.
NPITERT
+
Number of iterations allowed for solving linearized transport
equation.
TOLBT
+
Transient convergence criterion for transport simulation [M/L3].

The following iteration parameters must be designated for transport


simulations.
a. Number of iterations allowed for solving the nonlinear transport
equation, NITERT. Normally, a value of 40 is sufficient. If this number
is exceeded and the solution does not converge, a warning message is
displayed.

Chapter 4 Analysis Options

29

b. Number of iterations allowed for solving the linearized transport


equation, NPITERT. Normally, a value of 400 is sufficient for solving
the linearized transport equation with the successive point iterative
solver. Exceeding this number will indicate a nonconvergent solution
and cause a message to be displayed. When this occurs, a larger value
should be used.
c. Transient convergence criterion for transport simulation, TOLBT. This
is the relative error for determining if concentrations have converged
during transient simulations. A value of 0.001 is recommended.
Coupled simulation (IP3)
The IP3 card is used to specify number of iterations used in solving the
coupled flow and transport equations. This card is used in addition to the IP1
and IP2 cards.
Card Type
Description
Required
Format
Sample
Field
1
2
3
4

IP3
Iteration parameters for the coupled simulation.
YES
IP3 nitfit omeftt epss epst
IP3 10 0.5 0.01 0.05
Variable
Value Description
NITFIT
+
Number of iterations allowed for solving the coupled nonlinear
equations for transient solutions.
OMEFTT
+
Iteration parameter for solving the coupled nonlinear equations
for transient solutions.
EPSS
+
Convergence criterion for head for solving the coupled
nonlinear equations for transient solutions [L].
EPST
+
Convergence criterion for concentration for solving the coupled
nonlinear equations for transient solutions [M/L3].

The following iteration parameters must be designated for coupled


simulation.
a. Number of iterations allowed for solving the coupled nonlinear
equations for transient solutions, NITFTT. Normally, a value of 10
should be sufficient. If this number is exceeded and the solution does
not converge, a warning message will be issued.
b. Iteration parameter for solving the coupled nonlinear equations for
transient solutions, OMEFTT. This parameter is the weighting factor
used with the present and previous results for solving the coupled
nonlinear equation of the transient solution. A value of 0.5 should be
used for most problems.
c. Convergence criterion for head for solving the coupled nonlinear
equations for transient solutions, EPSS. This is the absolute error
allowed for determining if a coupled flow and transport solution for
30

Chapter 4 Analysis Options

hydraulic head has converged. A value of 0.01 for the maximum


disturbance should be sufficient.
d. Convergence criterion for concentration for solving the coupled
nonlinear equations for transient solutions, EPST. This is the relative
error allowed for determining if a coupled flow and transport solution
for concentration has converged. A value of 0.05 for the maximum
disturbance should be sufficient.

Particle Tracking Parameters


In order to simulate the advective transport of particles through the model
domain, FEMWATER employs a particle tracking technique. Particle tracking,
as its name implies, is a means of using numerical results to track fictitious
individual particles across a numerical model mesh, approximating the advection
of the contaminant front. In order to accurately track particles over large
elements with large velocity gradients, it sometimes necessary to subdivide the
individual elements into smaller subelements.
Card Type
Description
Required
Format
Sample
Field
1
2
3
4

PT1
Particle tracking parameters.
YES
PT1 nxw nyw nzw idetq
PT1 1 1 1 1
Variable
Value
Description
NXW
+
The number of grids for element tracking in the x-direction.
NYW
+
The number of grids for element tracking in the y-direction.
NZW
+
The number of grids for element tracking in the z-direction.
Index of particle tracking pattern.
IDETQ
Average velocity is used.
1
Single velocity of the starting point is used.
2

The particle tracking parameters are entered on the PT1 card. The following
parameters must be specified:
a. The number of grids for element tracking in the x-direction, NXW. This
parameter specifies how many subelements are needed in the x-direction.
The higher the velocity variation in the x-direction, the more
subelements are needed.
b. The number of grids for element tracking in the y-direction, NYW. This
parameter specifies how many subelements are needed in the y-direction.
The higher the velocity variation in the y-direction, the more
subelements are needed.
c. The number of grids for element tracking in the z-direction, NZW. This
parameter specifies how many subelements are needed in the z-direction.

Chapter 4 Analysis Options

31

The higher the velocity variation in the z-direction, the more


subelements are needed.
d. The particle tracking pattern, IDETQ. Two options are available:
(1) Average velocity is used (IDETQ=1). The use of average velocity is
more accurate, and it requires fewer subelements.
(2) Single velocity of the starting point is used (IDETQ=2). This option
should be used when the velocity pattern is so complicated that the
use of the average velocity would fail to locate a fictitious particle.
It should be used when a quick tracking is needed.

Time Control Parameters


The TC1 and TC2 cards are used to specify the total simulation time and the
time-step interval.
Maximum simulation time (TC1)
This is actual length of time to be simulated. Once the simulation time
reaches the maximum simulation time, the simulation will be terminated. In
steady-state simulations, this parameter is ignored.
Card Type
Description
Required
Format
Sample
Field
1

TC1
Maximum simulation time.
YES
TC1 tmax
TC1 1000
Variable
Value
Description
TMAX
+
The maximum simulation time [T].

Time-step interval (TC2)


The computational time-step can be specified either as a constant value or a
series of time-step sizes. The variable time-step should be used when the
boundary conditions are changing rapidly.

32

Chapter 4 Analysis Options

Card Type
Description
Required
Format
Sample
Field
1

TC2
Time-step size.
YES
TC2 idt delt/idtxy
TC2 0 1.0
Variable
Value
IDT
0
1
DELT
+
IDTXY
+

Description
Time-step type.
Constant.
Variable.
If IDT=0, constant time-step.
If IDT=1, index of xy card for variable time-step values. The
x values in the series represent times at which the time-step
size will change. The y values represent the time-step sizes.

The variable time-step option in FEMWATER is defined by specifying both


the time-step length and the time-step values at which these lengths occur. This
is specified using an XY Series card (XY1) described in the next section. An
example specification of these two parameters is given in Table 3. The resulting
time-steps that this specification will produce in FEMWATER are given in
Table 4. Note that in a transient FEMWATER simulation a time-step value of
zero represents the initial conditions specified for the simulation and is saved by
default to the resulting output files. The value of the first computational timestep will be determined by the specified length. The time-step values specified
in the first column of Table 3 indicate the time-steps to which the corresponding
time-step lengths in the second column of Table 3 are valid. In other words, one
can read the two columns of data in Table 3 as, until time-step X, the time-step
lengths will be Y, etc. until the maximum simulation time is reached.

Table 3
Time-Step Interval Specification

Table 4
Resulting Time-Step Lengths

Time-Step Value

Time-Step

2
4
6
8
10
15
20
30
40
50

2
2
2
2
2
5
5
10
10
10

10
20
50

Time-Step Length
2
5
10

The XY Series format (XY1)


The TC2 card in the previous section uses the XY Series format (XY1 card)
to specify how the time-step size changes with time. The XY1 card is used by
many of the FEMWATER input cards as a consistent means of designating a list
of pairs of numbers. This can be thought of as the x- and y-coordinates of a

Chapter 4 Analysis Options

33

curve, although the values do not necessarily have to correspond to a curve. In


many cases, the x-value represents a time and the y-value represents some
parameter that is changing with time. However, the series can represent any
relationship. Each XY1 card has an index that is referenced by other cards.
XY1 cards can appear anywhere in the input file and are often listed at the end of
the file.
Card Type
Description
Required
Format

XY1
XY Series. Used to define a sequence of pairs of numbers.
YES
XY1 i n dx dy rep begc tname
x1 y1
x2 y2
.
.
xn yn

Sample

Field
1
2
3
4
5
6
7
8

XY1 1 5 0 0 0 0 head
4.0 0.0
4.1 2.0
4.2 7.0
4.3 8.0
4.4 9.5
Variable
Value
I
+
N
+
DX
DY
REP
BEGC
TNAME
text
X,Y
,

Description
Index of xy series.
The number of xy pairs in the series.
Value is ignored by FEMWATER.
Value is ignored by FEMWATER.
Value is ignored by FEMWATER.
Value is ignored by FEMWATER.
A character string representing the name of the XY series.
After the XY1 card, the xy values of the series are listed,
one pair per line, up to N pairs.

Output Control Parameters


There are two basic types of output generated by FEMWATER. The first
type consists of printed text output summarizing the input data, the progress of
the simulation (convergence criteria, etc.), and a summary of the results. This
type of output is printed to the screen and to the printed output file described in
Chapter 2. The other type of output consists of a series of binary or text solution
files that can be used for graphical post-processing. The format of the solution
files is described in Appendix C. The output control card group (OC1, OC2,
OC3, and OC4) is used to specify what information is to be written to the printed
output file and saved to the solution files. The cards also control the interval at
which the output is printed or saved.

34

Chapter 4 Analysis Options

Print interval (OC1)


The OC1 card controls the frequency at which data are written to the printed
output file and whether or not diagnostic output and the cyclic change of rainfall
seepage nodes are printed.
Card Type
Description
Required
Format
Sample

Field
1

OC1
Interval for writing to printed output file.
YES
OC1 ibug ichng jopt kprt/nprint
OC1 0 0 0 1
/* Print at every time-step */
OC1 0 0 1 5
1.0
2.0
4.0
8.0
16.0
Variable
IBUG

ICHNG

JOPT

KPRT
KPRINT

/* Print at specified times */

Value
0
1
0
1
0
1
+
+
+

Description
Do not print diagnostic output.
Print diagnostic output.
Do not print cyclic change of rainfall/seep. nodes.
Print cyclic change of rainfall/seep. nodes.
Print at specified interval.
Print at specified set of time values.
Print interval if JOPT=0, or
Total number of specified times if JOPT=1.
If JOPT=1, after the OC1 card, list the specified print
times, one per line, up to KPRINT times.

Diagnostic output (IBUG). The integer, IBUG, is an indicator for


diagnostic output control. The diagnostic output will help users locate errors in
the input data.
Cyclic change of rainfall-seepage nodes (ICHNG). The integer, ICHNG,
is an indicator for controlling the printout of the convergence behavior at
rainfall-seepage nodes.
Print frequency (JOPT). The information that is written to the printed
output file can either be written out at a regular interval or at a specified set of
time values. The time values in the specified set of time values should
correspond to computational time-steps.
Print options (OC2)
The OC2 card is used to specify what information is written to the printed
output file. The information is written at the interval specified in the OC1 card.

Chapter 4 Analysis Options

35

Card Type
Description
Required
Format
Sample
Field
1

2+

OC2
Options for writing to printed output file.
YES
OC2 nselt kpro(i)
OC2 3 1 4 7
Variable
Value
Description
NSELT
+
Total number of print options selected. This field should
by followed by NSELT values, each of which ranges from
0-7 as explained below.
Print nothing.
KPRO(I)
0
Print flow and/or mass information at the boundary.
1
Print total head.
2
Print pressure head.
3
Print concentration.
4
Print flux.
5
Print nodal moisture content.
6
Print Darcy velocity.
7

The following items can be printed:


a. Flow and/or mass information at the boundary. The rate of change,
incremental, and total fluid and/or mass flow through the boundary are
printed (depending on whether simulation is flow only, transport only or
coupled flow and transport).
b. Total head. The total head at each node is printed.
c. Pressure head. The pressure head at each node is printed.
d. Concentration. The concentration at each node is printed.
e. Flux. The flux at each node is printed.
f.

Moisture content. The moisture content at each node is printed.

g. Darcy velocity. The Darcy velocity is printed at each node.


Save interval (OC3)
The OC3 card controls the frequency at which the computed solution is
saved to output files for post-processing. The solution can be saved at a regular
interval or at a specified set of time values. The time values in the specified set
of time values should correspond to computational time-steps.
The OC3 is also used to specify whether the files should be saved in text or
binary format. The binary format results in much smaller file sizes, an issue
which may be very important when running transient analyses on large meshes.
The text format requires more disk space, but it can be viewed with a text editor
and transferred between different computer platforms. Binary files, however,
cannot be transferred between different computer platforms.

36

Chapter 4 Analysis Options

Card Type
Description
Required
Format
Sample

OC3
Interval for saving solution files for post-processing.
YES
OC3 ifile kopt kdsk/npost
OC3 0 0 1
/* Save at every time-step */

OC3 0 1 5
1.0
2.0
4.0
8.0
16.0
Variable
IFILE

KOPT

KDSK
KPOST

Field

4+

/* Save at specified times */

Value
0
1
0
1
+
+
+

Description
Save in text format.
Save in binary format.
Save at specified interval.
Save at specified set of time values.
Save interval if KOPT=0, or
Total number of specified times if KOPT=1.
If KOPT=1, after the OC3 card, list the specified save
times, one per line, up to KPOST times.

Save options (OC4)


The OC4 card is used to specify what information is saved to the solution
files for post-processing or for use as initial conditions for subsequent
simulations. Each set of information is written to a separate file, which is either
binary or text depending on the option selected in the OC3 card. The formats of
the solution files are described in Appendix C. The solutions are saved one
time-step at a time at the interval specified in the OC3 card. At each time-step,
one value is written for each node.
Card Type
Description
Required
Format
Sample
Field
1

2+

OC4
Options for saving solution files for post-processing.
YES
OC4 kselt ksave(i)
OC4 3 1 3 4
Variable
Value
Description
KSELT
+
Total number of solution files selected. This field should
be followed by KSELT values, each of which ranges from
0-5 as explained below.
Save nothing.
KSAVE(I)
0
Save pressure head.
1
Save nodal moisture content.
3
Save velocity.
4
Save concentration.
5

The following types of solution files can be saved:


a. Pressure head.

Chapter 4 Analysis Options

37

b. Nodal moisture content computed at nodes as an average of surrounding


elements.
c. Darcy velocity.
d. Concentration.

38

Chapter 4 Analysis Options

5 Material Properties

Introduction
The second of the four primary groups of information in the model file is the
material properties. The material properties include fluid properties and soil
properties. One set of fluid properties is defined for the entire mesh, and one set
of soil properties is defined for each of the soil or aquifer types referenced by the
element material IDs.

File Format
The set of cards in the model file corresponding to material properties is
shown in Figure 5.
.
MP1 kcp
MP2 i kxx kxy kz kxy kxz kyz alpha por
MP3 rho visc grav betap
MP4 a1 a2 a3 a4 a5 a6 a7 a8
MP5 I k gamma al at am t decay n deckw decks
SP1 I ihm ihc ihw
.

/* Cond. Or perm. Flag*/


/* Cond. Or perm. Values */
/* Dens. And visc. Of water */
/* Dens. And visc. Coeff.s */
/* Disp./diffusion coeff.s */
/* Soil prop.For unsat. zone */

Figure 5. The material properties cards in the model file

Fluid Properties
The fluid property cards input to the model file are used to specify the
density, the viscosity and the compressibility of fluid, and the acceleration of
gravity. The acceleration of gravity is not a fluid property, but it is input on the
same line as the density and viscosity for convenience. Specifying the
acceleration of gravity allows the user to use any desired units for the fluid
properties, soil properties, and all other parameters input to FEMWATER. All
parameters should be consistent with the units of the specified acceleration of

40

Chapter 5 Material Properties

gravity. For example, if the gravity constant is specified in units of m/day2, all
length units, including mesh coordinates, must be in meters and all time units,
including time-step data, must be specified in units of days. However, since the
most common mass concentration unit used in groundwater is milligrams per
liter (mg/ l ) in SI units, the concentrations in FEMWATER should be specified
in units of mg/ l (ppm).
FEMWATER can be used to model density-driven flow and transport. Thus,
relationships must be defined between concentration, density, and viscosity. The
relationships used by FEMWATER are:

= a1 + a 2 C + a 3 C 2 + a 4 C 3
o

(31)

= a 5 + a 6 C + a 7 C 2 + a 8 C3
o

(32)

and

where
o, o = density and viscosity of fresh water
a1a8 = parameters used to define concentration dependence of water
density and viscosity
C = chemical concentration
Thus, values of o, o, and a1a8 must be specified by the user.
Density, viscosity and compressibility of fresh water and
acceleration of gravity (MP3)
The density, viscosity, and compressibility of fresh water , o, o, , and the
acceleration of gravity are specified with the MP3 card. Note that FEMWATER
requires the user to enter the compressibility of fresh water, not the modified
compressibility term used in Equation (2). Modified compressibility is
computed by FEMWATER according to Equation (A23). Typically the
compressibility of water is a small number, generally on the order of 10-15 - 10-17,
depending on the units used. Note that the units of compressibility are LT2/M.
Compressibility values are sometimes given in English units of ft2/lb. The reader
is reminded that when using English units, pounds are units of force, not mass
and the appropriate conversion to slugs must be made. As with all parameters in
FEMWATER, it falls to the user to ensure that all values are specified in units
consistent with the model dimensions of length, mass and time.

Chapter 5 Material Properties

41

Card Type
Description
Required
Format
Sample
Field
1
2
3
4

MP3
Density, viscosity and compressibility of fresh water.
YES
MP3 rho visc grav beta
MP3 1000.0 4.68 1.3e+8 0.0
Variable
Value
Description
RHO
+
Density of fresh water [M/L3].
VISC
+
Dynamic viscosity of water [M/L/T].
GRAV
+
Acceleration of gravity [L/T2].
BETA
+
Compressibility of water [LT2/M].

Concentration dependence coefficients (MP4)


The coefficients, a1a8, which are used to define the concentration
dependence of water density and viscosity, are specified with the MP4 card. The
parameters a1 and a5 should always set to 1.0 and for density-independent flow
the parameters a2, a3, a4, a6, a7, and a8 should also be set to zero.
For density-dependent flow, some or all of the parameters a2-a4 and a6-a8
should be nonzero. For example, typical salt water has a salt concentration of
around 1 kilogram per liter (1000 ppt). For a first-order density-dependent
relationship, the parameter a1 is set to 1.0, a2 is set to 0.001 (the inverse units of
concentration), and the parameters a3 and a4 are set to zero.
Card Type
Description
Required
Format
Sample
Field
1
2
3
4
5
6
7
8

MP4
Concentration dependence coefficients.
YES
MP4 a1 a2 a3 a4 a5 a6 a7 a8
MP4 1.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0
Variable
Value
Description
RHOMU(1)
1
Coefficient a1.
RHOMU(2)

Coefficient a2.
units.
RHOMU(3)

Coefficient a3.
units squared.
RHOMU(4)

Coefficient a4.
units cubed.
RHOMU(5)
1
Coefficient a5.
RHOMU(6)

Coefficient a6.
units squared.
RHOMU(7)

Coefficient a7.
units cubed.
RHOMU(8)

Coefficient a8.

The units are the inverse of concentration


The units are the inverse of concentration
The units are the inverse of concentration

The units are the inverse of concentration


The units are the inverse of concentration

Soil Properties
Each element in the mesh is assigned a material corresponding to the zone or
aquifer in which the element is located. The material ID is an index to a list of

42

Chapter 5 Material Properties

soil properties. The list of soil properties is input to the model file. The soil
properties that must be specified are hydraulic conductivity, compressibility,
dispersion, diffusion, radioactive decay coefficient, the first order biodegradation
rate of dissolved and absorbed phase, and three water retention curves describing
how moisture content, relative conductivity, and water capacity vary with
pressure head in the unsaturated zone.
Hydraulic conductivity (MP1, MP2)
The hydraulic conductivity for each soil type is specified using the MP1 and
MP2 cards. The MP1 card is used to specify whether the conductivity values
should be interpreted as hydraulic conductivity or as permeability.
Card Type
Description
Required
Format
Sample
Field
1

MP1
Hydraulic conductivity versus permeability.
YES
MP1 kcp
MP1 0
Variable
Value
Description
KCP
0
Hydraulic conductivity.
1
Permeability.

The hydraulic conductivity K is a symmetric tensor of second order. It


relates the flux F to the gradient of total head, H, in a rectangular system (x,y,z)
as

H
H
H
+ Kxy
+ Kxz
)
y
x
z
H
H
H
+ Kyy
+ Kyz
)
Fy = - ( Kyx
y
x
z
H
H
H
Fz = - ( Kzx
+ Kzy
+ Kzz
)
y
x
z
Fx = - ( Kxx

(33)

Since the tensor is symmetric, a coordinate system (,,) can be found such that
(Long 1961):

H
F = - K

H
F = - K

F = - K

Chapter 5 Material Properties

(34)

43

Therefore, the hydraulic conductivity tensor K in the (,,) coordinate


system can be written as

K xx

K = K yx
K
zx

K xy
K yy
K zy

K xz

K yz
K zz

K = 0
0

0
K
0

0
K

(35)

The transformation of K between the coordinate system (,,) and (x,y,z)


is given as follows.
Let , , and be the Euler angles between the (,,) and (x,y,z)
coordinates: is the angle between the - and z-axis on the plane perpendicular
to the y-axis, is the angle between and x-axis on the plane perpendicular to zaxis, and is the third angle (Morse and Feshbach 1978). The relationship
between (x,y,z) and (,,) is given by

x 1 2 3


y = 1 2 3
z
2
3
1

(36)

in which
1 = sin sin + cos cos cos
2 = cos sin - sin cos cos
3 = cos cos
1 = sin cos - sin sin cos
2 = cos cos + sin sin cos
3 = -sin sin
1 = -cos sin
2 = sin sin
3 = cos
where s, s, and s are the directional cosines between two coordinate
systems. These directional cosines are symmetrical with respect to the two
coordinate systems. The transformation of the flux vector between two
coordinate systems is similar to that between the coordinates, i.e.,

44

Chapter 5 Material Properties

Fx
1 2 3 F


Fy = 1 2 3 F

1 2 3 F
Fz

(37)

Substituting Equations (33) and (34) into Equation (37) gives

K xx

K yx
K
zx

K xy
K yy
K zy

K xz

K yz
K zz

H
x
1 2 3 K
H

= 1 2 3 0
y 0
H 1 2 3

z

0
K
0

0
K

H


H
(38)

H

By the chain rule,

H x y


H x y
=

H x y

z

z

z

H
x

H

y
H

z

(39)

The Jacobian can be obtained from Equation (37):

z

1 1 1
z

= 2 2 2



z 3 3 3

(40)

Substituting Equation (40) into Equation (39), then the resulting equation into
Equation (38) gives

Chapter 5 Material Properties

45

K xx

K yx
K
zx

K xy
K yy
K zy

K xz 1 2 3 K

K yz = 1 2 3 0
K zz 1 2 3 0

0
K
0

0
K

1 1 1

2 2 2 (41)
3 3 3

Relabeling the directional cosines in Equation (41) gives

K xx

K yx
K
zx

K xy
K yy
K zy

K xz 11 21 31 K

K yz = 12 22 32 0
K zz 13 23 33 0

0
K
0

0
K

11 12 13

21 22 23 (42)
31 32 33

in which
11 = sin sin + cos cos cos
12 = sin cos - cos sin cos
13 = -cos sin
21 = cos sin - sin cos cos
22 = cos cos + sin sin cos
23 = sin sin
31 = sin cos
32 = -sin sin
33 = cos
Finally the working equations to compute the hydraulic conductivity components
in the (x,y,z) coordinate are given by the following equation, when the principal
components in the (,,) coordinate and the three Euler angles between the
(x,y,z) and (,,) coordinates are known:
Kxx =
Kxy =
Kxz =
Kyx =
Kyy =
Kyz =
Kzx =
Kzy =
Kzz =

46

112 K + 212 K + 312 K


11 12 K + 21 22 K + 31 32 K
11 13 K + 21 23 K + 31 33 K
12 11 K + 22 21 K + 32 31 K
122 K + 222 K + 322 K
12 13 K + 22 23 K + 32 33 K
13 11 K + 23 21 K + 3 3 31 K
13 12 K + 23 22 K + 3 3 32 K
132 K + 232 K + 332 K

(43)

Chapter 5 Material Properties

For anisotropic cases, the three principal components should not all be equal,
i.e., K K K. The nine components of hydraulic conductivity tensor in
the (x,y,z) coordinate system must be computed given the three principal
components and three Euler angles.
a. For isotropic cases, the three principal components should be all equal,
i.e., Kxx = Kyy = Kzz = K. All off-diagonal terms of the hydraulic
conductivity tensor must be zero no matter what coordinate system is
used.
b. For horizontal isotropic cases, all off-diagonal terms must be zero, Kxx
and Kyy must be equal to K, and Kzz must be different from K.
c. For the vertical isotropic cases, all off-diagonal terms must be zero, Kyy
and Kzz must be equal to K, and Kxx must be different from K.
The hydraulic conductivity values, and compressibility, , of the medium are
entered on the MP2 card. The K values should correspond to either hydraulic
conductivity or permeability depending on the status of the KCP variable on the
MP1 card. Note that as with the compressibility of the fluid, FEMWATER
requires the user to enter the compressibility of the medium, not the modified
compressibility used to determine the storage coefficient in Equation (2).
Modified compressibilty is obtained from Equation (A22) by multiplying the
user-specified density and gravity values by the compressibility value entered
here. Soil compressibility values are also typically quite small, on the order of
10-15 10-17, depending on the units of the simulation. The reader is again
reminded that when using reported compressibility values in English units, these
are often given in units of ft2/lb. FEMWATER requires compressibility to be
entered in units of LT2/M. Since pounds are units of force, they must first be
converted to slugs (units of mass). It is the responsibility of the user to ensure
that all values used in a simulation are in consistent units of length, mass and
time.
The user may also note that porosity is used in Equation (2). Porosity in
FEMWATER is defined according to Equation (A9) in Appendix A. At fully
saturated conditions, porosity is equal to moisture content thus the porosity value
on the MP2 card should be the same as the appropriate value on the moisture
content vs. pressure head curve (see the section on the SP1 card later in this
chapter).

Chapter 5 Material Properties

47

Card Type
Description
Required
Format
Sample
Field
I
Kxx
Kyy
Kzz
Kxy
Kxz
Kyz
ALPHA
POR

MP2
Hydraulic conductivity tensor and soil compressibility and porosity.
YES
MP2 I kxx kyy kzz kxy kxz kyz alpha por
MP1 10 0.003 0.003 0.003 0.0 0.0 0.0 0.0 0.0
Variable
Value
Description
I
+
Material ID.
PROPF(1,I)
+
Saturated xx hydraulic conductivity [L/T], or saturated
permeability [L2] of the medium i.
PROPF(2,I)
+
Saturated yy hydraulic conductivity [L/T], or saturated
permeability [L2] of the medium i.
PROPF(3,I)
+
Saturated zz hydraulic conductivity [L/T], or saturated
permeability [L2] of the medium i.
PROPF(4,I)
+
Saturated xy hydraulic conductivity [L/T], or saturated
permeability [L2] of the medium i.
PROPF(5,I)
+
Saturated xz hydraulic conductivity [L/T], or saturated
permeability [L2] of the medium i.
PROPF(6,I)
+
Saturated yz hydraulic conductivity [L/T], or saturated
permeability [L2] of the medium i.
PROPF(7,I)
+
The compressibility of the medium i [LT2/M].
PROPF(8,I)
+
The porosity of the medium i [dimensionless].

Dispersion/diffusion coefficients (MP5)


The MP5 card is used to specify the bulk density, the parameters required to
define the isotherm relationship, the dispersion coefficients, the tortuosity,
radioactive decay constant, and the first-order biodegradation rate constants for
the dissolved and adsorbed phases for each soil type.
Card Type
Description
Required
Format
Sample
Field
i
k
gamma
al
at
am
t
decay
n
deckw
decks

48

MP5
Dispersion/diffusion coefficients.
YES
MP5 i k gamma al at am t decay n deckw decks
MP5 10 0.0 1200.0 5.0 5.0 0.0 1.0 0.0 0.0 0.0 0.0
Variable
Value
Description
I
+
Material type ID.
PROPT(1,I)
+
Distribution coefficient, Kd, Freundlich K, or Langmuir K for
medium i [L3/M].
PROPT(2,I)
+
Bulk density for medium i [M/L3].
PROPT(3,I)
+
Longitudinal dispersion for medium i [L].
PROPT(4,I)
+
Transverse dispersion for medium i [L].
PROPT(5,I)
+
Molecular diffusion coefficient for medium i [L2/T].
PROPT(6,I)
+
Tortuosity for medium i [unitless].
PROPT(7,I)
+
Radioactive decay constant for medium i [1/T].
PROPT(8,I)
+
Freundlich n or Langmuir Smax for medium i [unitless].
PROPT(11,I)
+
The first-order biodegradation rate constant through
dissolved phase for medium i [1/T].
PROPT(12,I)
+
The first-order biodegradation rate constant through
adsorbed phase for medium i [1/T].

Chapter 5 Material Properties

The density is specified as a bulk density, in units of [M/L3]. The bulk


density of a soil corresponds to its oven-dried mass divided by its in situ volume.
The isotherm is used to define a relationship between the amount of
contaminant adsorbed by the soil, S (mass of contaminant / mass of soil) and the
concentration of the contaminant, C. Three types of isotherms can be used in
FEMWATER:
a. Linear isotherm:

S = Kd C

(44)

b. Langmuir isotherm:

S=

S max KC
1 + KC

(45)

c. Freundlich isotherm:

S = KC n

(46)

where
Kd = distribution coefficient [L3/M]
Smax = maximum concentration of medium in the Langmuir nonlinear
isotherm
K = coefficient in the Langmuir or Freundlich isotherm
n = power index in the Freundlich nonlinear isotherm.
Note that a linear isotherm can be obtained using Equation (44) by setting n
equal to 1. The type of isotherm to be used is specified with the KSORP
variable on the OP3 card. However, one set of coefficients, Kd, Smax, K, and n, is
specified for each material type on the MP5 card.
Diffusion and dispersion are modeled in FEMWATER using the following
relationship:

D = a T V + ( a L a T )

Chapter 5 Material Properties

VV
+ a m
V

(47)

49

where
= moisture content
D = dispersion coefficient tensor
aT = transverse dispersion [L]

= Kronecker delta tensor


|V| = the magnitude of the Darcy velocity V [L/T]
aL = longitudinal dispersion [L]
am = molecular diffusion coefficient [L2/T]
= tortuosity
Thus, the parameters, aT, aL, am, and t must be specified by the user. They can be
obtained by experiment or literature review.
A radioactive decay constant, [1/T], may be specified for each material if
the contaminant decays according to radioactive decay behavior. First-order
biodegredation of the contaminant can also be simulated by entering
biodegradation constants for both the dissolved and adsorbed phases of the
contaminant in each material.
Soil properties for unsaturated zone (SP1)
The final set of parameters that must be specified for each medium is a
sequence of three curves defining how the moisture content, relative
conductivity, and water capacity vary as a function of pressure head in the
unsaturated zone.
Card Type
Description
Required
Format
Sample
Field
1
2
3
4

SP1
Soil properties for unsaturated zone.
YES
SP1 i ihm, ihc, ihw
SP1 10 3 4 5
Variable
Value
Description
I
+
Material type index.
IHM(I)
+
Index of moisture content versus pressure head XY series.
IHC(I)
+
Index of relative conductivity versus pressure head XY series.
IHW(I)
+
Index of water capacity versus pressure head XY series.

Relative conductivity. The governing equation for flow of water through a


variably saturated porous medium has effective hydraulic conductivity and

50

Chapter 5 Material Properties

storage terms. The effective hydraulic conductivity can be rewritten as the


product of nonlinear and constant terms in the form:

K( h) = K r K S

(48)

where Kr is the relative conductivity, ranging in value from 0.0 to 1.0, and KS is
the saturated hydraulic conductivity. The change of relative hydraulic
conductivity is caused by changes in moisture content, resulting in the
preferential movement of water through certain pathways, due to the influence of
capillary forces. As the soil becomes less saturated, the flow of water becomes
restricted to the pore sequences of smaller radii. This results in a reduction in
the spatially averaged effective hydraulic conductivity.
Moisture content. Moisture content in the unsaturated zone is a function of
the pressure head. The more negative the pressure head, the lower the moisture
content. The curve defining the relationship between moisture content and
pressure head should vary between the saturated moisture content, s, and the
residual moisture content, r. The saturated moisture content is equal to the
porosity of the medium since all of the void space is filled with fluid and as
mentioned previously, FEMWATER uses this value in all calculations where
porosity is required. Under unsaturated conditions, however, some of the void
space is filled with air; thus, the moisture content is less than the mediums
porosity. The residual moisture content represents the amount of water that
cannot be removed from a soil by gravity drainage (even under large suction
pressure) because it adheres to the grains of the soil.
Water capacity. The water capacity curve is equal to the slope of the
moisture content versus pressure head curve. Although this curve could be
determined automatically by FEMWATER from the moisture content curve, it is
input by the user to avoid errors resulting from the approximate piecewise linear
nature of the moisture content curve.
Generating the curves. Ideally, the relative conductivity, moisture content,
and water capacity curves are determined directly by performing a series of tests
on the soils involved in the study. However, in many cases they can be
approximated using a set of measured or approximated constants and a set of
empirical relationships. For example, one option for generating the curves is to
use the van Genuchten functions (van Genuchten 1980):

K r = 0e .5 1 (1 1e/ )

(49)

and

Chapter 5 Material Properties

e = 1 + ( h )

for h < 0

(50)

51

e = 1 for h 0

(51)

where

w = r + e ( s r )
= 1

(52)

(53)

and

w = moisture content (dimensionless)


e = effective moisture content (dimensionless)
s = saturation moisture content (dimensionless)
r = residual moisture content (dimensionless)
, = soil-specific exponents (dimensionless)

= soil-specific coefficient (1/L)


Table 5 lists a set of saturated and residual moisture contents and the van
Genuchten and terms for a variety of common soil types. When applying the
term, care should be taken to convert it to the proper units.

52

Chapter 5 Material Properties

Table 5
Representative Soil Parameters
Soil Type

Saturated
Moisture
Content, s

Clay1
0.38
Clay loam
0.41
Loam
0.43
Loam sand
0.41
Silt
0.46
Silt loam
0.45
Silty clay
0.36
Silty clay loam
0.43
Sand
0.43
Sandy clay
0.38
Sandy clay Loam
0.39
Sandy loam
0.41
Note: 1 Agricultural soil, less than 60% clay
Source: Carsel and Parrish (1988)

Residual
Moisture
Content, r

[cm-1]

0.068
0.095
0.078
0.057
0.034
0.067
0.070
0.089
0.045
0.100
0.100
0.065

0.008
0.019
0.036
0.124
0.106
0.020
0.005
0.010
0.145
0.027
0.059
0.075

1.09
1.31
1.56
2.28
1.37
1.41
1.09
1.23
2.68
1.23
1.48
1.89

Model convergence. The unsaturated zone soil property curves can have a
significant effect on model convergence. If any portion of a curve has a sharp
change in gradient (extreme curvature), FEMWATER may have a difficult time
converging during the iterative solution process. If convergence is a problem,
careful editing of the curves can often resolve the problem.
Entering the curves. The user must supply the moisture content, relative
conductivity, and water capacity versus. pressure head curves in tabular form.
The curves are specified at the end of the model file using a set of xy series
cards. The curves are referred to on the SP1 card by the IDs of the xy series.
The format of the xy series card is described in Chapter 4, The XY Series
format.

Chapter 5 Material Properties

53

6 Boundary Conditions

Introduction
The boundary conditions supported by FEMWATER include point sources
and sinks1 , Dirichlet (specified head), flux, flux gradient, and variable
boundaries (rainfall/evaporation and seepage). In each case, the prescribed
values can be either constant or vary with time. Not assigning boundary
conditions to a mesh boundary is equivalent to a no-flux boundary in a flow
simulation or to a no-diffusion flux boundary in a transport simulation.

Choosing Appropriate Boundary Conditions


FEMWATER offers the user several types of boundary conditions in an
attempt to cover the range of valid boundary conditions that can be encountered
in finite element groundwater modeling. Some confusion over which boundary
conditions are appropriate for various situations will undoubtedly occur. The
following discussion is intended to help in choosing appropriate boundary
conditions in FEMWATER simulations.
The most common boundary condition used in groundwater modeling is the
specified head (Dirichlet) boundary condition. If heads are known at a given
location over the length of the simulation, this is the most appropriate boundary
condition to use.
As a general rule, the variable boundary condition should be used when
modeling rainfall and evaporation. This boundary condition is the most robust
because it allows FEMWATER the freedom to change the boundary condition to
a specified head boundary condition for both over- and undersaturated
conditions (see the discussion of this boundary condition later in this chapter).
This feature is especially applicable in transient simulations where the water
table may fluctuate over the simulation time span.
1

Point sources/sinks are technically not boundary conditions. However, they are included in this
chapter for convenience.

Chapter 6 Boundary Conditions

55

Some modelers may be more accustomed to using the specified flux


boundary condition for infiltration/evaporation and inflow/outflow flux
conditions. Indeed, in some instances it is possible to know the flux on element
faces with a reasonable degree of assurance. However, the user is cautioned that
the specified flux is always taken in a direction parallel to the normal of the
element face to which this boundary condition is applied (see the discussion of
the flux boundary condition later in this chapter). Therefore, in a simulation
where a known flux condition exists, the specified flux value must be adjusted
for all element faces whose normals deviate from the known flux direction. In
most groundwater modeling scenarios, and particularly in transient simulations,
the model is best suited either by using specified head boundary conditions (for
inflow/outflow conditions on model boundaries) or by allowing the numerical
model to change a flux boundary condition to a constant head condition if
conditions warrant (for a infiltration/evaporation flux condition). The variable
boundary condition in FEMWATER provides the user with the latter capability.
Gradient flux boundary conditions, as indicated in the discussion of this type
of boundary condition later in this chapter, are rarely encountered in modeling
natural systems but are included in FEMWATER for completeness and for
research applications.

File Format
Boundary conditions are stored in the model file. The set of model file cards
corresponding to boundary conditions is shown in Figure 6.
.
PS1 nodeid flowseries
PS2 nodeid concseries
DB1 nodeid headseries
DB2 nodeid concseries
CB1 elemid faceid fluxseries
CB2 elemid faceid concseries
NB1 elemid faceid fluxseries
NB2 elemid faceid concseries
RS1 elemid faceid fluxseries
RS2 elemid faceid concseries
RS3 hcon hmin
.

/* Point source, flow rate */


/* Point source, concentration */
/* Dirichlet, head */
/* Dirichlet, concentration */
/* Flux, flux rate */
/* Flux, chemical flux rate */
/* Gradient Flux, gradient flux rate */
/* Gradient Flux, chemical gradient flux rate */
/* Variable, flux */
/* Variable, concentration */
/* Variable, pond depth, min hd. */

Figure 6. The boundary condition cards in the model file

Element Faces
The flux, gradient flux, and variable boundary conditions described in later
sections are all flux type boundary conditions and are assigned to element
faces. An element face is referenced by two indices, the element number and a

56

Chapter 6 Boundary Conditions

face index. The element number is simply the element ID The numbering
scheme used to determine face indices is shown in Figure 7.

8
7
5
6

4
3
1

1
2

3
2
1

Face
1
2
3
4
5
6

Nodes
1-4-3-2
5-6-7-8
1-2-6-5
2-3-7-6
3-4-8-7
4-1-5-8

Prism or Wedge
Face
1
2
3
4
5

Nodes
1-3-2
4-5-6
1-2-5-4
2-3-6-5
3-1-4-6

1
4

Hexahedron

1
3

3
2

Tetrahedron
Face
1
2
3
4

Nodes
2-3-4
1-4-3
1-2-4
1-3-2

1
Figure 7. Numbering scheme for element faces

Point Sources/Sinks (PS)


Point source/sink type boundary conditions consist of a volumetric flux or
flow rate assigned to nodes in the mesh. Sources and sinks typically correspond
to injection and extraction wells. For transport simulations, the concentration of
the fluid can also be specified. The sign convention for point sources and sinks
in FEMWATER is that a positive flow rate represents an injection well and a
negative value represents an extraction well.

Chapter 6 Boundary Conditions

57

Point sources/sinks are specified with the PS1 and PS2 cards. The PS1 card
is used to specify the flow rate (L3/T), and the PS2 card is used to specify the
concentration (M/ L3). Both cards contain a field which is an index to an XY
Series card. The XY Series card (specified elsewhere in the file) describes how
the flow rate and concentration vary with time. If the value is constant (does not
vary with time), only one value should be given in the XY Series. The XY
Series card is described in Chapter 4.
It should be noted that the PS2 card is required for all transport simulation
point sources and sinks. Thus a concentration must be specified for both
injection and extraction wells. The value specified at the extraction well will
not, however, affect the simulation results in any way.
A common practice in well installation is to inject and/or extract the fluid
over a screened interval of the aquifer. This interval can be any distance from
several centimeters to many meters. Since FEMWATER requires that well flow
rates be specified at nodes, it is good practice to designate as many nodes of the
finite element mesh as lie within the screened interval of the well as point
sources and/or sinks. The flow rate for the well should be divided among the
nodes used to simulate the screened interval of the well. It is not required that
these flow rates be divided evenly among the well screen nodes thus allowing the
user to weight rates of flow from different levels of the screened interval.
It should also be noted that FEMWATER requires point sources and sinks to
be defined only in the saturated zone. Thus all wells, whether injection or
extraction, must lie in the saturated zone of the aquifer and may not exist in the
vadose zone. If a point source or sink is located in a region that becomes
unsaturated during the course of the simulation, the simulation will halt at the
timestep where this occurs, regardless of whether the well is injecting or
extracting.

58

Card Type
Description
Required
Format
Sample
Field
Nodeid
Flowseries

PS1
Point source/sink flow rate for both flow and transport simulation.
NO
PS1 nodeid flowseries
PS1 324 1
Variable
Value
Description
NPWF(I)
+
Node number.
IWTYPF(I)
+
Index of the flow rate XY Series.

Card Type
Description
Required
Format
Sample
Field
Nodeid
Concseries

PS2
Point source/sink concentration for transport simulation.
NO
PS2 nodeid concseries
PS2 324 2
Variable
Value Description
NPWT(I)
+
Node number.
IWTYPT(I)
+
Index of the concentration XY Series.

Chapter 6 Boundary Conditions

Dirichlet Boundary Conditions (DB)


A Dirichlet boundary condition consists of a prescribed total head at a node.
A concentration may also be specified. The Dirichlet boundary condition is
usually applied to soil-water interface such as stream, artificial impoundments,
lakes, and coastal lines.
The governing flow equations for FEMWATER are written in terms of
pressure head. Thus, the formal definition of a Dirichlet boundary condition for
head is:

h = h d ( x b , y b , z b , t ) on B d ,

(54)

where (xb,yb,zb) is the spatial coordinate on the boundary, Bd is the Dirichlet


boundary, and hd is the prescribed pressure head. Since it is more convenient to
specify total head rather than pressure head, Dirichlet boundary conditions are
input as total head values, and they are converted internally by FEMWATER to
pressure heads by subtracting the elevation of the nodes where the boundary
conditions are assigned.
Thus, the formal definition of a Dirichlet concentration boundary condition
for head is:

C = C d ( x b , y b , z b ) on B d ,

(55)

where Cd is the prescribed concentration at the Dirichlet boundary. It


should be noted that this is a fixed concentration and is independent of
fluid flow direction.
There are situations in transport modeling where one desires to solve
for the fluid concentration as the fluid is exiting through a specified head
boundary. FEMWATER provides a means of accomplishing this through
the use of two types of boundary conditions. The specified head values
should be assigned to the nodes as described above however no specified
concentration value should be assigned. The variable boundary condition
(described later in this chapter) should be assigned to the element faces on
this boundary. This will allow the user to assign a concentration to the
fluid when flow is entering the system through the constant head boundary
and when flow leaves the system through the boundary, a concentration
will be computed by FEMWATER. The reader is referred to the
discussion of the variable boundary condition later in this chapter for a
more detailed description of how to implement this special combination of
boundary conditions.

Chapter 6 Boundary Conditions

59

Dirichlet boundary conditions are specified with the DB1 and DB2 cards.
The total head (L) is specified with the DB1 card for flow simulation, and the
concentration (M/L3) is specified with the DB2 card for transport simulation. In
both cases, the values are specified with XY Series cards. If the head or
concentration does not change with time, only one value should be listed in the
XY Series.

Card Type
Description
Required
Format
Sample
Field
nodeid
headseries

DB1
Dirichlet boundary conditions, prescribed total head for flow simulation.
NO
DB1 nodeid headseries
DB1 324 2
Variable
Value
Description
NPDBF(I)
+
Node number.
IDTYPF(I)
+
Index of the head XY Series.

Card Type
Description
Required
Format
Sample
Field
nodeid
concseries

DB2
Dirichlet boundary conditions, prescribed concentration for transport simulation.
NO
DB2 nodeid concseries
DB2 324 3
Variable
Value
Description
NPDBT(I)
+
Node number.
JDTYPT(I)
+
Index of the concentration XY Series.

Flux Boundary Conditions (CB)


A flux boundary condition consists of a fluid flux prescribed at a boundary
element face. A contaminant mass flux may also be specified. Formally, the
flux boundary condition for flow can be stated as:

n K o h + z = q c ( x b , y b , z b , t ) on Bc ,

(56)

where
n = outward unit vector normal to the boundary
(xb, yb, zb) = spatial coordinate on the boundary
K = hydraulic conductivity tensor
o = reference (clean) fluid density
= solution density

60

Chapter 6 Boundary Conditions

h = pressure head
z = elevation
qc = flux rate
Bc = flux boundary
The flux boundary for transport can be stated as:

n (VC D C) = q c (x b , y b , z b , t ) on B c ,

(57)

where
V = Darcy velocity
C = concentration
= moisture content
D = dispersion coefficient tensor
qc = prescribed flux rate
Bc = flux boundary
The flux boundary condition is typically applied to surface water bodies with
known infiltration rates through the layers of the bottom sediments or liners into
the subsurface media. The flux rate for flow and transport is a negative value
when it leaves the system and is a positive value when it enters the system.
Flux boundary conditions are specified with the CB1 and CB2 cards. The
flux rate (L/T) is specified with the CB1 card for flow simulation, and the
contaminant mass flux rate (mass per unit area per time, M/L2/T) is specified
with the CB2 card for transport simulation. In both cases, the values are
specified with XY Series cards. If the flux rate does not change with time, only
one value should be listed in the XY Series. Note that concentration flux is not
specified with the flux boundary condition but rather contaminant mass flux. It
is possible in FEMWATER to prescribe a fluid flux and a concentration flux at
the same element faces by prescribing both the flux and Variable boundary
conditions at the element faces. Fluid flux is specified at the element faces with
the flux boundary condition with no contaminant mass flux. The Variable
boundary condition, described later in this chapter, is then used to prescribe the
concentration flux (with no fluid flux) at the same element faces. This
combination of boundary condition types is very useful in modeling boundaries
with known inflow concentrations and unknown outflow concentrations, such as
in tidal saltwater boundaries.

Chapter 6 Boundary Conditions

61

Card Type
Description
Required
Format
Sample
Field
Elemid
Faceid
Fluxseries

CB1
Flux boundary conditions, prescribed flux rate for flow simulation.
NO
CB1 elemid faceid fluxseries
CB1 353 3 8
Variable
Value
Description
NPCBF(I)
+
Element number.
IDCF(I)
+
Element face ID.
ICTYPF(I)
+
Index of the flux XY Series.

Card Type
Description
Required
Format
Sample
Field
Elemid
Faceid
Concseries

CB2
Flux boundary conditions, prescribed flux rate for transport simulation.
NO
CB2 elemid faceid concseries
CB2 353 3 9
Variable
Value
Description
NPCBT(I)
+
Element number.
IDCT(I)
+
Element face ID.
ICTYPT(I)
+
Index of the concentration XY Series.

Gradient Flux Boundary Conditions (NB)


The gradient flux boundary condition rarely occurs in nature, but is included
for completeness. It consists of a fluid flux gradient prescribed at a boundary
element face. The concentration of the fluid may also be specified. Formally,
the gradient flux boundary condition for flow can be stated as:

nK

o
h = q n ( x b , y b , z b , t ) on B n ,

(58)

where
n = outward unit vector normal to the boundary
(xb, yb, zb) = spatial coordinate on the boundary
K = hydraulic conductivity tensor
o = reference (clean) fluid density
= solution density
h = pressure head
qn = prescribed flux rate

62

Chapter 6 Boundary Conditions

Bn = Gradient flux boundary


The gradient flux boundary for transport can be stated as:

n ( D C) = q n (x b , y b , z b , t ) on B n ,

(59)

where
C = concentration
= moisture content
D = dispersion coefficient tensor
qn = prescribed flux rate
Bn = Gradient flux boundary
The flux gradient for flow and transport is a negative value when it leaves
the system and is a positive value when it enters the system.
Gradient flux boundary conditions are specified with the NB1 and NB2
cards. The flux gradient (L/T) is specified with the NB1 card for flow
simulation, and the flux rate (mass per unit area per time, M/L2/T) is specified
with the NB2 card for transport simulation. In both cases, the values are
specified with XY Series cards. If the flux gradient does not change with time,
only one value should be listed in the XY Series.
Card Type
Description
Required
Format
Sample
Field
Elemid
Faceid
Fluxseries

NB1
Gradient flux boundary conditions, prescribed flux gradient for flow simulation.
NO
NB1 elemid faceid fluxseries
NB1 353 3 8
Variable
Value
Description
NPNBF(I)
+
Element number.
IDNF(I)
+
Element face ID.
INTYPF(I)
+
Index of the flux gradient XY Series.

Card Type
Description
Required
Format
Sample
Field
Elemid
Faceid
Fluxseries

NB2
Gradient flux boundary conditions, prescribed flux rate for transport simulation.
NO
NB2 elemid faceid fluxseries
NB2 353 3 9
Variable
Value
Description
NPNBT(I)
+
Element number.
IDNT(I)
+
Element face ID.
INTYPT(I)
+
Index of the concentration XY Series.

Chapter 6 Boundary Conditions

63

Variable Boundary Conditions (RS)


Variable boundary conditions are typically applied to the top faces of the
uppermost layer of elements in the mesh (i.e., at the soil-air interface), and are
used to simulate evaporation, seepage due to precipitation and seepage exit
faces. Another powerful use of the variable boundary condition is in
combination with either Dirichlet or flux boundary conditions to simulate
boundaries with known head or fluid flux rates but unknown concentrations.
Variable boundary conditions are called variable not because they can vary
with time, but because they correspond to either a Dirichlet or a flux boundary
condition depending on the potential evaporation, the conductivity of the media,
the availability of water such as rainfall and the level of the groundwater.
During the precipitation period, variable boundary conditions are defined as

h = h p ( x b , y b , z b , t ) on B v ,

(60)

n K o h + z = q p ( x b , y b , z b , t ) on B v ,

(61)

or

During the nonprecipitation period, variable boundary conditions are defined


as

h = h p ( x b , y b , z b , t ) on B v ,

(62)

h = h m ( x b , y b , z b , t ) on B v ,

(63)

n K o h + z = q e ( x b , y b , z b , t ) on B v ,

(64)

or

or

where
h = pressure head
hp = ponding depth

64

Chapter 6 Boundary Conditions

(xb,yb,zb) = spatial coordinate on the boundary


Bv = variable boundary
n = outward unit vector normal to the boundary
K = hydraulic conductivity tensor
o = reference (clean) fluid density
= solution density
z = elevation
qp = precipitation
hm = minimum pressure head
qe = maximum evaporation rate
Only one of Equations (60)-(64) is used at any given time on the variable
boundary. During the precipitation period, rainfall infiltrates to the subsurface at
a rate equal to the prescribed precipitation flux, qp, according to Equation (61).
If the precipitation flux exceeds the infiltration capacity of the soil or if the
groundwater table rises to the surface of the mesh, the pressure head is not
allowed to rise above the ponding depth, hp. If it does, the boundary condition
switches to the Dirichlet condition of Equation (60), i.e., the pressure head is set
equal to the ponding depth.
During the nonprecipitation period, the boundary condition corresponds to
one of Equations (62)-(64). Once again, the pressure head is not allowed to rise
above the ponding depth (Equation (62)). If the pressure head is below the
ponding depth, the boundary condition is switched to the flux condition of
Equation 64 and the flux is set equal to the specified evaporation flux, qe. If the
pressure head drops below the minimum pressure head, hm, the boundary
condition is switched to the Dirichlet condition of Equation (63), and the
pressure head is set equal to the minimum pressure.
The reader might question how a Dirichlet boundary condition could ever be
switched to a flux boundary condition because a Dirichlet boundary condition,
by definition, will continually add or remove water from the system as needed to
maintain the prescribed head. However, in the case of the variable boundary
condition, Dirichlet conditions are valid at either the low water or high
water conditions when nodes are either only adding or only removing water,
respectively. Thus if a variable boundary which is currently set to a Dirichlet
low water condition begins to remove water from the system, it is then
switched to a flux boundary and the water is removed at the prescribed flux rate.
The same is true but in reverse at the other extreme where Dirichlet nodes are
only adding water at the high water condition. When the boundary begins to

Chapter 6 Boundary Conditions

65

add water, the boundary type is changed to flux and the water is added at the
prescribed fluid flux rate.
During periods when the variable boundary condition is set to a flux
boundary condition, the specified flux value is taken to be directed vertically (i.e.
in either the positive or negative z-direction) in order to simulate the primary
direction of rainfall and evaporation. To calculate the volumetric flux entering
the system, FEMWATER takes the specified flux rate and multiplies this value
by the area of the element face projected onto a horizontal xy-plane
(perpendicular to the flux direction ). For element faces that deviate from the
horizontal by some degree, this calculation will ensure that the flux is not
artificially exaggerated. The variable boundary condition differs from the
specified flux boundary condition in this matter. The specified flux boundary
condition always assumes that the specified flux is parallel to the element face
normal and thus the normal element face area is used for the volumetric flux
calculation. This feature of the variable boundary condition allows
FEMWATER to more accurately simulate real world conditions of rainfall
infiltration and evaporation on a topographically varying surface.
Yet another use of the variable boundary condition is in the modeling of
seepage exit faces and groundwater drains. The variable boundary condition can
be applied to element faces where groundwater seepage is possible but unknown
in quantity or exact location. A reasonable evaporation rate should be prescribed
for conditions where the faces are unsaturated but if the water table rises and the
element face becomes saturated, the boundary will act as a seepage face,
removing groundwater from the system. In this fashion, potential seepage
locations can be identified. This ability also allows FEMWATER to model the
conditions found with agricultural drains and gaining streams that are fed by
groundwater seepage but do not provide flow back to the groundwater system.
For transport simulations, during both the precipitation and nonprecipitation
periods, the variable boundary condition is either a flux boundary condition with
a given total flux, or a zero gradient flux. Mathematically, this can be expressed
as:

n (VC D C) = n VC v (x b , y b , z b , t ) if n V 0

(65)

n ( D C) = 0 if n V > 0

(66)

where
C = concentration
V = Darcy velocity tensor
= moisture content

66

Chapter 6 Boundary Conditions

D = dispersion coefficient tensor


Cv = concentration at the variable boundary
If the flow direction through the boundary is into the region, the flux
condition of Equation (65) governs and the concentration in the incoming fluid is
equal to the prescribed concentration Cv. If the flow direction through the
boundary is out of the region, the gradient flux condition of Equation (66)
governs, meaning that the concentration of the outgoing fluid is whatever it was
before it left the region.
The behavior of the variable boundary condition in transport simulations
provides a powerful tool in modeling conditions where fluid head or flux
conditions are known but concentration flux is unknown. As mentioned in both
the Dirichlet and flux boundary condition sections, it is possible to assign either
Dirichlet or flux conditions at a boundary for the fluid, leaving the concentration
unassigned for these types. Then, by assigning a variable type boundary
condition for the concentration, the user is able to specify the concentration of
the fluid when flow is entering the system but have FEMWATER calculate the
concentration of the fluid when flow is leaving the system.
Variable boundary conditions are defined by specifying the minimum
pressure head, hm, the ponding depth, hp, the flux rates qp and qe, and the
concentration, Cv. The minimum pressure head and the ponding depth are
specified on the RS3 card. Only one RS3 card is entered in the model file thus
the minimum pressure head, hm, and the ponding depth, hp are global values for
the entire simulation. The specified minimum pressure head and ponding depth
are used for all element faces where a variable boundary condition is specified.
The flux rates (L/T) for precipitation and evaporation, qp and qe, are both
specified on the RS1 card as an index to a single XY Series. The values in the
series that are positive are treated as precipitation flux, and the values that are
negative are interpreted as evaporation flux. Thus, cycles of rainfall/evaporation
can be designated on one curve by varying the curve in the XY Series from
positive to negative and vice versa.
The concentration (M/L3) is entered on the RS2 card as an index to an XY
series. The ponding depth (L) and the minimum pressure head (L) are both
specified on the RS3 card.

Chapter 6 Boundary Conditions

67

Card Type
Description
Required
Format
Sample
Field
Elemid
Faceid
Fluxseries

Card Type
Description
Required
Format
Sample
Field
Elemid
Faceid
Concseries

Card Type
Description
Required
Format
Sample
Field
1
2

68

RS1
Variable boundary condition, rainfall/evaporation/seepage flux rate for flow
simulation.
NO
RS1 elemid faceid fluxseries
RS1 8749 4 12
Variable
Value
Description
NPVBF(I)
+
Element number.
IDRF(I)
+
Element face index.
IVTYPF(I)
+
Index number of rainfall/evaporation time series for the
element face.

RS2
Variable boundary condition, rainfall/seepage concentration for transport simulation.
NO
RS2 elemid faceid concseries
RS2 8749 4 13
Variable
Value
Description
NPVBT(I)
+
Element number.
IDRT(I)
+
Element face index.
IVTYPT(I)
+
Index number of concentration time series for the
element face.

RS3
Variable boundary condition, ponding depth and minimum pressure head.
NO
RS3 hcon hmin
RS3 0.35 -8.0
Variable
Value
Description
HCON
+
The ponding depth.
HMIN

The minimum pressure head.

Chapter 6 Boundary Conditions

7 Initial Conditions

Introduction
Whenever a FEMWATER analysis is performed, a set of initial conditions
must be defined. Initial conditions define the initial status of the pressure head
and concentration. Which initial conditions are required for a particular problem
depends on the type of simulation that is being performed. The rules, options,
and formats for defining initial conditions for FEMWATER are described in this
chapter.

Types of Initial Conditions


Three types of initial conditions are possible for a FEMWATER simulation:
cold starts, hot starts, and flow solutions. Cold starts are used to establish a set
of initial values at the beginning of a steady-state or transient simulation. Hot
starts are used to continue a previous run of FEMWATER without having to
start over from a cold start. Flow solutions are used to define the flow field that
is necessary when performing a transport-only simulation (as opposed to coupled
flow and transport).

Cold Starts
FEMWATER uses an iterative method to find a solution to flow and
transport problems. An iterative approach involves starting with an initial
estimate of heads and concentrations and utilizing an iterative solver to gradually
modify the initial values until they converge to a set of values that satisfy the
underlying governing equations. Using an initial estimate of values is called a
cold start.

Chapter 7 Initial Conditions

69

Steady state versus transient


Cold starts must be specified regardless of whether the simulation is steadystate or transient. However, the approach taken to define the cold start may vary
depending on whether the simulation is steady state or transient. If an initial
condition is chosen with values that are closer to the final solution, the
simulation will converge with fewer iterations (resulting in a much shorter
execution time). Because of the non-linear nature of unsaturated zone
calculations, the solution to the flow equation is often non-unique. Various sets
of initial condition values chosen for a simulation can result in different
converged solutions for the same set of boundary conditions, especially if the
initial conditions used in each simulation vary significantly from each other.
Special care should be taken to ensure that reasonable estimates of groundwater
conditions are used as initial conditions for FEMWATER simulations.
With a transient simulation, the specification of the initial condition becomes
more critical. In this case, the initial condition should represent the actual state
of the aquifer at the beginning of the simulation period. In order for the
simulation to be accurate, the initial condition must be compatible with the
specified boundary conditions and stresses. For example, suppose that the
transient effect of a new injection/extraction well system on an aquifer is to be
simulated. If an incompatible initial condition is used, the response of the
aquifer in the early part of the simulation will be due in part to the wells and in
part to an adjustment of the aquifer that is required to make the heads and
concentrations compatible with the other stresses and boundary conditions.
Therefore, it is often best to first perform a steady state simulation with the
boundary conditions that will not change during the transient simulation, and
then use the solution to this simulation as the initial condition for the transient
simulation. For this example, this would involve first running a steady-state
simulation with all of the boundary conditions except for the injection and
extraction wells. The solution to this simulation would then be used as the initial
condition for the transient simulation, and the response of the aquifer would be
due solely to the added stresses from the injection and extraction wells.
In the case of concentration, a steady-state simulation is often not applicable
since transport seldom achieves steady-state conditions. In many cases, the
initial condition will correspond to an existing plume that has been characterized
via three-dimensional interpolation from measurements at scattered locations.
Required values
If a flow-only simulation is performed, a set of pressure heads is required for
the cold start initial condition. If a transport-only simulation is performed, a set
of concentrations is required (in addition to the flow solution as explained
below). If a coupled flow and transport simulation is being performed, a set of
heads and a set of concentrations are both required.

70

Chapter 7 Initial Conditions

The set of pressure head values required for a cold start simulation can be an
estimate based on a level pool or an interpolated set of pressure heads based on
measured values at discrete locations. However, another option is to use the
result of a previous FEMWATER simulation as the initial condition pressure
heads. This technique is often called hot starting a simulation. FEMWATER
has a hot start feature that is slightly different and only applies to transient runs
which is described in the next section. If a simulation is approaching
convergence but the maximum number of iterations specified on the IP1 card is
reached before convergence is achieved, FEMWATER will write out the
unconverged pressure head file and terminate. This file can then be used as the
initial condition file for the next simulation, effectively starting the simulation
where it stopped in the previous run. This technique is useful in choosing initial
conditions for a plan condition and a converged solution for the base condition
has already been computed in a previous simulation.
Another useful application of this technique is called spinning up a model.
As mentioned in the previous section, if the cold start initial condition differs
greatly from the final solution, the stresses due to the boundary conditions may
cause FEMWATER to oscillate and have difficulty converging. One solution to
this problem is to select a better cold start. Another solution is to start with a set
of boundary conditions that are more compatible with the specified cold start and
compute a solution. The boundary conditions are then modified slightly and the
solution from the first simulation is used as the initial condition for the second
simulation. This process is repeated and the boundary conditions are gradually
changed until they correspond to the desired values.
Convergence
The values chosen for a cold start can have a significant impact on
convergence. If the selected cold start differs greatly from the converged
solution, i.e., is highly incompatible with the model stresses, FEMWATER may
have difficulty converging. The quickest and most robust solution is achieved
when cold start values are as close to the converged solution as possible.

Hot Starts
Since FEMWATER is a nonlinear, finite element model, solutions can
require extensive computation time even for moderately sized meshes,
particularly when a transient simulation involving numerous time-steps is being
performed. During a modeling study, it is not uncommon to encounter situations
where the solution progresses well to a certain point in time and then diverges or
blows up. This situation can often be solved by decreasing the time-step size
near the point in time where the solution degraded. In such cases, it is often
useful to be able to restart the simulation at some point just before the problem
occurred rather than starting over from the beginning. In order to do this, the
hot start type of initial condition is required.

Chapter 7 Initial Conditions

71

Hot start time


A hot start consists of a set of files representing a transient solution of
pressure head, moisture content (optional), velocity (optional), and concentration
and a hot start time. FEMWATER reads the transient solution file(s) and locates
the set(s) of values at the time-step matching the hot start time. The appropriate
values are then loaded into FEMWATER as initial conditions and the simulation
is restarted. Moisture content and velocity files are not required by
FEMWATER to hot start a simulation. However, if a stopped simulation
wherein moisture content or velocity files were output is hot started and the user
specifies the velocity and/or moisture content file(s) as input to the simulation,
the new solutions from the hot started simulation will be appended to the
velocity and moisture content files from the previous simulation.
When the initial or original simulation is performed, time-variant boundary
conditions are typically defined on a time scale whose beginning corresponds to
the start time of the simulation. When a hot start is performed, it is not
necessary to redefine time-variant boundary conditions so that they are defined
from a point corresponding to the beginning of the new start time. FEMWATER
uses the specified hot start time and automatically interpolates the time-variant
boundary conditions to the correct beginning time.
Required values
The solution files necessary for a hot start depend on the type of simulation.
If a flow-only simulation is being performed, pressure head is required. If a
transport-only simulation is being performed, concentration is required (As in all
transport-only simulations, a flow solution for the entire simulation time is
required but this is not specified as a hot start input parameter). If a coupled
flow and transport simulation is being performed, pressure head and
concentration are required. The velocity and nodal moisture content files are
used for post-processing and are only required as input if the user wishes to have
the new simulation solutions appended to the previous simulation solution files
as described above. If the user desires to have the flow and/or concentration
values from a hot start simulation appended to the simulation results of a
previous simulation, the same file name for the initial condition and output files
should be specified in the super file. See the section titled Super File Input at
the end of this chapter for the super file input specifications.
File format
The files used for hot starts correspond to the data set solution files output
by FEMWATER for post-processing. These files consist of solutions organized
by time-step and are sequential lists of scalar or vector values, with one value
listed per node. The nodal values are used for post-processing. The output

72

Chapter 7 Initial Conditions

control options which control data set output are described in the section Save
interval (OC3). The formats of the data set files are described in Appendix C.

Flow Solutions
A third type of initial condition is required when a transport-only simulation
is being performed. A transport-only simulation uses a previously computed
flow solution (steady-state or transient) to define the three-dimensional flow
field required to properly model the contaminant migration. The flow solution
consists of two options: pressure head or velocity and pressure head written to
data set files. When the first option is used, the needed velocity and moisture
content for transport simulation are computed from the pressure head. When the
second option is used, the needed moisture content is computed from the
pressure head and velocity is read directly from the velocity file. Thus, when
running the flow simulation, care should be taken to ensure that the proper
options are selected for solution output (see Save options (OC4)).
The flow solution for a transport-only simulation is used in combination with
either a cold start or a hot start. With a cold start, a set of initial concentration
values is provided for concentration in addition to the steady-state or transient
flow solution. With a hot start, a transient concentration solution and a hot start
time are provided in addition to the flow solution.

Summary of Initial Condition Requirements


It can sometimes be confusing to determine which combination of initial
conditions is required for a particular situation. The sets of initial conditions
required for all possible scenarios are shown in Table 6. The Xs in the lower
right corner of the table indicate which sets of values are required. For example,
for a cold start with a coupled flow and transport simulation, pressure head and
concentration must be specified.

Chapter 7 Initial Conditions

73

Table 6
Initial Condition Requirements
Initial Condition
Simulation Type

Press. Head

Moisture Cont.

Velocity

Concentration

Cold Start
Flow

Transport

Coupled

Flow

Transport

Hot Start

Coupled
1

X1
X

X1
X1

X1

Solution files are optional

Initial conditions are specified in a two-step process. First of all, a set of


cards must be entered in the model file specifying the basic control parameters
for initial conditions such as the hot start time and the format of the initial
condition files (text or binary). Next, the initial conditions are assembled in a set
of data set files. The data set files should be located in the same directory as the
other input files. A set of cards are entered in the super file that specify the
names of the data set files containing the initial conditions.

Model File Input


A set of input cards is required in the model file to designate the control
parameters for the initial conditions. The cards are summarized in Figure 8.
Each of the cards is explained in more detail in the following sections.
.
ICS istart
ICT hstime
ICC icon conval
ICH ihead hconst
ICF icfile ivfile iffu
.

/* Cold start vs. hot start */


/* Hot start time */
/* Use constant concentration */
/* Compute press from const head */
/* Initial cond. file format */.

Figure 8. The initial condition cards in the model file


Start type (ICS)
The ICS card is used to specify whether the simulation is to be started with a
cold start or a hot start.

74

Chapter 7 Initial Conditions

Card Type
Description
Required
Format
Sample
Field
1

ICS
Initial condition start type.
YES
ICS istart
ICS 1
Variable
Value
Description
ISTART
0
Cold start.
1
Hot start.

Hot start time (ICT)


If a hot start is specified on the ICS card, the hot start time must be specified on
the ICT card. This time is used to interpolate the time variant boundary
conditions to a proper starting point and to locate the proper set of initial
conditions from the multiple time-steps defined in the data set files of pressure
head, moisture content, etc.
Card Type
Description
Required
Format
Sample
Field
1

ICT
Initial condition hot start time.
YES
ICT hstime
ICT 234.0
Variable
Value
Description
HSTIME

Hot start time.

Constant or variable concentration (ICC)


When defining a single set of concentration values for a cold start initial
condition, it is often useful to use a constant value of concentration everywhere
in the problem domain. For example, in many cases, an initial condition of zero
concentration everywhere in the problem domain is appropriate. The ICC card
can be used to easily define a constant concentration for the entire mesh. This
alleviates the need to create a data set file with the same value repeated for each
node in the mesh. If a constant value is not appropriate, the ICC card specifies
that the initial condition varies spatially and the values are defined by a data set
file.
Card Type
Description
Required
Format
Sample
Field
1
2

ICC
Constant or variable concentration initial condition.
NO
ICC icon conval
ICC 0 0.0
Variable
Value
Description
ICON
0
Constant concentration initial conditions.
1
Spatially variable concentration initial conditions.
CONVAL

If ICON=0, the concentration value. Otherwise, omit.

Chapter 7 Initial Conditions

75

Constant or variable head (ICH)


The ICH is similar to the ICC card in that it can be used as a quick and easy
way to define a cold start initial condition for pressure head. The ICH card can
be used to designate that the pressure head varies spatially and that the values
will be read from a data set file. Alternately, the card can be used to specify a
constant value of total head. The pressure head initial condition is then defined
in FEMWATER by subtracting the elevation of each node from the specified
total head to define the pressure head for the node.
Card Type
Description
Required
Format
Sample
Field
1
2

ICH
Constant or variable head initial condition.
NO
ICH ihead hconst
ICH 0 100.0
Variable
Value
Description
IHEAD
0
Constant total head initial conditions.
1
Spatially variable pressure head initial conditions.
HCONST

If IHEAD=0, the total head value. Otherwise, omit.

Initial condition file format (ICF)


With the exception of the constant value approach for cold starts, the initial
conditions for cold starts, hot starts, and flow solutions are defined in data set
files. Data set files can be in either text or binary format. The ICF card is used
to designate the format of the files so that they can be read properly by
FEMWATER. A format flag is specified for the cold start or hot start files and
another format flag is specified for the flow solution files used for a transportonly simulation (if necessary). In addition, the card includes a flag indicating
whether the flow solution is steady state or transient.
Card Type
Description
Required
Format
Sample
Field
1
2
3

76

ICF
Initial condition file format.
YES
ICF icfile ivfile iffu
ICF 1 1 1
Variable
Value
Description
ICFILE
0
The initial condition files are in text format.
1
The initial condition files are in binary format.
IVFILE
0
The flow files are in text format.
1
The flow files are in binary format.
IFFU
0
Flow files contain a steady-state solution.
1
Flow files contain a transient solution.

Chapter 7 Initial Conditions

Super File Input


As mentioned in the previous paragraph, initial conditions are typically
defined with a set of data set files. The data set files should be located in the
same directory as the other input files. The names of the data set files to be used
for initial conditions must be specified in the FEMWATER super file described
in Chapter 2. The initial condition cards in the super file are shown in Figure 9.
Each card consists of a header, which identifies the type of file, and the
filename. Only the cards corresponding to files needed for a particular
simulation should be included.
.
ICHD filename
ICMC filename
ICVL filename
ICCN filename
FLVL filename
FLPH filename
.

/* Pressure head init. cond. */


/* Moisture content (nodal) init. cond. */
/* Velocity init. cond.*/
/* Concentration init. cond. */
/* Velocity flow file (optional)*/
/* Pressure head file (required)*/

Figure 9. The initial condition cards in the super file


The super file is also used to designate the names of the solution files.
During a hot start, it is possible to use the same names for the hot start files and
the solution files. If the same names are used, FEMWATER will append the
solution to the end of the hot start files rather than overwriting the files or
creating new files.

Chapter 7 Initial Conditions

77

8 Sample Applications
The purpose of this section is to provide typical examples of FEMWATER
applications after which one might pattern new applications. Five examples are
provided that demonstrate different capabilities of FEMWATER. Each
discusses boundary and initial condition specification. The input files associated
with these examples are distributed with the FEMWATER executable and can be
found in the examples directory.

Problem 1: Steady-State Wellhead Protection


The initial support for developing FEMWATER within the GMS was
provided by the AERL to advance the state of the art and provide practice in
doing wellhead protection studies. As a result, of the technologies accepted by
the U.S. Environmental Protection Agency (EPA) to do wellhead protection
studies, FEMWATER and GMS provide the most rigorous modeling tools.
Several of these studies have been completed within the Department of Defense
and many more are in the planning phase.
The provided example illustrates how to use FEMWATER to conduct a
steady-flow simulation for a wellhead protection problem. The left and right
sides of the model are bounded by freshwater head boundary conditions (Figure
10). The front and back of the model are groundwater divides represented by noflux boundary conditions. The bottom of the model is an impervious stratum
that does not allow significant amounts of water to leave the model. This is
commonly located at aquicludes or deep aquitards. The pressure head is
assumed to be hydrostatic throughout the model with water table initial
conditions assumed to be a constant 12.0 m. The following boundary conditions
are given: constant head of 12.0 m on the left side of the model, 13.0 m on the
right side of the model, and no flux on the front and back of the model.
Seventeen pumping wells are located in the top layer of coarse sand near the
middle of the region. The pumping rate of the wells is a constant 0.25 m3/hr.
One of the wells could be increased to determine the effect on the other wells.
The head tolerance is 0.001 m. The pointwise iterative solver is used to solve
the matrix equations. The computational mesh consists of 4,000 elements and
3,507 nodes.

Chapter 8 Sample Applications

79

Specified Head
Boundary

Pumping Wells

No Flow Boundary

No Flow Boundary

Specified Head
Boundary

Figure 10. Wellhead protection application showing numerical model mesh and
assigned boundary conditions
This problem took approximately 1.1 minutes for the steady-state solution to
converge on a 200-MHz Pentium class personal computer with 32 MB of
memory.

Problem 2: Transient Confined Disposal


Confined Disposal Facilities (CDFs) are essentially settling basins that
accept dredged materials from navigation channels. The dredged material
typically enters the CDFs as aqueous slurries for the purposes of settling out the
solids and returning the clean water to the sea. This is a common activity for the
U.S. Army Corps of Engineers. Regulatory agencies are increasingly requiring
the use of 3-D groundwater models to determine the path of groundwater from
the CDF to surrounding areas. Since dredged material sometimes contains
compounds that should not enter drinking water supplies, models of CDFs can
determine if the contamination of drinking water wells was caused by a
particular CDF. In the interest of prevention, CDFs can be sited and designed to
ensure that they will not contaminate local wells.
The provided example is presented to illustrate the procedure for conducting
a transient flow simulation at a CDF. The left and right sides of the model are
bounded by freshwater head boundary conditions (Figure 11). The front and
back of the model are bounded by groundwater divides represented by no-flux
boundary conditions. The bottom of the model is an impervious stratum. A
pond (CDF) filled with a conservative chemical constituent is located on the
right side of the model. Pressure is assumed to be hydrostatic throughout the

80

Chapter 8 Sample Applications

model with water table initial conditions assumed to be a constant 12.0 m. The
following boundary conditions are given: constant head of 12.0 m on the left side
of the model, variable head with slowly rising water table assumed on the right
side of the model, constant head of 13.0 m with concentration of 10 mg/ l
assumed in the pond, and no flux imposed on the front and back of the model. A
well with multiple screen openings is located near the center of the region. The
pumping rate of the well is varied slowly with a slightly increasing rate. It starts
with 0.05 m3/hr and increased to 0.1 m3/hr at time = 10.0 hr, where it stays
constant at 0.1 m3/hr. The head tolerance is 0.001 m and the pointwise iterative
solver is used. A total of 200 hr with variable time-step is simulated.

Specified Head
Boundary

No Flow Boundary

Pumping Well

Dredge and
Disposal
Pond

No Flow Boundary

Specified Head
Boundary

Figure 11. Confined disposal facility application showing numerical model


mesh and assigned boundary conditions
This problem took approximately 9.1 minutes for the transient-flow solution
to converge on a 200-MHz Pentium class personal computer with 32 MB of
memory.

Problem 3: Transient Groundwater Remediation


This example illustrates a means for modeling a simple remediation situation
using a cutoff wall to capture flows from a chemical-laden pond. The left and
right sides of the model are bounded by freshwater head boundary conditions
(Figure 12). The front and back of the model are bounded by groundwater
divides represented by no-flux boundary conditions. The bottom of the model is
an impervious stratum. A cutoff wall consisting of impervious media is installed
in the middle of the model and a chemical lagoon is located on the right side.
Pressure head is assumed hydrostatic throughout the region with water table

Chapter 8 Sample Applications

81

initial conditions of 12.0 m throughout. The boundary conditions are as follows:


constant head of 12.0 m on the left side, variable head with slowly rising head on
the right side, constant head of 13.0 m with a concentration of 10 mg/ l in the
ponding lagoon, and no-flux conditions on the front, back, and bottom. The
pumping wells are located in the coarse sand layer near the center of the region.
The pumping rate of the well slowly increases. The pumping starts with 0.05
m3/hr and increases to 0.1 m3/hr at time = 10.0 hr, where it stays constant at 0.1
m3/hr. The pointwise iterative solver is used. A total of 500 hr with variable
time-step is simulated.

Pumping Well

Specified Head
Boundary

Dredge and
Disposal
Pond

No Flow Boundary

No Flow Boundary
Cutoff Wall

Specified Head
Boundary

Figure 12. Groundwater remediation application showing numerical model mesh


and assigned boundary conditions
This simulation took approximately 14.2 minutes for the flow and transport
solution to converge on a 200-MHz Pentium class personal computer with 32
MB of memory.

Problem 4: Transient Non-point Chemical Spill


This problem presents an example of how to model a non-point chemical
spill under transient conditions. It is presumed that a chemical was spilled over
the entire surface of the region and as rainfall infiltrates, the spilled chemical
dissolves and contaminates the rainfall that recharges the groundwater. The left
and right sides are bounded by freshwater constant head boundary conditions
(Figure 13). The front and back of the region are bounded by groundwater
divides represented by no-flux boundary conditions. The bottom of the model is
bounded by an impervious stratum. The pressure is assumed to be hydrostatic.
The initial water surface elevation is a constant 11.0 m. The following boundary

82

Chapter 8 Sample Applications

conditions are given: a constant head of 11.0 m on the left side of the region, a
variable head with a slowly rising water table on the right side of the region,
rainfall imposed as a variable boundary condition on the ground surface, a
contaminated infiltrating fluid with a concentration of 10.0 mg/ l , and no flux
imposed on the front and back of the region. A set of wells are located near the
center of the region. The pumping rate of the well is varied with a slowly
increasing rate. It starts with 0.05 m3/hr and increases to 0.1 m3/hr at time = 100
hr, and it stays constant at 0.1 m3/hr. The head tolerance is 0.001 m and the
pointwise iterative solver is used. A total of 150 hr with variable time-steps is
simulated.

Specified Head
Boundary

Pumping Well

Contaminated Rainfall Flux


Across Entire Top Surface
No Flow Boundary

No Flow Boundary

Specified Head
Boundary

Figure 13. Non-point chemical spill application showing numerical model mesh
and assigned boundary conditions
This problem took approximately 17.8 minutes for the flow and transport
solution to converge on a 200-MHz Pentium class personal computer with 32
MB of memory.

Problem 5: Transient Salinity Intrusion


The salinity intrusion example demonstrates how FEMWATER can be used
to study a variety of coastal aquifer problems. It is currently being used by the
Corps of Engineers to determine the impacts of deepened navigation channels on
salinity intrusion in coastal aquifers and how increased groundwater pumping
will affect drinking water supplies.
In order to correctly simulate salinity movement in coastal aquifers, it is
necessary to have coupled flow and density-driven transport. The example
problem is a schematic example of a coastal salinity intrusion problem. The left

Chapter 8 Sample Applications

83

side of the region is bounded by seawater, and the right side is bounded by fresh
water (Figure 14). The front and back of the region are bounded by groundwater
divides and the bottom by an impervious stratum. A pumping well is located
near the center of the region. The boundary conditions are specified as a 20.0kg/ l tidal boundary on the left side and fresh water with a rising water table on
the right side. The pumping rate of the well is varied with a slowly increasing
rate. It starts with 0.5 m3/hr and increases to 2.0 m3/hr at time = 100.0 hr where
it stays constant at 2.0 m3/hr. A total of 10.0 hr with variable time-steps is
simulated. The computational mesh consists of 5,664 elements and 3,484 nodes.

Specified Head
Sea Water

Pumping Well
No Flow Boundary

Boundary

No Flow Boundary

Specified Head
Fresh Water
Boundary

Figure 14. Transient salinity Intrusion application showing numerical model


mesh and assigned boundary conditions
This problem took approximately 45.7 minutes for the transient solution to
converge on a 200-MHz Pentium class personal computer with 32 MB of
memory.

84

Chapter 8 Sample Applications

References
Carsel, R. F., and Parrish, R. S. (1988). Developing joint probability
distributions of soil-water retention characteristics, Water Resources
Research 24(5),755-769.
Clough, R. W. (1971). Analysis of structural vibrations and dynamic
response. Recent advances in matrix methods of structural analysis and
design: Proceedings, United States-Japan Seminar on Matrix Methods of
Structural Analysis and Design. R. H. Gallagher, Y. Yamada, and J. T. Oden,
ed., University of Alabama Press, Huntsville, AL.
Engineering Computer Graphics Laboratory (1996). The Department of
Defense Groundwater Modeling System Reference Manual. Brigham Young
University, Provo, UT.
Freeze, R. A. (1972a). Role of subsurface flow in generating surface runoff: 1.
Base flow contribution to channel flow, Water Resources Research 8, 609623.
Freeze, R. A. (1972b). Role of subsurface flow in generating surface runoff: 2.
Upstream source areas, Water Resources Research 8, 609-623.
Frind, E. O. (1982). Simulation of long-term transient density-dependent
transport in groundwater, Advances in Water Resources 5(2), 73-88.
Galeati, G., Gambolati, G., and Neuman, S. P. (1992). Coupled and partially
coupled Eulerian-Langrangian model of freshwater-seawater mixing, Water
Resources Research 28(1), 149-165.
Istok, J. D. (1989). Groundwater modeling by the finite element method.
American Geophysical Union, Washington, DC.
Long, R. R. (1961). Mechanics of solids and fluids. Prentice-Hall, Englewood
Cliffs, NJ.
Morse, P. M., and Feshbach, H. (1978). Methods of theoretical physics.

References

85

McGraw-Hill, New York.


Nguyen, V. V., Gray, W. G., Pinder, G. F., Botha, J. F., and Crefar, D. A. (1982).
A theoretical investigation on the transport of chemicals in reactive porous
media, Water Resources Research 18(4), 1149-1156.
Owczarek, J. A. (1964). Fundamentals of gas dynamics. International
Textbook, Scranton, PA.
van Genuchten, M. T. (1980). A closed-form equation for predicting the
hydraulic conductivity of unsaturated soils, Soil Sci. Soc. J. 44, 892-898.
Wang, J. D., and Conner, J. J. (1975). Mathematical modeling of near-coastal
circulation, Report No. MITSG 75-13, Massachusetts Institute of
Technology, Cambridge, MA, 1975.
Yeh, G. T. (1985). Comparison of successive iteration and direct methods to
finite element equations of aquifer contaminant transport, Water Resource
Res.21(3), 272-280.
Yeh, G. T. (1987a). FEMWATER: A finite element model of water flow
through saturated-unsaturated porous media, First Revision, ORNL5567/R1, Oak Ridge National Laboratory, Oak Ridge, TN.
Yeh, G. T. (1987b). 3DFEMWATER: A three-dimensional finite element
model of water flow through saturated-unsaturated media, ORNL-6368, Oak
Ridge National Laboratory, Oak Ridge, TN.
Yeh, G. T. (1990). 3DLEWASTE: A hybrid Lagrangian-Eulerian finite element
model of waste transport through saturated-unsaturated media, PSU
Technical Report, Department of Civil Engineering, The Pennsylvania State
University, University Park, PA.
Yeh, G. T. (1991). Class notes: CE597D: Computational subsurface hydrology
Part I, Fall semester 1991, The Pennsylvania State University, University
Park, PA.
Yeh, G. T. (1992). Class notes: CE597C: Computational subsurface hydrology
Part II, Spring semester 1992, The Pennsylvania State University, University
Park, PA.
Yeh, G. T., and Tripathi, V. S. (1987). Strategies in modeling transport of
reactive multi-chemical components. Groundwater and the environment:
Proceedings, International Groundwater Conference. Faculty of Engineering
and Faculty of Physical and Applied Science, Universitti Kebangsaan
Malaysis, Kuala Lampur, Malaysia, E26-E36.

86

References

Yeh, G. T., and Ward, D. S. (1981). FEMWASTE: A finite element model of


transport through saturated-unsaturated porous media, ORNL-5601, Oak
Ridge National Laboratory, Oak Ridge, TN.
Yeh, G. T., and Ward, D. S. (1980). FEMWASTE: A finite element model of
water flow through saturated-unsaturated porous media, ORNL-5567, Oak
Ridge National Laboratory, Oak Ridge, TN.

References

87

Appendix A Mathematical
Formulation

Governing Equations for Flow


From the notion for continuity of fluid, continuity of solid, consolidation of
the media, and the equation of state (Yeh 1992)1 are obtained the starting
equation for this derivation:

(nS)
k

(p + gz) (nSVs ) + q =
t

(A1)

where
= fluid density (M/L3)

k = intrinsic permeability tensor of the media (L2)


= dynamic viscosity of the fluid (M/L/T)
p = fluid pressure [(ML/T2)/L2]
g = acceleration of gravity (L/T2)
z = potential head (L)
n = porosity (L3/L3)
S = degree of saturation (dimensionless)
Vs = velocity of the deformable material due to consolidation (L/T)

References cited in this Appendix are located at the end of the main text.

Appendix A Mathematical Formulation

89

* = density of the injected fluid (M/L3)


q = internal source/sink [(L3/T)/L3]
t = time (T)
Expanding the right hand of Equation (A1):

(nS)
S
n

= Sn
+ S
+ n
t
t
t
t

(A2)

Expanding Equation (A2) by the chain rule:

p
C
n
S
( nS)
= Sn
+ Sn
+ S
+ n
t
p t
C t
t
t

(A3)

where C is chemical concentration (M/L3). Rearranging Equation (A3) gives:

( nS)
p
n
C
S
= Sn
+ S
+ Sn
+ n
t
p t
t
C t
t

(A4)

where the first and second terms represent the storativity term, the third term is
the density-concentration coupling term, and the fourth term is the unsaturated
term. Substituting Equation (A4) into Equation (A1):

k
(p + gz) + *q =

S
p
C
Sn
+ Sn
+ n
t
p t
C t
n
+ S
+ S ( nVs ) + nVs (S)
t

(A5)

Making the approximation by neglecting the second-order term:

nVs (S) 0

(A6)

gives

90

Appendix A Mathematical Formulation


k
(p + gz) + *q =

S
p
C
+ Sn
+ n
Sn
t
p t
C t
n
+ S
+ S ( nVs )
t

(A7)

Defining the compressibility of the fluid as:

1
p

(A8)

where is the compressibility of the fluid (LT2/M). Also defining the moisture
content as:

= Sn

(A9)

where is the moisture content (dimensionless). Substitute Equations (A8) and


(A9) into Equation (A7) and rewrite it to obtain:

(p + gz) + *q =

p
C
S

+
+ n
t
C t
t

(A10)

+ S
+ ( nVs )
t

Remembering the continuity statement of incompressible solids, a


compressible skeleton is defined as (Yeh 1992):

(1 n )
+ [(1 n )Vs ] = 0
t

(A11)

Rearranging Equation (A11) in the following form:

n
+ ( nVs ) = Vs
t

Appendix A Mathematical Formulation

(A12)

91

Substituting Equation (A12) into Equation (A10) gives:

(p + gz) + *q =

p
C
S

+
+ n
+ S Vs
t
C t
t

(A13)

Recalling that the flux of solid velocity is the divergence of Vs (Yeh 1992):

Vs =

p
t

(A14)

where is the coefficient of consolidation of the media (LT2/M). Substituting


Equation (A14) into Equation (A13) and rewriting:

(p + gz) + *q =

p
C
S
( + S )
+
+ n
C t
t
t

(A15)

Substituting Equation (A9) into Equation (15) gives

(p + gz) + *q =

C
S
p

+
+
+ n

n
t
C t
t

(A16)

Experimental evidence has shown that the degree of saturation is a function of


pressure as:

S = S(p)

(A17)

Substitution of Equation (A17) into Equation (A16) gives:

92

Appendix A Mathematical Formulation

(p + gz) + *q =

dS p
p
C

+
+
+ n

n
t
C t
dp t

(A18)

Next, the reference pressure head is defined as:

h=

p
og

(A19)

where h is the reference pressure head (L) and o is the reference water density
(M/L3).
Substituting Equation (A19) into Equation (A18) gives:

(o gh + gz) + *q =


h
C
dS h

+ o g
+
+ n

n
t
C t
dh t

(A20)

Dividing Equation (A20) by o and rearranging yields:

gk

h + z + q =
o o

h C dS h
n
+
+
g o + g o
t o C t o dh t
o
n

(A21)

Defining the modified compressibilities of the media and water as

= o g

(A22)

= o g

(A23)

where is the modified compressibility of the media (1/L) and is the


modified compressibility of the water (1/L). Substituting Equations (A22) and
(A23) into Equation (A21) and rearranging:

Appendix A Mathematical Formulation

93

gk

h + z + q =
o o


dS h C
+
+ + n
o n
dh t o C t

(A24)

Defining the storage coefficient as:

F =

dS
+ + n
n
dh

(A25)

where F is the storage coefficient. Substituting Equation (A25) into Equation


(A24) and following Frind (1982) by neglecting the second term on the right side
of Equation (A24),

gk

h
F

h + z + q =
o o
o t

(A26)

Defining the relation:

K=

gk

(A27)

where K is the hydraulic conductivity tensor. Substituting Equation (A27) into


Equation (A26) and rearranging gives the density-dependent flow equation:

F
= K h + z + q
o t
o o

(A28)

From Darcys law:

V=

1 k
(p + gz)

(A29)

where V is the Darcy flux (L/T). Recalling Equation (A19) and substituting into
Equation (A29) gives:

V=

94

1 k
( o gh + gz)

(A30)

Appendix A Mathematical Formulation

Rearranging Equation (A30):

V=

gk o
h + z

(A31)

and substituting Equation (A27) into Equation (A31), we get the Darcy flux
equation for density-dependent flow in its final form:

V = K o h + z

(A32)

The density and dynamic viscosity are functions of chemical concentration


and are assumed to take the following form:

= a 1 + a 2 C + a 3C 2 + a 4 C 3
o

(A33)

= a 5 + a 6C + a 7 C2 + a 8C3
o

(A34)

and

where C is the chemical concentration (M/L3) and a1, a2, ..., a7, a8 are the
parameters (L3/M) that are used to describe the concentration dependence of
water density and dynamic viscosity.
In the specific case of seawater intrusion, the constitutive relation between
fluid density and concentration takes the following form:

= o (1 + c)

(A35)

where c is the dimensionless chemical concentration (the actual one divided by


the maximum one) and is the dimensionless density reference ratio defined as:

max
1
o

(A36)

where max is the maximum density of the fluid (M/L3) and o is the reference
(freshwater) density (M/L3). It should be noted that Equation (A36) implicitly
assumes that the fluid is incompressible and under isothermal conditions
(Galeati, Gambolati, and Neumann, 1992).

Appendix A Mathematical Formulation

95

The initial conditions for the flow equations are stated as:

h = h i (x, y, z) in R

(A37)

where R is the region of interest and hi is the prescribed initial condition for
hydraulic head. The specification of boundary conditions is probably the most
critical and complex chore in flow modeling. As explained by Yeh (1987), the
boundary conditions of the region of interest can be examined from a dynamic,
physical, or mathematical point of view. From a dynamic standpoint, a boundary
segment can be considered either as impermeable or flow-through. On the other
hand, from a physical point of view, such a segment could be classified as a soilsoil interface, soil-air interface, or soil-water interface. Lastly, from a
mathematical point of view, the boundary segment can be classified as one of
four types of boundary conditions, namely as (a) Dirichlet, (b) gradient flux, (c)
flux, or (d) variable boundary conditions. In addition, a good numerical model
must be able to handle these boundary conditions when they vary on the
boundary and are either abruptly or gradually time-dependent.
The Dirichlet boundary condition is usually applied to soil-water interfaces,
such as streams, artificial impoundments, and coastal lines, and involves
prescribing the functional value on the boundary. The gradient flux boundary
condition, on the other hand, involves prescribing the gradient of the function on
the boundary and does not occur very often in real-world problems. This
condition, however, can be encountered at the base of the media where natural
drainage occurs. The third type of boundary condition, the flux boundary
condition, involves prescribing the total normal flux due to the gradient on the
boundary. Usually surface water bodies with known infiltration rates through
the bottom layers of their sediments or liners into the subsurface media are
administered this boundary condition. If a soil-air interface exists in the region
of interest, a variable boundary condition is employed. In such a case, either
Dirichlet or flux boundary conditions dominate, mainly depending on the
potential evaporation, the conductivity of the media, and the availability of water
such as rainfall (Yeh 1987a).
From this discussion, four types of boundary conditions can be specified for
the flow equations depending on the physical location of the boundaries:
a. Dirichlet boundary conditions:

h = h d ( x b , y b , z b , t ) on Bd ,

(A38)

b. Gradient flux boundary conditions:

96

Appendix A Mathematical Formulation

n K o h = q n (x b , y b , z b , t ) on

Bn ,

(A39)

c. Flux boundary conditions:

n K o h + z = q c ( x b , y b , z b , t ) on Bc ,

(A40)

d. Variable boundary conditions - during precipitation period:

h = h p ( x b , y b , z b , t ) on

Bv ,

(A41)

or

n K o h + z = q p ( x b , y b , z b , t ) on

Bv ,

(A42)

e. Variable boundary conditions - during nonprecipitation period:

h = h p (x b , y b , z b , t ) on

Bv ,

(A43)

h = h m (x b , y b , z b , t ) on

Bv ,

(A44)

or

or

n K o h + z = q e (x b , y b , z b , t ) on B v ,

f.

(A45)

River boundary conditions:

Appendix A Mathematical Formulation

97

K
n K o h + z = R ( h R h ) on
bR

Br ,

(A46)

where
n = outward unit vector normal to the boundary
(xb, yb, zb) = spatial coordinate on the boundary
hd = Dirichlet functional value
qh = Gradient flux value
qc = Flux value
Bd = Dirichlet boundary
Bn = Gradient flux boundary
Bc = Flux boundary
Bv = variable boundary
hp = ponding depth on the variable boundary
qp = throughfall of precipitation on the variable boundary
hm = minimum pressure on the variable boundary
qe = evaporation rate (potential evaporation) on the variable boundary
KR = hydraulic conductivity of the river bottom sediment layer
bR = thickness of the river bottom sediment layer
hR = depth of the river bottom measured from the river surface.
Note that only one of Equations (A41)-(A45) is utilized at any point on the
variable boundary at any time.

Governing Equations for Transport


The governing equations for material transport through groundwater systems
are derived based on the laws of continuity of mass and flux. The major
processes that are included are advection, dispersion/diffusion, decay,
adsorption, biodegradation through both liquid and solid phases, the

98

Appendix A Mathematical Formulation

compressibility of media, as well as source(s)/sink(s). Let C be the dissolved


concentration and S be the adsorbed concentration. The governing equation of
the spatial-temporal distribution of dissolved concentrations can be obtained by
applying this principle of mass balance in integral form as follows:

D
(C + bS) dv = n ( CVfs ) d
Dt v

n J d (K w C + b K sS) dv

(A47)

(C + bS) dv + m dv
v

where
v = material volume containing constant amount of media (L3)
C = dissolved concentration (M/L3)
S = adsorbed concentration (M/M)
b = bulk density of the medium (M/L3)
= surface enclosing the material volume v (L2)
n = outward unit vector normal to the surface G
Vfs = fluid velocity relative to the solid (L/T)
J = surface flux with respect to fluid velocity V fs [(M/T)/L2]
Kw = first-order biodegradation rate constant through dissolved phase (1/T)
Ks = first-order biodegradation rate constant through adsorbed phase (1/T)
= decay constant (1/T)
m = external source/sink rate per medium volume [(M/L3)/T]
By the Reynolds transport theorem (Owczarek 1964), Equation (A47) can be
written as

( C + bS)
dv + n ( C + bS)Vs d + n ( CVfs ) d =
t

n J d (K w C + b K sS) dv ( C + bS) dv + m dv

Appendix A Mathematical Formulation

(A48)

99

where Vs is the velocity of the solid. The fluid velocity relative to the solid Vfs
and Darcy velocity V are related to each other by

V = Vfs

(A49)

Applying the Gaussian divergence theorem to Equation (A48) and using the
fact that v is arbitrary, one can obtain the following continuity in differential
form:

(C + sS)
+ Vs (C + bS) + (VC) = J
t

(K w C + b K sS) (C + bS) + m

(A50)

The second term of Equation (A50) can be expressed as

Vs (C + bS) = (C + bS) Vs + (C + bS) Vs

(A51)

The first term on the right side of Equation (A51) is the product of two small
vectors and will be neglected. If all the displacement of the medium is assumed
to be vertical (e.g., vertical consolidation), the solid velocity becomes

Vs =

p
t

(A52)

The surface flux J has been postulated to be proportional to the gradient of C


(Nguyen et al. 1982) as

J = D C

(A53)

D = a T V + (a L a T ) VV / V + a m

(A54)

where
aT = transverse diffusivity (L)
= Kronecker delta tensor
|V| = magnitude of the Darcy velocity V (L/T)
aL = longitudinal diffusivity (L)
100

Appendix A Mathematical Formulation

am = molecular diffusion coefficient (L2/T)


= tortuosity
Substitution of Equations (A51) through (A54) into Equation (A50) yields

(C + bS)
+ (VC) (D C) =
t
p


+ (C + bS) (K w C + b K sS) + m
t

(A55)

Equation (A55) is simply the statement of mass balance over a differential


volume. The first term represents the rate of mass accumulation, the second
term represents the net rate of mass flux due to advection, the third term is the
net mass flux due to dispersion and diffusion, the fourth term is the rate of mass
production and reduction due to consolidation and radioactive decay, the fifth
term is the degradation rate due to microbial transformation through aqueous and
adsorbed phases, and the last term is a source/sink term corresponding to
artificial injection and or withdrawal.
Equation (A55) is written in conservative form. Using the advective form is
sometimes more appropriate, especially if the finite element method is used to
simulate the chemical transport equation. More importantly, an advective form
of the transport equations allows one to use the mixed Lagrangian-Eulerian
approach, which can better solve advection-dominant transport problems (Yeh
and Tripathi 1987). Therefore, an advective form of the transport equation is
derived by expanding the advection term and using the continuity equation for
water flow. The water flow equation can be rewritten in the following form:


h
F
= V + q =
o t
o o

V V + q
o
o o

(A56)

which is conservation of fluid mass. Substituting Equation (A56) into (A55) and
performing the necessary manipulation gives

Appendix A Mathematical Formulation

101

S
C
+ b
+ V C (D C) =
t
t
h


+ (C + bS) (K w C + b K sS) +
t

(A57)

h o

C
qC + F
+ V

o t
t

Equation (A57) involves two unknowns C and S, so constitutive


relationships must be posed. For the present model, the following empirical
relationships are used:

S = KdC

S=

s max KC
1 + KC

S = KC n

for linear isotherm

(A58)

for Langmuir isotherm

(A59)

for Freundlich isotherm

(A60)

where
Kd = distribution coefficient (L3/M)

smax = maximum concentration of the medium in the Langmuir nonlinear


isotherm
K = coefficient in the Langmuir or Freundlich nonlinear isotherm
n = power index in the Freundlich nonlinear isotherm.
In order to use the Lagrangian-Eulerian approach, Equation (A57) is
rewritten as:
a. For Linear Isotherm model:

102

Appendix A Mathematical Formulation

( + K )
b

(K

= ( D C)
+ (C + bS)
Dt
t

D vd C

w C + b K sS) + m

qC +

(A61)

h o

F
C
+ V
o t
t
Vd =

V
+ b K d

(A62)

b. For Langmuir and Freundlich models:

D vf C

+ b

Dt

dS C
= ( D C)
dC t

h
+ (C + bS) (K w C + b K sS) +

t
m

Vf =

(A63)

h o

C
+ V
qC + F

o t
t

(A64)

where

D vd (
Dt

and

D vf (

Dt

denote the material derivatives of ( ) with respect to time in reference to the


retarded velocity Vd and fluid velocity Vf, respectively.
To complete the description of the hydrological transport as given by
Equations (A61) or (A63), initial and boundary conditions must be specified in
accordance with dynamic and physical considerations. It will be assumed that
initially the dissolved concentrations are known throughout the region of
interest, that is,

Appendix A Mathematical Formulation

103

C = C i (x, y, z)

in R

(A65)

where Ci is the initial concentration and R is the region of interest. Initial


concentrations for the dissolved concentrations may be obtained from field
measurements or by solving the steady-state version of Equation (A61) or (A63)
with time-invariant boundary conditions.
The specification of boundary conditions is a difficult and intricate task in
transport modeling. From the dynamic point of view, a boundary segment may
be classified as either flow-through or impervious. From a physical point of
view, it is a soil-air interface, soil-soil interface, or soil-water interface. From
the mathematical point of view, it may be treated as a Dirichlet boundary on
which the total analytical concentration is prescribed, a gradient flux boundary
on which the flux due to the gradient of total analytical concentration is known,
or a flux boundary on which the total flux is given. An even more difficult
mathematical boundary is the variable boundary conditions on which the
boundary conditions are not known a priori but are themselves the solution to be
sought. In other words, on the mathematically variable boundary, either
gradient flux or flux conditions may prevail and change with time. Which
condition prevails at a particular time can be determined only in the cyclic
processes of solving the governing equations (Freeze 1972a, 1972b; Yeh and
Ward 1980; Yeh and Ward 1981).
Whatever point of view is chosen, all boundary conditions eventually must
be transformed into mathematical equations for quantitative simulations. Thus,
we will specify the boundary conditions from the mathematical point of view in
concert with dynamic and physical considerations. The boundary conditions
imposed on any segment of the boundary are taken to be either Dirichlet,
gradient flux, flux, or variable. Thus, the global boundary may be split into four
parts, Bd, Bn, Bc, and Bv, denoting Dirichlet, gradient flux, flux, and variable
boundaries, respectively. The conditions imposed on the first three types of
boundaries are given as:
a. Prescribed concentration (Dirichlet) boundary conditions:

C = C d ( x b , y b , z b , t ) on

Bd

(A66)

b. Gradient flux boundary conditions:

n ( D C) = q b ( x b , y b , z b , t ) on

Bn

(A67)

c. Flux boundary conditions:

104

Appendix A Mathematical Formulation

n ( VC D C) = q c ( x b , y b , z b , t ) on

Bc

(A68)

where
Cd = concentration on the Dirichlet boundary Bd
(xb,yb,zb) = spatial coordinate on the boundary
n = outward unit vector normal to the boundary
qn = gradient flux through the gradient flux boundary Bn
qc = total flux through the flux boundary Bc
The conditions imposed on the variable-type boundary, which is normally
the soil-air interface or soil-water interface, are either a zero gradient flux or a
given total flux. The former is specified when the water flow is directed out of
the region from the faraway boundary, whereas the latter is specified when the
water flow is directed into the region. This type of variable condition would
normally occur at flow-through boundaries. Written mathematically, the
variable boundary condition is given by

n ( VC D C) = n VC v ( x b , y b , z b , t ) on B v if n V 0
n ( D C) = 0 on B v

if n V > 0

(A69)

where Cv is the specified concentration of water through the variable boundary


and Bv is the variable boundary.

Appendix A Mathematical Formulation

105

Appendix B Numerical
Formulation

Introduction
The initial-boundary value problem described by the governing equations of
the flow and transport modules of FEMWATER along with the boundary
conditions cannot, in general, be solved analytically using applied mathematics.
Hence, in order to solve these sets of governing equations, numerical methods
are the only mathematical tools capable of handling this task. Although there are
many different numerical approximation methods capable of reducing partial
differential equations to simpler systems of algebraic equations, there are only
two numerical methods that are most common and that can be employed to solve
the most basic form of the governing equations. These are the finite difference
and finite element methods.
The basic difference between the finite difference and finite element
methods is that the finite element method is based upon approximating the
function, while the finite difference method is founded upon approximating the
derivatives of the function. Therefore, the finite difference method produces
solutions only at discrete points, while the finite element method yields spatially
continuous solutions.
Also, the finite element method offers numerous advantages over the finite
difference method:
a. Anisotropy and heterogeneity of aquifers are easily taken care of.
b. Formulation of special formulae to incorporate irregular boundaries is
unnecessary.
c. Computer storage and computational time can sometimes be saved
because often fewer nodal points are needed to portray the region of
interest to the same level of accuracy.

Appendix B Numerical Formulation

107

d. Irregular grids for handling different levels of spatial discretization in


different sections of the region of interest can be incorporated.
e. The integral formulation used in this method permits the flux types of
the boundary conditions to come about naturally (Yeh 1987).
Thus, the finite element method is used in this model. The theoretical
background as well as numerical procedures of this method can be found in any
good finite element method book, such as Istok (1989), and therefore will not be
described here. A brief summary of the numerical procedure for applying the
finite element method can be found in Yeh (1987).
The flow module of FEMWATER includes three options for solving the
finite element equations. In other words, there are three iteration methods for
solving the linearized matrix equations: successive point iteration, polynomial
preconditioned conjugate gradient, and incomplete Cholesky preconditioned
conjugate gradient. Direct elimination methods are not used in this report
because they are impractical in dealing with large three-dimensional problems.
Because the Newton-Raphson method will yield a nonsymmetric matrix, the
Picard method is used to linearize the matrix equation.
To handle a large variety of possible problems, the flow module for
FEMWATER contains 12 optional numerical schemes. Specifically, the mixture
of schemes includes the combinations of (a) the three options for solving the
resulting matrix equation as mentioned in the previous paragraph, (b) two
options (lumping and consistent) for handling the mass matrix resulting from the
storage term, and (c) two options (time-weighted difference and middifference)
for approximating the time derivatives. The theoretical background for (b) and
(c) may also be found in any respectable matrix computation book and in Yeh
(1991).
The transport module for FEMWATER also includes these 16 options, plus
more. While the Galerkin finite element method is used in the flow module, an
option of two conventional finite element methods (Galerkin and upstream
weighting) or the alternative option of a hybrid Lagrangian-Eulerian finite
element method is provided in the transport module. The main difference
between the two conventional finite element methods is that while the Galerkin
finite element method uses the base functions as the weighting functions, the
upstream weighting finite element method uses weighting functions different
from the base functions. The advantages of using the upstream weighting finite
element method over the Galerkin finite element method become apparent when
the advection terms in the transport governing equation are equally important to
the dispersion terms (Yeh and Ward 1981). More details of the two
conventional finite element methods may be found in Yeh and Ward (1981).

108

Appendix B Numerical Formulation

Numerical Approximation of the Flow Equations


Spatial discretization with the Galerkin finite element method
When using the finite element method, the referenced pressure head is
approximated by:
N

h h$ = h j (t )N j (x, y, z)

(B1)

j=1

where
hj = amplitude of h at nodal point j
Nj = base function at nodal point j
N = total number of nodes
After defining a residual and forcing the weighted residual to zero, the flow
equation, Equation (A28), is approximated as:

dh j N

FN jdR
+ (N i ) K N j dR h j
N i

o
j=1 R
j=1 R
dt

= N i qdR (N i ) K z dR
o
o
R
R

( )

+ n K h + z N i dB
o

(B2)

i = 1,..., N

In matrix form, Equation (B2) is written as:

dh
[M ] + [S]{h} = {Q} + {G} + {B}
dt

(B3)

where
{dh/dt} = column vectors containing the values of dh/dt at all nodes
{h} = column vectors containing the values of h at all nodes
[M] = mass matrix resulting from the storage term

Appendix B Numerical Formulation

109

[S] = stiff matrix resulting from the action of conductivity


{Q} = load vectors from the internal source/sink
{G} = load vectors from the gravity force
{B} = load vectors from the boundary conditions
Furthermore, the mass matrix, [M], and stiff matrix, [S], are described as:

M ij =

eM e R e

FN e dR
o

(B4)

and

S ij =

(N ) K (N )dR
e

eM e R e

(B5)

where Re is the region of element e, Me is the set of elements that have a local
side - coinciding with the global side i-j, and Ne is the -th local base
function of element e.
In addition, the three load vectors, {Q}, {G}, and {B}, are described as:

Qi =

eM e R e

qdR
o

G i = (N e ) K
eM e R e

(B6)

zdR
o

(B7)

and

e
N

h
+

z
n

dB

o
eN se Be

Bi =

(B8)

where Nse is the set of boundary segments that have a local node a coinciding
with the global node i, and Be is the length of boundary segment e.
In most finite element work, the Darcy velocity components given in
Equation (A32) are calculated numerically by taking the derivatives of the
simulated h as

110

Appendix B Numerical Formulation


V = K o

(N )h
N

j=1

z
j

(B9)

This formulation results in a velocity field that is not continuous at element


boundaries and nodal points if the variation of h is other than linear or constant.
The alternative approach would be to apply the Galerkin finite element method
to Equation (A32); thus one obtains

[T]{Vx } = {D x }

(B10)

[T]{Vy } = {D y }

(B11)

[T]{Vz } = {D z }

(B12)

where the matrix [T] and the load vectors {Dx}, {Dy}, and {Dz} are given by

Tij =

eM e R e

N e dR

(B13)

D xi = N e i K o h + zdB
eM e R e

(B14)

D yi = N e j K o h + zdB
eM e R e

(B15)

D zi = N e k K o h + zdB
eM e R e

(B16)

where Vx, Vy, and Vz are the Darcy velocity components along the x-, y-, and zdirections, respectively; and i, j, and k are the unit vectors along the x-, y-, and zcoordinates, respectively.
The reduction of the partial differential equation (Equation (A28)) to the set
of ordinary differential equations (Equation (B3)) simplifies the evaluation of
integrals on the right side of Equations (B4) through (B8) for every element for
boundary surface e. The major tasks that remain to be done are the specification
of base and weighting functions and the performance of integration to yield the
Appendix B Numerical Formulation

111

element matrices. Linear hexahedral elements are employed in this


documentation.
Base and weighting functions
The construction of base functions for hexahedral elements is best
accomplished using the local coordinates (,,). In the local coordinates, the
original hexahedral element is mapped into a cubic whose corners are located at
= 1, = 1, and = 1 as shown in Figure B1.
For trilinear hexahedral elements, the eight base functions are obtained by
taking the tensor product of the three base functions of the linear line elements as

N i (, , ) =

1
(1 + i )(1 + i )(1 + i ),
8

i = 1, 2, ..., 8

(B17)

Because the Galerkin finite element method is used to solve the flow equations,
the set of eight weighting functions is taken as the same set of eight base
functions.
Numerical integration
To complete the reduction of the partial differential equation (Equation
(B3)) to the ordinary differential equation (Equation (B3)), one has to evaluate
the integrals on the right sides of Equations (B4)-(B8) for every
element to yield
e
the
the element mass matrix [Me] and ethe stiff element matrix [S ] as well as
e
element gravity column vector {G }, the source/sink column vector {Q }, and the
boundary column vector {Be} as
e
=
M

Re

e
S
=

FN e dR
o

(B18)

(N ) K (N )dR
e

(B19)

Re

Q = N
qdR
o
Re
e

G e = (N e ) K
Re

112

(B20)

zdR
o

(B21)

Appendix B Numerical Formulation

and

6
4

Figure B1. A hexahedral element in local coordinates

Be = N e n K h + zdB
o

Be

(B22)

Since Equations (B18)-(B22) are written in global coordinates and the base
functions are defined in local coordinates, a transformation between the global
and local coordinates is needed. The required transformation is obtained via the
base functions as
8

x = x j N j (, , )

(B23)

j=1

y = y j N j (, , )

(B24)

j=1

z = z j N j (, , ) ,

(B25)

j=1

Appendix B Numerical Formulation

113

Because the coordinate transformation uses the base functions, the element is
termed an isoparametric element.
Using the transformation in Equations (B23)-(B25), differentiation of the
base function with respect to the global coordinate can be changed to
differentiation with respect to the local coordinate by

x
[J ] =

Ni
Ni
x

Ni
1 N i

= [J ]


Ni
Ni
z

z

z
[J ]1 = Inverse of [J ]

(B26)

where [J] is the Jacobian of the transformation and J = |[J]|. In the mean time, a
differential volume written in the local coordinate becomes

dR =
e

1 1 1

Jddd

(B27)

1 1 1

With Equations (B26) and (B27), all the integrals in Equations (B18)-(B21) can
be reduced to the following form
1 1 1

f (, , )Jddd

(B28)

1 1 1

the integration of which can easily be carried out with a 2 2 2 = 8 point


Gaussian quadrature. The surface integration of Equation (B22) in threedimensional space is not as straightforward as in two-dimensional space. This
integration requires further elaboration. Any surface integral of a continuous
function F(x,y,z) specified on the surface S (Figure B2) can be reduced to the
area integration. Let I represent the surface integral:

114

Appendix B Numerical Formulation

I = F(x, y, z)dS

(B29)

where the surface S is given by the following equation:

P
0

r d

S
r d

Figure B2. A surface area and its imbedded local coordinates

z = f (x, y)

(B30)

Let P be any point on the surface S with coordinates (x,y,z) or (,) (Figure B2).
Then the vector r from O to P is given by

r = xi + yj + zk

(B31)

The tangent vectors to the coordinate curves = o and = o on the surface S


are r/ and r/, respectively. The area dS is given by:

dS =

r r

d d

Appendix B Numerical Formulation

(B32)

115

where represents vector multiplication. But

i
r r x

=

x

j
y

k
z

(B33)

so that

dS = J 2x + J 2y + J 2z d d

(B34)

where

Jz =
x

y
x

, Jy =
y
x

z
z

, Jx =
z
z

.
y

(B35)

Substituting Equation (B34) into Equation (B29) gives

F(x, y, z)dS =
S

1 1

(, )

J 2x + J 2y + J 2z d d

(B36)

1 1

where

(, ) = F x(, ), y(, ), z(, )

(B37)

The surface integral in Equation (B36) can easily be computed by Gaussian


quadrature.
Mass lumping option
Referring to [M], one may recall that this is a unit matrix if the finite
difference formulation is used in spatial discretization. Hence, by proper
scaling, the mass matrix can be reduced to the finite-difference equivalent by
lumping (Clough 1971). Mass lumping typically gives better stability but less
accuracy than no lumping. However, lumping can give more accurate and stable
116

Appendix B Numerical Formulation

solutions if it is used in conjunction with the central or backward-difference time


marching (Yeh and Ward 1980). Therefore, options are provided for the
lumping of the matrix [M]. More explicitly, [M] will be lumped according to:

M ij =

8
e
e

N
FN
dR

eM e =1 R e
o

if j = i,

(B38)

and

M ij = 0 if j i

(B39)

Finite difference approximation in time


Next, a matrix equation is derived by integrating Equation (B3). For the
time integration of Equation (B3), the load vector {B} will be ignored. This load
vector will be discussed in the next section on the numerical implementation of
boundary conditions. An important advantage of finite element approximations
over the finite difference approximations is the inherent ability to handle
complex boundaries and obtain the normal derivatives therein. In the time
dimension, such advantages are not evident. Thus, finite difference methods are
typically used in the approximation of the time derivative. Two time-marching
methods are adopted in the present flow model.
The first one is the time-weighted method written as:

[M ]

({h}t+t {h}t ) + [S]{h}t+ t + (1 )[S]{h}t


t
= {Q} + {G}

(B40)

where [M], [S], {Q}, and {G} are evaluated at (t + wt). In the Crank-Nicolson
centered-in-time approach, w = 0.5; in the backward-difference (implicit
difference), w = 1.0; and in the forward-difference (explicit scheme), w = 0.0.
The central-Nicolson algorithm has a truncation error of O(t2), but its
propagation-of-error characteristics frequently lead to oscillatory nonlinear
instability. Both the backward-difference and forward-difference have a
truncation error of O(t). The backward-difference is quite resistant to
oscillatory nonlinear instability. On the other hand, the forward difference is
only conditionally stable even for linear problems, not to mention nonlinear
problems.
In the second method, the values of unknown variables are assumed to vary
linearly with time during the time interval, t. In this middifference method, the
recurrence formula is written as:
Appendix B Numerical Formulation

117

2
2

[M ] + [S] {h}t + t / 2 [M ]{h}t = {Q} + {G}


t

(B41)

{h}t + t = 2{h}t + t / 2 {h}t

(B42)

and
,

where [M], [S], and {Q} are evaluated at (t + t/2).


Equations (B40) and (B41) can be written as a matrix equation

[T]{h} = {Y} ,

(B43)

where [T] is the matrix, {h} is the unknown vector to be found and represents
the values of discretized pressure field at a new time, and {Y} is the load vector.
Take, for example, Equation (B40) with w = 1.0. [T] and {Y} represent the
following:

[T] =

[M ]
t

+ [S] ,

(B44)

and

{Y} =

[M ]
t

{h}t + {Q} + {G}

(B45)

where {h} is the vector of the discretized pressure field at a previous time.
Numerical implementation of boundary conditions
The following steps are the incorporation of boundary conditions into matrix
equations by the finite element method. For the flux boundary condition given
by Equation (A40), simply substitute Equation (A40) into Equation (B22) to
yield a boundary-element column vector {Bce} for a flux segment:

{B } = {q }
e
c

e
c

(B46)

where {qce} is the flux boundary vector given by

118

Appendix B Numerical Formulation

q ec = N e
Be

q dB ,
o c

= 1,...,4

(B47)

The flux boundary vector represents the normal fluxes through the two nodal
points of the segment Be on Bc. For the gradient flux boundary condition given
by Equation (A39), substitute Equation (A39) into Equation (B22) to yield a
boundary-element column vector {Bne} for a gradient flux segment:

{B } = {q }
e
n

e
n

(B48)

where {qnae} is the gradient flux boundary flux vector given by:

{q } = N
e
n

nK

Be

z N e q n dB; = 1,...,4
o

(B49)

which is independent of pressure head.


The implementation of variable-type boundary conditions is more involved.
During the iteration of boundary conditions on the variable boundary, one of
Equations (A41) through (A45) is used at a node. If either Equation (A42) or
(A45) is used, substitute it into Equation (B22) to yield a boundary element
column vector {Bve} for a variable boundary segment:

{B } = {q }
e
v

e
v

(B50)

where {qve} is the variable boundary flux given by:

q ev = N e
Be

e
v

q dB, or
o p

q dB ; = 1,...,4
= N
o e
Be

(B51)

Assembling over all gradient flux, flux, and variable boundary segments yields
the global boundary column vector {B} as:

{B} = {q}

(B52)

in which

Appendix B Numerical Formulation

119

{q} = {q en } + {q ec } + {q ev }
eN ne

eN ce

(B53)

eN ve

where Nne, Nce, and Nve are the number of gradient flux boundary segments, flux
boundary segments, and variable boundary segments with flux conditions
imposed on them, respectively. The boundary flux {B} given by Equations
(B52) and (B53) should be added to the right side of Equation (B43).
For the river boundary condition given by Equation (A46), simply substitute
Equation (A46) into Equation (B22) to yield a boundary-element column vector
{BRe} and boundary matrix [BRe] for a river boundary segment:

{B } = {q }
e
R

e
r

and

[B ] = [b ]
e
R

e
r

(B54)

where {qre} and {bre} are the contribution of the flux boundary to the right and
left sides of the matrix equation, respectively. They are given by

q er =

Be

e
r

KR
h dB, = 1,...,4 and
o b R R

KR e
= N
N dB, = 1,...,4, = 1,...,4
o b R
Be

(B55)

At nodes where Dirichlet boundary conditions are applied, an identity


equation is generated for each node and included in the matrices of Equation
(B43). The Dirichlet nodes include the nodes on the Dirichlet boundary and the
nodes on the variable boundary to which either Equation (A41), (A43), or (A44)
is applied.
After time discretization of Equation (B3) and incorporation of boundary
conditions, the following matrix equation is obtained

[C]{h} = {R}

(B56)

where [C] is the coefficient matrix and {R} is the known vector of the right side.
For the saturated-unsaturated flow simulation, [C] is a highly nonlinear function
of the pressure head {h}.
Solution of the matrix equations
Equation (B56) is in general a banded sparse matrix equation. It may be
solved numerically by either direct or iteration methods. In direct methods, a

120

Appendix B Numerical Formulation

single solution operation sequence is performed. This would result in an exact


solution except for round-off error. In this method, one is concerned with the
efficiency and magnitude of round-off error associated with the sequence of
operations. On the other hand, in an iterative method, one attempts to find a
solution by a process of successive approximations. This involves making an
initial guess, then improving the guess by some iterative process until an error
criterion is obtained. Therefore, in this technique, one must be concerned with
convergence, and the rate of convergence. The round-off errors tend to be selfcorrected.
For practical purposes, the advantages of direct methods are as follows: (a)
the efficient computation when the bandwidth of the matrix [C] is small, and (b)
the fact that no convergence problem is encountered when the matrix equation is
linear or small convergence problems when the mass equation is nonlinear. The
disadvantages of direct methods are the excessive requirements on CPU storage
and CPU time when a large number of nodes is needed for discretization. On the
other hand, the advantages of iterative methods are the efficiencies in terms of
CPU storage and CPU time when large problems are encountered. Their
disadvantages are the requirements that the matrix [C] must be well conditioned
to guarantee a convergent solution. For three-dimensional problems, the
bandwidth of the matrix is usually large; thus the direction solution method is
not practical. Only iterative methods are implemented in FEMWATER. Four
iteration methods are used in solving the linearized matrix equation: (a) block
iteration, (b) successive point iteration, (c) polynomial preconditioned conjugate
gradient method, and (d) incomplete Cholesky preconditioned conjugate gradient
method.
The matrix equation, Equation (B56), is nonlinear because both the
hydraulic conductivity and the water capacity are functions of the pressure head
h. To solve the nonlinear matrix equation, two approaches can be taken: (a) the
Picard method and (b) the Newton-Raphson method. The Newton-Raphson
method has a second order of convergent rate and is very robust. However, the
Newton-Raphson method would destroy the symmetrical property of the
coefficient matrix resulting from the finite element approximation. As a result
the solution of the linearized matrix equation requires extra care. Many of the
iterative methods will not give a convergent solution for the nonsymmetric
linearized matrix equation. Thus, the Picard method is used in this report to
solve the nonlinear problems.
In the Picard method, an initial estimate is made of the unknown {h}. Using
this estimate, the coefficient matrix [C] is then computed and the linearized
matrix equation solved using linear algebra. The new estimate is now obtained
by the weighted average of the new solution and the previous estimate:

{h } = {h} + (1 ){h },
k +1

(B57)

where

Appendix B Numerical Formulation

121

{hk+1} = new estimate


{hk} = previous estimate
{h} = new solution
= iteration parameter
The procedure is repeated until the new solution {h} is within a tolerance error.
If is greater than or equal to 0 but is less than 1, the iteration is
underrelaxation. If = 1, the method is the exact relaxation. If is greater than
1 but less than or equal to 2, the iteration is termed overrelaxation. The
underrelaxation should be used to overcome cases of non-convergence or slow
convergence rates due to fluctuations rather than due to divergent
computations. Overrelaxation should be used to speed up the convergence rate
when it decreases monotonically.
In summary, there are sixteen optional numerical schemes here to deal with a
wide range of problems. These are the combinations of (a) two ways of treating
the mass matrix (lumping and no-lumping); (b) two ways of approximating the
time derivatives (time-weighting and middifference), and (c) four ways of
solving the linearized matrix equation.

Transport Equation
Spatial discretization with the weighted residual finite element
method
Let Cj be approximated by a finite element interpolation as
N

$ = C (t )N (x, y, z)
CC
j
j

(B58)

j=1

Substituting Equation (B58) into Equations (A57), (A61), and (A63), and forcing
a weighted residual to zero gives the following ordinary differential equations:
a. For the conventional finite element approach:

122

Appendix B Numerical Formulation

j=1

N +
i

dC j N

dS
+ N i V N jdR C j +
N jdR
dC
j=1 R
dt

dS

D
N
N
dR
C

+
N jdR C j +

N i K w + b K s

i
j
j

dC
j=1 R
j=1 R

h
dS

N i ( t + ) + b dC N jdR C j +
j=1 R

N q (
i

(B59)



h o
+ )
V N jdR C j =
t
n
o

R
h

dS

R N i ( t + + K s )b S dC C dR +
j=1

N qC
i

in

dR + N i n D CdB

i = 1,..., N

b. For the Lagrangian-Eulerian approach with a linear isotherm:


N

D Vd C j

dS

N
dR
+
+
i b dC j dt N i D N jdR C j +
j=1 R
j=1 R

N K
j=1

+ b Ks

dS
N jdR C j +
dC

N + t +
i

dS
N jdR C j +
dC

R
N




h o

+ )
V N jdR C j =
N i q (

n
t
o
R
j=1

j=1

N ( t + + K )
i

N qC
i

in

(B60)

dS

C dR +
S

dC

dR + N i n D CdB

i = 1,..., N

c. For the Lagrangian-Eulerian approach with a nonlinear isotherm:

Appendix B Numerical Formulation

123

D Vf C j

N N dR
i

j=1

dt

N
dC j
dS
+
+ N i b
N jdR
dC
dt
j=1 R

dS

D
N

N
dR
C
N jdR C j +
N i K w + b K s

i
j
j

dC

j=1 R
j=1 R

N ( t + ) +
j=1

N q ( n
i

+ )

dS
N jdR C j +
dC

(B61)


h o
V N jdR C j =
t
o

R
h

dS

R N i ( t + + K s )b S dC C dR +
j=1

N qC
i

in

dR + N i n D CdB

i = 1,..., N

Equations (B59)-(B61) are written in matrix form as:


a. For the conventional finite element approach:

[M ]

dC
+ ([A ] + [D] + [K]){C} = {Q} + {B}
dt

(B62)

b. For the Lagrangian-Eulerian approach with the linear isotherm:

D Vd C
+ ([D] + [K]){C} = {Q} + {B}
dt

[M ]

(B63)

c. For the Lagrangian-Eulerian approach with nonlinear isotherms:

DV C
dC
[M 1 ] f + [M 2 ] + ([D] + [K]){C} = {Q} + {B}
dt

dt

(B64)

where
{C} = vector whose components are the concentrations at all nodes
{dC/dt} = derivative of {C} with respect to time
[M], [M1] = mass matrices associated with the material derivative term

124

Appendix B Numerical Formulation

[M2] = mass matrix associated with the partial derivative term


[D] = stiff matrix associated with the dispersion term
[A] = stiff matrix associated with the advection term
[K] = stiff matrix associated with all the first-order terms
{Q} = load vector associated with all zero-order derivative terms
{B} = load vector associated with boundary conditions
These matrices and vectors are given as:

M ij =

eM R e

M 1ij =

M 2 ij =

A ij =

D ij =

eM R e

eM R e

(B65)

N e dR

(B66)

dS e
b
N dR
dC

(B67)

eM R e

dS e

+ b
N dR

dC

V N e dR

(B68)

D N e dR

(B69)

dS

K w + b K s dC +

h
dS

( t + ) + b dC
e
N e dR
K ij = N


eM R e
+
q

)

n
t

(B70)

eM R e

Appendix B Numerical Formulation

125

Qi =

eM R e

h
dS

( + t + K s ) b S dC C + qC in dR

Bi = N e n ( D C)dB

(B71)

(B72)

eM Be

where Cin is the concentration of the source.


Base and weighting functions
For the flow case, the weighting functions are taken as the same set as the
base functions. However, in the transport formulation using an Eulerian finite
element approach, sometimes it is advantageous to use weighting functions
which are one or two orders higher than the base functions: (N+1) or (N+2)
upstream weighting. This section will present only the N+1 upstream weighting
functions. Recently, the N+2 weighting functions have been the subject of
several investigations. The success of the N+2 weighting is still under
investigation. They will not be included here. First define, for the line element,
the following N+1 upstream weighting functions

F1 (, ) = N1 ()

3
(1 + )(1 )
4

(B73)

F2 (, ) = N 2 () +

3
(1 + )(1 )
4

(B74)

where is the weighting factor along the line from node 1 to node 2 (Figure B3).

Figure B3. Weighting factor along a line element


Then the weighting functions are obtained by an appropriate tensor product:

126

Appendix B Numerical Formulation

W1 = F1 (, 1 )F1 ( , 1 )F1 (, 1 )

(B75)

W2 = F2 (, 1 )F1 ( , 2 )F1 (, 2 )

(B76)

W3 = F2 (, 2 )F2 ( , 2 )F1 (, 4 )

(B77)

W4 = F1 (, 2 )F2 ( , 1 )F1 (, 3 )

(B78)

W5 = F1 (, 3 )F1 ( , 3 )F2 (, 1 )

(B79)

W6 = F2 (, 3 )F1 (, 4 )F2 (, 2 )

(B80)

W7 = F2 (, 4 )F2 ( , 4 )F2 (, 4 )

(B81)

W8 = F1 (, 4 )F2 ( , 3 )F2 (, 3 )

(B82)

where s, s, and s are the weighting factors along the side given in Figure
B4.
Numerical integration
To reduce the partial differential equations, Equations (A57), (A61), and
(A63) to ordinary differential equations, Equations (B62)-(B64), one has to
evaluate the integrals on the right sides of Equations (B65)-(B72) for every
element to yield the element mass matrices [Me], [M1e], and [M2e] and the stiff
element matrices [Ae], [De], and [Ke] as well as the source/sink column vector
{Qe} and the boundary column vector {Be} as:
e
M
=

Re

e
M 1
=

dS e

+ b
N dR

dC

(B83)

N e dR

(B84)

Re

Appendix B Numerical Formulation

127

3 3
2

Figure B4. Upstream weighting factors along 12 sides of a hexahedral element

M e2 =

Re

e
A
=

dS e
b
N dR
dC

V N e dR

(B85)

(B86)

Re

e
D
= N e D N e dR

(B87)

Re

e
K

128

dS

K w + b K s dC

h
dS

+ ( t + ). + b dC
N e dR
= N e

h
Re

q
(
)
+

t
n

o V
o

(B88)

Appendix B Numerical Formulation

Q e =

Re

h
dS

( + t + K s ) b S dC C + qC in dR

Be = N e n ( D C)dB

(B89)

(B90)

Be

Following the procedures presented in the section Numerical integration,


Equations (B83)-(B90) are first transformed in terms of local coordinates. Then
the resulting equations are integrated with Gaussian quadrature. The
transformation between the global and local coordinates is given by Equations
(B23)-(B25) resulting in isoparametric elements. The surface integration from
the boundary conditions also follows that presented in Numerical integration.
Mass lumping option
As with the solution of the flow equations, a consistent mass matrix or mass
lumping option can be used when the Eulerian approach is used. Although a
consistent mass matrix option can be used when the hybrid Lagrangian-Eulerian
approach is taken, a mass lumping scheme is more appropriate and easier to
implement.
Finite difference approximation in time
When the Eulerian approach is taken in approximating the governing
equations, either time-weighted difference or middifference can be used as in the
section Finite difference approximation in time. However, when the
Lagrangian-Eulerian approach is taken, the time integration is different from the
flow problem. Although there is still a choice of time-weighted difference or
middifference, the time-weighted difference scheme is preferred. In the
following, the time integration for the Lagrangian-Eulerian approach is
demonstrated. As in the time integration of the flow equations, the boundary
load vector will be ignored in the time integration of the transport equations in
this section. This load vector will be discussed in the next section.
In the Lagrangian-Eulerian approach, Equations (B63) and (B64) are
integrated along the characteristic lines. First Equation (B63) will be integrated
for the linear isotherm case. Then Equation (B64) will be integrated for
nonlinear isotherms. The time-weighted integration of Equation (B63) yields

[M ]

{C n +1} {C } + ([D] + [K]){C n +1} +

(1 )([D] + [K]){C } = {Q}

Appendix B Numerical Formulation

(B91)

129

where is the time-step size (the determination of will be explained later),


{Cn+1} is the concentration vector containing the concentration at all nodes at the
new time n+1, and {C*} is the Lagrangian concentration vector. The Lagrangian
concentration {C*} is computed by the backward method of characteristics as
follows.
t + t

x i = x i

V dt
d

C = C j (t )N j (x

(B92)

where xi* (the Lagrangian point) is the location of a fictitious particle originating
at time t and arriving at the node xi at time t + t. Ci(t) is the concentration value
at node j at time t and Nj(xi*) is the interpolation function associated with node j
evaluated at the Lagrangian point xi*. If xi* is located in the interior of the
region of interest, in Equation (B91) is defined as

= t

(B93)

If x* is located outside the region of interest, a (xi*) as a function of xi* must


be found such that

( )
Vd dt

t + x i

x = xi

(B94)

will be located on the boundary. Thus, it can be seen that is less than or equal
to t.
For the nonlinear isotherm case, Equation (B64) can be integrated to yield

[M 1 ] [ M 2 ] n +1

{C } + ([D] + [K]){C n +1} =


+
t

[M 1 ] [ M 2 ] n

{C } + t {C } (1 )([D] + [K]){C } + {Q}

(B95)

The computation of t and the Lagrangian concentrations C* in Equation (B95)


follows Equations (B92)-(B94) but with Vd replaced by Vf.

130

Appendix B Numerical Formulation

Numerical implementation of boundary conditions


To incorporate the boundary conditions, the right side of Equation (B90)
must be evaluated for every boundary face Be to yield the load vector {Be}:

Be = N e n ( D C)dB,

= 1,...,4

(B96)

Be

For the gradient flux boundary condition given by Equation (A67), simply
substitute Equation (A67) into Equation (B90) to yield a boundary-element
column vector {Bne} for a gradient flux face:

{B } = {q }
e
n

e
n

(B97)

where {qne} is the gradient flux boundary flux vector given by

q en = N e q N dB,

= 1,...,4

(B98)

Be

This gradient flux boundary flux vector represents the normal fluxes through the
two nodal points of the face Be on Bn.
For the flux boundary condition given by Equation (A68), Equation (B90)
may be rewritten in the following form:

Be = N e n (VC D C)dB + N e n VCdB,


Be

= 1,...,4

(B99)

Be

The concentration on the boundary segment Be can be approximated by


4

C = C N e

(B100)

=1

Substituting Equations (A68) and (B100) into Equation (B99) gives a boundaryelement column vector {Bce} for a flux face:

{B } = {q } + [V ]{C}
e
c

e
c

e
c

(B101)

in which the flux boundary vector {qce} and the flux boundary matrix [Vce] from
the normal velocity component are given by

Appendix B Numerical Formulation

131

{q } = N
e
c

= 1,...,4

q c dB,

Be

Vce = N e n VN e dB,

= 1,...,4 and = 1,...,4

(B102)

be

Faces on which the variable boundary conditions are imposed are the flowthrough boundaries on which the flow direction is not known a priori. When the
flow is directed into the region, flux boundary conditions will be used. The
boundary element column vector {Bve} for a variable boundary segment can be
obtained similarly to {Bce}:

{B } = {q } + [V ]{C}
e
v

e
v

e
v

(B103)

in which the variable boundary flux vector {qve} and the variable boundary
matrix [VVe] from the normal velocity component are given by:

{q } = N
e
v

(n V )C in dB,

= 1,...,4

Be

Vve = N e n VN e dB,

= 1,...,4 and = 1,...,4

(B104)

be

where Cin is the total dissolved concentration of the incoming fluid. When the
flow is directed out from the region, both {qve} and [VVe] are set equal to 0.
Assembling over all gradient flux, flux, and variable boundary segments, the
global boundary column vector {B} is obtained as:

{B} = {q} + [V]{C}

(B105)

in which

{q} = {q en } + {q ec } + {q ev }
eN ne

[V] = {V
eN ce

e
c

eN ce

} + {V }
eN ve

eN ve

(B106)

e
v

where Nne, Nce, and Nve are the number of gradient flux, flux, and variable
boundary segments, respectively.
At nodes where Dirichlet boundary conditions are applied, an identity
equation is generated for each node and included in the matrices of Equation

132

Appendix B Numerical Formulation

(B91) for the case of linear isotherms or Equation (B95) for the case of nonlinear
isotherms. The detailed method of applying this type of boundary condition can
be found in Wang and Connor (1975).
Boundary conditions need to be implemented in the computation of the
Lagrangian concentrations {C*}. Gradient flux boundary conditions are
normally applied to the boundary when flow is directed out from the region of
interest. On the gradient flux boundary, the backtracking would locate xi* in the
interior of the domain; hence the Lagrangian concentration at the ith gradient
flux boundary node is simply computed via interpolation. On the Dirichlet
boundary nodes, the Lagrangian concentration is simply set to the specified
value.
On the variable boundary, boundary conditions need not be implemented if
the flow is directed out from the region. If the flow is directed into the region,
the concentration of incoming fluid is specified. An intermediate concentration
C** is calculated according to

NVC
i

C =

in

dB

Bv

N V dB
i

(B107)

Bv

where Ci** is the concentration due to the boundary source at the boundary node
i, Vn is the normal vertically integrated Darcys velocity, and Cin is the
concentration of the incoming fluid.
Flux boundary conditions are normally applied to the boundary where flow
is directed into the region, where the material flux of incoming fluid is specified.
The intermediate concentration is thus calculated according to

N q dB
i

C =

Bc

N i Vn dB

(B108)

Bc

where Ci** is the concentration due to flux fluxes at the boundary node i, Vn is
the normal Darcys velocity, and qc is the flux of the incoming fluid.
The Lagrangian concentration is obtained by using the value Ci** and Cin
(the concentration at previous time-step) as follows:

Appendix B Numerical Formulation

133

Ci =

j=1 B

j=1 B

N i N jCj dB + N ib K d N jC nj dB
N ( + K )dB
i

linear isotherm (B109)

Ci = C
i

for the nonlinear isotherm

(B110)

Solution of the matrix equations


Because the Lagrangian-Eulerian approach results in a symmetric positive
definite matrix, the system of algebraic equations can be solved by any of the
four options: block iteration, successive point iteration, polynomial
preconditioned conjugate gradient, and incomplete Cholesky preconditioned
conjugate gradient methods. For the Eulerian approach, however, the block
iteration and successive point iteration methods are the preferred choice for
solving the matrix equation. When the advection transport is dominant, the two
basic iteration methods with underrelaxation are very effective in reducing the
number of iterations required for a convergent solution (Yeh 1985).

134

Appendix B Numerical Formulation

Appendix C Output File


Formats

Introduction
The output from FEMWATER consists of a printed output file and a number
of solution files. The printed output file is a text file listing a summary of the
input, iteration and convergence data, and solution summaries. The solution
files are used for post-processing or as initial conditions for subsequent runs.
The content and format of the solution files are described in this appendix.
There are four solution files that can be output from FEMWATER: pressure
head, velocity, moisture content (nodal), and concentration. All of the files can
be output in either binary or text format. The options for selecting which files
are to be output and which format is used are specified on the OC4 card in the
model file (see section, Save options (OC4), in main text).

Data Set Files


The pressure head, moisture content (nodal), concentration, and velocity
files are all written using the standard Department of Defense Groundwater
Modeling System (GMS) data set file format. The data set file formats are two
of the standard file formats used by the GMS. Multiple data sets, including both
scalar and vector, can be included in one file. However, the data set files used
by FEMWATER for input and output are assumed to contain one data set per
file.
With the scalar data sets, one scalar value is listed per node, in sequential
order based on the node IDs. If the data set is transient, a complete set of scalar
values is listed for each time-step. With vector data sets, the x-, y-, and zcomponents of the vector (velocity in this case) are listed on a node by node
basis.

Appendix C Output File Formats

135

Data set files can be saved in either text or binary format. The binary
format results in smaller files and can result in large reductions in the disk space
required, particularly when doing transient analyses on large meshes.

Text Data Set File Format


A summary of the text version of the scalar data set file format is shown in
Figure C1.
DATASET
/* File type identifier */
OBJTYPE type
/* Type of objects */
BEGSCL
/* Beginning of scalar data set */
ND numdata
/* Number of data values */
NC numcells
/* Number of cells or elements */
NAME name
/* Data set name */
TS istat time
/* Time-step of the following data */
stat1
stat2
.
statnumcells
val1
val2
.
valnumdata
/* Repeat TS card for each time-step */
ENDDS
/* End of data set */
BEGVEC
/* Beginning of vector data set */
ND numdata
/* Number of data values */
NC numcells
/* Number of cells or elements */
NAME name
/* Data set name */
TS istat time
/* Time-step of the following data */
stat1
stat2
.
statnumcells
vx1 vy1 vz1
vx2 vy2 vz2
.
vxnumdata vynumdata vznumdata
/* Repeat TS card for each time-step */
ENDDS
/* End of data set */
/* Repeat BEGSCL and BEGVEC sequences for each data set. */

Figure C1. Text data set file format


The first line of the file is a card without any fields that serves as a file type
identifier.
Card Type
Description
Required

136

DATASET
File type identifier.
YES

Appendix C Output File Formats

The next line is an identifier that tells GMS which of the objects the data set
is associated with. For FEMWATER, the object type should always be threedimensional (3-D) mesh.
Card Type
Description
Required
Format
Sample
Field
1

OBJTYPE
Identifies the type of objects that the data sets in the file are associated with.
YES
OBJTYPE type
OBJTYPE tin
Variable
Value
Description
TINs.
type
tin
mesh2d 2-D meshes.
2-D grids.
grid2d
2-D scatter points.
scat2d
mesh3d 3-D meshes.
3-D grids.
grid3d
3-D scatter points.
scat3d

To begin a data set, either a BEGSCL or BEGVEC card is required,


depending on the type of data set.
Card Type
Description
Required

BEGSCL
Marks the beginning of a set of cards defining a scalar data set.
YES

Card Type
Description
Required

BEGVEC
Marks the beginning of a set of cards defining a vector data set.
YES

The pair of lines are the ND and NC cards. These cards are used to specify
the number of nodes and elements in the mesh.
Card Type

ND

Description

The number of data values that will be listed per time-step. This number should
correspond to the number of nodes for a 3-D mesh.
YES
ND numdata
ND 10098
Variable
Value
Description
numdata
+
The number of items. At each time-step, numdata
values are listed.

Required
Format
Sample
Field
1

Card Type
Description
Required
Format
Sample
Field
1

NC
This number should correspond to the number of elements for a 3-D mesh.
YES
NC numcells
NC 3982
Variable
Value
Description
numcells
+
The number of elements.

Appendix C Output File Formats

137

The next line is for the name of the data set.


Card Type
Description
Required
Format
Sample
Field
1

NAME
The name of the data set.
YES
NAME name
NAME Total head
Variable
Value
name
str

Description
The name of the data set, in double quotes.

A data set can contain multiple solutions, each solution representing a


complete set of nodal values at a particular time-step. The TS card is used to list
a time value and the corresponding set of scalar or vector values. If the solution
is steady state, only one TS card is used and the time value is set to 0.0. If the
solution is transient, the TS card is repeated once for each time-step.
Card Type
Description
Required
Format

Sample

Field
1

138

TS (SCALAR)
Defines a set of scalar values associated with a time-step. Should be repeated for
each time-step.
YES
TS istat time
stat1
stat2
.
statnumcells
val1
val2
.
valnumdata
TS 0 12.5
34.5
74.3
58.4
72.9
Variable
Value
Description
istat
0
Use status flags from previous time-step. For first timestep, this value indicates that all cells are active.
Status flags will be listed.
1
time
+
The time-step value. This number is ignored if there is
only one time-step.
stat
0
Inactive.
1
Active.
One status flag should be repeated per line for each cell
or element. These flags are included only when ISTAT =
1.
val

The scalar values, one per line.

Appendix C Output File Formats

Card Type
Description
Required
Format

Sample

Field
1

TS (VECTOR)
Defines a set of vector values associated with a time-step. Should be repeated for
each time-step.
YES
TS istat time
stat1
stat2
.
statnumcells
vx1 vy1 vz1
vx2 vy2 vz2
.
vxn vyn vzn
TS 0 12.5
34.5 74.4 634.4
74.3 643.4 636.3
58.4 745.4 346.3
72.9 734.3 345.3
Variable
Value
Description
istat
0
Use status flags from previous time-step. For first timestep, this value indicates that all cells are active.
Status flags will be listed.
1
time
+
The time-step value. This number is ignored if there is
only one time-step.
stat
0
Inactive.
1
Active.
One status flag should be repeated per line for each cell
or element. These flags are included only when ISTAT =
1.
vx vy vz

The vector values, one set per line.

Each data set should be terminated with an ENDDS card.


Card Type

ENDDS

Description

Signals the end of a set of cards defining a data set.

Required

YES

Binary Data Set File Format


Data set files can also be written in binary format. The binary format is
patterned after the text format in that information is written to the file in groups
or cards. There are a few additional cards in the binary version, but most of
the cards are identical to cards in the text version except that the card identifiers
are not written with character strings. Rather, they are written with integer
codes.
The cards in the binary data set file are as follows:

Appendix C Output File Formats

139

Card Type
Card ID
Description
Required

VERSION
3000
File type identifier.
Yes

Card Type
Card ID
Description
Required
Field
1

OBJTYPE
100
Identifies the type of objects that the data sets in the file are associated with.
YES.
Variable
Size
Value
Description
TINs.
id
4 byte int
1
Boreholes.
2
2-D meshes.
3
2-D grids.
4
2-D scatter points.
5
3-D meshes.
6
3-D grids.
7
3-D scatter points.
8

Card Type
Card ID
Description

SFLT
110
Identifies the number of bytes that will be used in the remainder of the file for each
floating point value (4, 8, or 16).
YES
Variable
Size
Value
Description
sflt
4 byte int
+
4, 8, or 16

Required
Field
1
Card Type
Card ID
Description

140

Required
Field
1

SFLG
120
Identifies the number of bytes that will be used in the remainder of the file for status
flags (1, 2, or 4).
YES
Variable
Size
Value
Description
sflg
4 byte int
+
1, 2, or 4

Card Type
Card ID
Description
Required

BEGSCL
130
Marks the beginning of a set of cards defining a scalar data set.
YES

Card Type
Card ID
Description
Required

BEGVEC
140
Marks the beginning of a set of cards defining a vector data set.
YES

Appendix C Output File Formats

Card Type
Card ID
Description
Required
Field
1

NUMDATA
170
The number of data values that will be listed per time-step. This number should
correspond to the number of nodes.
YES
Variable
Size
Value
Description
numdata
4 byte int
+
The number of items. At each time-step,
numdata are listed.

Card Type
Card ID
Description
Required
Field
1

NUMCELLS
180
This number should correspond to the number of elements.
YES
Variable
Size
Value
Description
numcells
4 byte int
+
The number of elements or cells.

Card Type
Card ID
Description
Required
Field
1

NAME
190
The name of the data set.
YES
Variable
Size
name
80 bytes

Card Type
Card ID
Description

TS (SCALAR)
200
Defines a set of scalar or vector values associated with a time-step. Should be
repeated for each time-step.
YES
Variable
Size
Value
Description
istat
SFLG int
0
Use status flags from previous time-step. For
the first time-step, this value indicates that all
cells are active.
Status flags will be listed.
1
time
SFLT real
+
The time-step value. This number is ignored if
there is only one time-step.
stat
SFLG int
0
Inactive.
1
Active.
One status flag should be repeated for each
cell or element. These flags are included only
when istat = 1.
val
SFLT real
The scalar values. Repeat numdata times.

Required
Field
1

Appendix C Output File Formats

Value
str

Description
The name of the data set. Use one character
per byte. Mark the end of the string with the \0
character.

141

Card Type
Card ID
Description
Required
Field
1

142

TS (VECTOR)
200
Defines a set of scalar or vector values associated with a time-step. Should be
repeated for each time-step.
YES
Variable
Size
Value
Description
istat
SFLG int
0
Use status flags from previous time-step. For
the first time-step, this value indicates that all
cells are active.
Status flags will be listed.
1
time
SFLT real
+
The time-step value. This number is ignored if
there is only one time-step.
stat
SFLG int
0
Inactive.
1
Active.
One status flag should be repeated for each
cell or element. These flags are included only
when istat = 1.
vx vy vz
SFLT real
The vector values. Repeat numdata times.

Card Type

ENDDS

Card ID

210

Description

Signals the end of a set of cards defining a data set.

Required

YES

Appendix C Output File Formats

Appendix C Output File Formats

143

You might also like