The input data of the SWIFT-2002 (Sandia Waste-Isolation Flow and Transport Model) model provides an important compliment to two other reports. Reeves et al. [1986a] gives the theory and formulation of the model whereas Reeves et al. [1986b] provides instruction problem sets, complete with listings of the data input and output. In addition, Finley and Reeves [1981] provides illustrative problems which, although designed for SWIFT, may be used for an initial orientation to SWIFT-2002. Verification and validation tests of the SWIFT code are presented by Ward et al. [1984].
1.1 THE SWIFT MODELS
The SWIFT model was originally developed, maintained and applied by Sandia National Laboratories. The Nuclear Regulatory Commission has sponsored this work under its high-level nuclear-waste program. Between 1982 and 1985 the capability of SWIFT has been enlarged to include fractured media, a free-water surface and extended boundary conditions. Since 1985, GeoTrans has modified the code funded through internal research and development. Revisions include a conversion to Fortran 77, extended options for matrix solutions, contour mapping and boundary conditions and postprocessing options. This code is designated as SWIFT III. In 1990, a PC version of SWIFT (SWIFT/386) was developed in which a run-time monitor was added to improve user friendliness. Since then the code has been further enhanced to include multiple values of rock compressibility. A utility program, UNSWIFT, provides an interface between the map output and the contouring program SURFER7. The five models, SWIFT, SWIFT II, SWIFT III SWIFT/386, SWIFT/486, SWIFT-98 and SWIFT-2002 are fully transient (with steady-state options), three-dimensional, finite-difference codes, which solve the coupled equations for flow and transport in geologic media. The five models may be used for evaluation of repository site performance and repository design performance.
The processes considered are:
The media considered are:
1.2 PROGRAM STRUCTURE
The SWIFT-2002 program consists
of a main routine and approximately 90 supporting subroutines. Its general
structure is illustrated by Figure 1-1, a flow chart of the main routine.
The basic organization is focused upon the three global integration modules
ITER, ITERS and ITERC. Subroutine ITER solves the coupled partial differential
equations for fluid flow, heat transport and brine transport under transient
conditions, ITERS integrates the flow and brine equations under steady-state
conditions and ITERC solves the coupled partial differential equations
for transport of a radionuclide chain. All other routines provide support
functions for the integration. The support function of interest in this
report is that of data input.
Conditions for Figure 1-1 (numbered diamonds) are as follows:
(1) Are plots desired for
a previous run?
(2) Is this a restart run?
(3) Is dual porosity to
be included?
(4) Is the reduced-bandwidth
direct method of solution used? (multi-dimensional problems only)
(5) Is the run to be terminated
at this time step?
(6) Are the recurrent data
to be read at this time step?
(7) Is the waste-leach submodel
employed?
(8) Is the steady-state
pressure solution sought?
(9) Are steady-state wellbore
calculations to be performed?
(10) Is the transient pressure
solution sought?
(11) Are the transient wellbore
calculations to be solved?
(12) Are the radionuclide
transport calculations to be performed?
(13) In the transient wellbore
calculations, are the well rates to be calculated semi-implicitly?
(14) Are any two-dimensional
contour maps desired?
(15) Are any plots desired
for this run?
1.3 DATA
Data input occurs in eight of the subroutines shown in Figure 1-1, which may be viewed in several different ways. Seven of the routines are positioned outside the recurrent time-step loop extending from READ2 to PRINT2. These routines read time-independent data. The other routine, READ2, is positioned inside the recurrent time-step loop. Therefore, it reads time-dependent data. Regarding the storage allocation function, the three routines SWIFT, READ0 and READ0D provide data which optimally partition the common-block arrays. Here SWIFT reads such information for the global-system arrays, READ0 for the radionuclide arrays and READ0D for the local-subsystem arrays. In regard to the dual-porosity function, routines READ0D and READ1D provide input pertaining specifically to the local porosity, whereas the other routines provide input pertaining to the global porosity. Finally, the data input records divide naturally into groups depending upon the program unit in which they are read. Table 1-1 gives the "shorthand" notation used by each group and a brief description of the function of each group.
To facilitate data input, the use of record type identifiers is strongly encouraged. These identifiers, i.e., M-1, R1-1, R2-7-1 may be entered in columns 71-80 on the input data sets. Blank records are typically blank in columns 1-70 and the field identifier placed in columns 71-80, i.e., R1-26-BLK. This scheme has been used in the verification data sets and has been maintained for upward compatibility with previous versions of SWIFT, SWIFT II, and SWIFT III. In maintaining this compatibility, an exception arises in record type R2-12 (section 8.8) where columns 1-80 are all reserved for data input.
Chapters 2 through 9 define,
in detail, the data entered within each data group. Other useful items,
such as auxiliary disk files, units of measurement and a variable index
are treated in the remaining chapters and in the first three appendices.
However, for easy reference, the final appendix is reserved for the input-error
diagnostics which are printed by the code.
Routine | Notation | Data Function |
SWIFT | M* | General problem setup |
P | Plotting data | |
READ0 | R0 | Radionuclide-chain information |
READ0D | R0D | Dimensioning data of the local arrays |
READ1 | R1* | Properties of the global system |
READ1D | R1D | Properties of the local subsystems |
INIT | I* | Initialization data |
READ1A | R1A | Specification of waste-leach submodel |
NMONINP | N | Nuclide monitor block |
READ2 | R2* | Time-dependent data |