B.2. Program Structure
301
9. It is easy to be modified and extended. For instance, it can become the
Galerkin FEM, mass concentrated FEM or integrated FDM programs
by only changing a few constants (see Section 5.2.3).
10. The program can combine with an inverse solution program to solve
parameter identification problems (Sun, 1994), or combine with an
optimization program to solve groundwater management problems.
The program is based on the following assumptions:
1. When solving a groundwater flow problem, the aquifer may be either
isotropie or anisotropie. When solving a groundwater quality problem,
however, the aquifer is assumed to be isotropie. The longitudinal and
transverse dispersivities are used in the program (see Section 2.5.2.)
2. Both Darcy's law and Fick's law are valid.
3. Dispersion coefficients are proportional to velocity.
4. The flow region is saturated (confined or unconfined) and the flow direction is basically horizontal.
5. The fluid density p is approximately a constant and the changes of solute
concentrations will not affect the flow field, i.e., the transport belongs to
the tracer case (see Section 7.1.1).
6. The temperature of the groundwater is nearly constant.
7. The adsorption can be described by the linear equilibrium isotherm relationship. The retardation coefficient is used (see Section 2.6.2).
B.2 Program Structure
The program consists of a main program and seventeen subroutines:
1. Main program-allocates the memory space and calls subroutines DATAG and MCB2D.
2. Subroutine DATAI-reads initial conditions.
3. Subroutine DATAB-reads boundary conditions.
4. Subroutine DATAG-reads geometrie information.
5. Subroutine DAT A W -reads pumping and recharge locations and rates.
6. Subroutine DATAS-reads rates and quality ofinfiltration water.
7. Subroutine DAT AP-reads parameters, such as hydraulie conductivity,
storage coefficient, porosity, longitudinal and transverse dispersivities,
retardation factor, and so on.
8. Subroutine DATAO-reads observation locations and times.
9. Subroutine DATAC-reads all computation control numbers, such as
relaxation factors, convergence criteria, weighting coefficients, initial size
of time step and so on.
10. Subroutine FDB-forms boundary conditions for each time step.
11. Subroutine FDW -forms pumping and rech arge data for each time step.
12. Subroutine FDS-forms sink/source data for each time step.
Précédent

- 316/392

Suivant