bionapl/3d - Science - University of Waterloo
Transcription
bionapl/3d - Science - University of Waterloo
BIONAPL/3D: A 3D Model for Groundwater Flow, and Multi-Component NAPL Dissolution with Dissolved-Phase Advective-Dispersive Transport and Biodegradation in Porous and Fractured Porous Media User Guide 10 Z (m) g/l 0.1 0.05 0.02 0.01 0.001 0.0001 Toluene 5 0 Oxygen Z (m) 10 g/l 0.004 0.003 0.002 0.001 0 5 0 Microbes (O2 reducers) Z (m) 10 5 0 0 50 100 150 Distance (m) 200 250 g/l 0.06 0.02 0.007 0.005 0.002 0.001 July 2011 John W. Molson, PhD. P.Eng. Ing. Dept. of Geology & Geological Engineering Canada Research Chair, Quantitative Hydrogeology of Fractured Porous Media Université Laval, Québec, QC ([email protected]) Adjunct Professor, Dept. of Earth & Environmental Sciences, University of Waterloo http://sciborg.uwaterloo.ca/~molson/ License Agreement I. Copyright Notice This software is protected by both Canadian copyright law and international treaty provisions. Therefore, you must treat this software just like a book, with the following single exception. You are authorized to make archive copies of the software for the sole purpose of backing-up our software and protecting your investment from loss. By saying "just like a book", it is meant for example, that this software may be used by any number of people and may be freely moved from one computer location to another, so long as there is no possibility of it being used at one location while it is being used at another. This restriction is similar to that in publishing where a book for example, can't be read by two different people in two different places at the same time. II. Warranty The physical disks and documentation enclosed herein are warranted to be free of defects in materials and workmanship for a period of 30 days from the date of purchase. In the event of notification of defects in material or workmanship, the defective disks or documentation will be replaced. The remedy for breach of this warranty shall be limited to replacement and shall not encompass any other damages, including but not limited to loss of profit, and special, incidental, consequential, or other similar claims. III. Disclaimer Neither the developers of this software, nor any person or organization acting on behalf of them makes any warranty, express or implied, with respect to this software; or assumes any liabilities with respect to the use, or misuse, of this software, or the interpretation, or misinterpretation, of any results obtained from this software, or for damages resulting from the use of this software. IV. Governing Law This license agreement shall be construed, interpreted, and governed by the laws of the Province of Ontario, Canada. 2 Table of Contents page 1. INTRODUCTION......................................................................................................................... 4 2. THEORETICAL DEVELOPMENT .......................................................................................... 6 2.1 GROUNDWATER FLOW .............................................................................................................. 6 2.2 MULTI-COMPONENT MASS TRANSPORT .................................................................................. 8 2.2.1 Governing Transport Equations.......................................................................................... 8 2.2.2 Inhibition ........................................................................................................................... 10 Electron Acceptor Inhibition ................................................................................................................................................... 11 Inter-Component Inhibition ..................................................................................................................................................... 12 Maximum and minimum thresholds for degradation: ............................................................................................................. 13 2.2.3 Linear (1st Order) Degradation......................................................................................... 13 Method I: Fixed rate ................................................................................................................................................................ 13 Method II: Modified Monod Terms ........................................................................................................................................ 13 Verification of Decay: ............................................................................................................................................................. 14 2.2.4 Daughter Products ............................................................................................................ 15 2.2.5 Reaction Stoichiometry ..................................................................................................... 17 2.2.6 Source Dissolution ............................................................................................................ 18 2.2.7 Boundary Conditions......................................................................................................... 19 2.2.8 Carrier Transport (CC): .................................................................................................... 20 2.2.9 Solution Strategy ............................................................................................................... 22 3. DESIGNING A MODEL ............................................................................................................ 23 3.1 GRID DEFINITION ...................................................................................................................... 23 3.2 FLOW SYSTEM .......................................................................................................................... 25 3.3 TRANSPORT SYSTEM ................................................................................................................. 26 4. REFERENCES: .......................................................................................................................... 27 APPENDIX A: DETAILED USER GUIDE FOR A SAMPLE DATA FILE ........................... 29 APPENDIX B: SAMPLE DATA FILE AND RESULTS: ETHANOL & GASOLINE ........... 55 APPENDIX C: SAMPLE DATA FILE AND RESULTS: TOLUENE BIODEGRADATION WITH MULTIPLE ELECTRON ACCEPTORS ........................................................................ 59 APPENDIX D: SAMPLE DATA FILE AND RESULTS: TOLUENE SPILL WITHIN A HETEROGENEOUS, SPATIALLY CORRELATED PERMEABILITY FIELD. ................. 63 APPENDIX E: EXAMPLE AND VERIFICATION OF 1ST ORDER DECAY: ...................... 66 APPENDIX F: VERIFICATION OF DENSITY WITH MULTIPLE COMPONENTS: ...... 69 APPENDIX G: FRACTURE LOCATIONS ON ELEMENT SURFACES .............................. 73 APPENDIX H: FRACGEN MODEL FOR RANDOM FRACTURE NETWORKS ............... 74 APPENDIX I: DISCRETE FRACTURE NETWORK APPLICATION ................................. 76 3 1. Introduction BIONAPL/3D is a three-dimensional numerical model for simulating multi-component nonaqueous phase liquid (NAPL) dissolution and biodegradation in a porous or discretely fractured porous aquifer. It includes a transient, groundwater flow model coupled with an advectivedispersive multi-component transport model. A rectangular prism (3D brick) mesh generator is built-in, although externally-generated deformed rectangular meshes can also be used. The model was originally developed to simulate the dissolution of the Borden emplaced source experiment (Frind et al. 1999). Component sources can be either set as initial conditions, boundary conditions, or as residual (immobile) NAPL. Multiple component sources, with multiple electron acceptors and microbial populations can be accommodated. Further details and example model applications are provided by Molson (2000), Molson et al., (2000a,b, 2008), Rügner et al. (2004), Freitas et al. (2010) and Greer et al. (2010). The conceptual model (with a residual LNAPL source as an example) is shown in Figure 1 below. Figure 1. Conceptual model for BIONAPL/3D. 4 Table 1 provides a summary of the capabilities and limitations of the model. The code does not include a pre-, or post-processor. Data is read from an ASCII data file and results can be imported into most existing visualization software (files are already formatted for use with Tecplot © Amtec Engineering). Table 1. Summary of the capabilities, assumptions and limitations of BIONAPL/3D. Capabilities • 3D, 2D or 1D domains. • fully coupled density-dependent flow (steady state or transient) and mass transport. multi-contaminant species, multi-electron acceptors, multi-microbial populations porous or discretely fractured porous media sources can be in the aqueous phase, or can originate from a dissolving NAPL phase. Sources can be located on a boundary or within the domain. domain can be heterogeneous and anisotropic. deformable elements can conform to complex geometry. includes relative permeability changes with NAPL dissolution multiple sources and sinks can be accommodated including a variable pumping history. versatile boundary condition options. automatic watertable search for unconfined aquifers. includes linear/nonlinear retardation and firstorder decay or Monod-type kinetic degradation. output includes 3D volumes, selected 2D sections, 1D profiles, and concentration breakthrough (conc. vs time). • • • • • • • • • • • Assumptions and Limitations • • • • • • • non-deforming, isothermal aquifer fluid is incompressible. well bore storage and well losses are neglected geochemical reactions are neglected saturated flow domain NAPL phase (if included) is immobile (i.e. at residual saturation or lower) gas phase transport not included • biomass growth does not affect the flow system (option available soon) • biodegradation assumes complete mineralization (can be relaxed using modified stoichiometric ratios) 5 2. Theoretical Development The BIONAPL/3D model is based on the equations for advective-dispersive reactive transport within a porous media. The model considers multiple components dissolving from a residual NAPL source, as well as nonlinear and kinetic sorption, electron acceptor-limited biodegradation and transport and sorption to a reactive carrier. 2.1 Groundwater Flow In the derivation of the flow equation, we first define an equivalent freshwater head ψ (Frind, 1982a) as ψ= p +z ρ0 g (1) where p is the fluid pressure, ρo is the reference freshwater density, g is the gravitational acceleration, and z is the elevation. The Darcy equation for density-dependent flow can be written as (Bear, 1972) qi = - ∂z ⎞ k ij ⎛⎜ ∂p ⎟ + g ρ ∂ x j ⎟⎠ μ ⎜⎝ ∂ x j (2) where qi is the Darcy flux, kij is the permeability, μ is the dynamic viscosity, and ρ is the fluid density. Substituting equation (1) into (2), we obtain ⎡ ∂ψ ⎤ + ρ r n j⎥ qi = - K ij ⎢ ⎣∂ x j ⎦ (3) where ρ r , the relative fluid density, is defined by ρr = ρ -1 ρ0 (4) and the hydraulic conductivity Kij is defined as Kij=kij ρo g/ μ . 6 Assuming a dilute solution of a single component under isothermal conditions, the fluid density and concentration are related by ρ = ρ 0 (1 + γc ) (5) where c is the relative concentration (dimensionless) and γ is a constant defined by γ= ρ max -1 ρ0 (6) where ρ max is the maximum density of the fluid. Substituting (5) into (4) gives ρr =γ c (7) In the more general case of multiple components, the local relative fluid density ρr is calculated as a function of the densities ρk and concentrations ck of all Nc components being transported according to ρr = 1 ρo Nc ⎛ ck ⎞ c − ⎜ ⎟ ∑ ∑ k k =1 k =1 ⎝ ρk ⎠ Nc (8) which accounts for component densities greater and/or less than water. Frind (1982a) points out that the use of concentration rather than density in the Darcy equation provides better numerical precision. The continuity equation for flow for the porous media can then be expressed as (Bear, 1972) ⎛ ∂ψ ⎞⎤ N ∂S ∂ ⎡ ∂ψ +θ w + γc n j ⎟ ⎥ - ∑ Qk (t ) ⋅ ( xk , yk , zk ) = S w S S ⎢ K i, j krw ⎜ ∂ x i ⎣⎢ ∂t ∂t ⎝ ∂x j ⎠ ⎦⎥ k =1 (9) where xi are the 3D spatial coordinates, Kij is the hydraulic conductivity tensor, ψ is the equivalent freshwater head, gc = ρ r (c) is the concentration-dependent relative density of water, Qk is the fluid volume flux for a source or sink located at (xk,yk,zk), Ss is the specific storage, and t is time. The relative permeability krw is defined as a function of the water saturation Sw, in the form (Corey, 1986): ⎛ S − S rw ⎞ krw = ⎜ w ⎟ ⎝ 1 − S rw ⎠ 4 (10) 7 where Srw is the irreducible degree of water saturation. Hence, for a dissolving (or precipitating) NAPL, BioNAPL accounts for the relative permeability increase (or decrease). The degrees of saturation are related by: (11) S w + Sn = 1 Boundary conditions for (9) can be either first type (fixed head) or second type (fixed head gradient). A similar equation governs groundwater flow within 1D pipe elements, or 2D discrete planar fractures, for which the hydraulic conductivity is defined as: K f = ( 2b ) ρ g /12 μ 2 (12) where 2b is the fracture aperture. 2.2 Multi-Component Mass Transport 2.2.1 Governing Transport Equations The BIONAPL/3D model solves a reactive transport equation for each component, as well as for each electron acceptor and microbe population. The governing equation for mass transport of component Cα can be written (for a porous medium) as ∂C α ∂ = Rθ S w ∂t ∂xi ⎡ ⎛ ∂C α ⎤ ∂C α Cα ⎞ α α α + θ S w λ DIS ⎜ C S − ⎢θ S w Dij ⎥ − qi ⎟ − θ S w λ BIO C ∂x j ⎥⎦ ∂xi E ⎠ ⎝ ⎣⎢ (13) where the dissolution rate term (Frind et al. 1999) is α λ DIS = ShD α ⎛ f α S n ⎞ ⎟ ⎜ (d 50 )2 ⎜⎝ S no ⎟⎠ β (14) and the effective solubility is ( C S = Coα χ α ) (15) The biodegradation decay term is λαBIO ⎡ ⎛ ⎜ NA ⎢ 1 α ,n n⎜ ⎢ = ∑ k M Nc ⎜ α ,n α α, j j n =1 ⎢ ⎢ ⎜ K C + C + ∑ K II C j =1 ⎝ ⎣ ⎤ ⎞ ⎥ ⎟ ⎞ An n⎥ ⎟• ⎜⎛ ⎟ ⋅ I ⎥ ⎟ ⎝ K A α , n + An ⎠ ⎥ ⎟ ⎠ ⎦ (16) 8 where: Cα An Mn kα,n KC α,n KAα,n KII α,j In Coα Xα q v D d50 R Sw Kd α ρb θ λα t xi E NA NC = contaminant concentration for organic component α (kg/m3) = electron acceptor concentration (kg/m3) = microbe concentration (kg/m3) = maximum organic utilization rate (kgSkgM-1day-1) = organic half-utilization-rate concentration (kg/m3) = oxygen half-utilization-rate concentration (kg/m3) = inter-component inhibition constant of organic α by component j. = electron acceptor inhibition constant (see eq. 15) = pure phase solubility of the organic (kg/m3) = mole fraction of organic component = Darcy flux (m/d) = groundwater velocity (m/d) (v=q/θSw) = hydrodynamic dispersion coefficient (m2/d) = mean grain diameter (m) = linear retardation coefficient; R = 1+ ρb Kd α / θ = water saturation = linear sorption distribution coefficient (m3/kg) = bulk density of the porous medium (kg/m3) = porosity = dissolution rate coefficient (day-1) = time (days) = spatial dimension (m) (xi = x,y,z) = dissolution enhancement factor = number of electron acceptors = number of organic components Note that the form of equation (13) assumes that the sorbed phase (if present, i.e. if R>1) does not decay, which is a typical assumption for microbial degradation. To account for radioactive decay of a sorbing component, the user must enter a modified decay rate λ*, where λ*= λ*R. The governing equation for the electron acceptor can be written in a form similar to (13) and expressing the decay term as n BIO λ ⎡ ⎛ ⎜ Nc ⎢ Cα α ,n n α ,n ⎜ ⎢ = ∑ k M Χ Nc ⎜ α ,n α α =1 ⎢ + + K C K IIα , j C j ∑ ⎢ ⎜ C j =1 ⎝ ⎣ ⎤ ⎞ ⎥ ⎟ ⎛ ⎞ 1 n ⎟• ⎜ ⎟ ⋅ I ⎥⎥ ⎟ ⎝ K A α , n + An ⎠ ⎥ ⎟ ⎠ ⎦ (17) 9 where Xα,n is the stoichiometric ratio of the mass of electron acceptor consumed per mass of organic consumed (kg/kg). Following the approach of MacQuarrie et al. (1990) and Frind et al. (1989), we assume the microbial population is stagnant and grows according to ∂M n ∂t ⎡ ⎛ ⎜ Nc ⎢ Cα = ∑ ⎢Y α , n M n k α , n ⎜ Nc α,j ⎜ α ,n α α =1 ⎢ K C K Cj + + ∑ C II ⎢ ⎜ j =1 ⎝ ⎣ ⎤ ⎞ ⎥ ⎟ ⎛ n ⎞ A n ⎟•⎜ ⋅ I ⎥ − bM n α ,n n ⎟ ⎥ ⎟ ⎝ KA + A ⎠ ⎥ ⎟ ⎠ ⎦ (18) where Y is the microbial yield coefficient and b is a linear decay rate (day-1). The corresponding governing equation for mass transport within a horizontal fracture can be written as (Yang et al. 1996a,b): Sw ∂ ∂xi ⎡ ∂c′ ⎤ Dij ⎡ ∂c′ ⎤ ∂ ( c′ ) c′ ⎞ ∂c′ ⎛ − S wλ DIS ⎜ CS − ⎟ − S wλ BIO c′ + S w = RS w ⎢ Dij ⎥ − v′i ⎢ ⎥ E⎠ b ⎣ ∂z ⎦ z =± b ∂xi ∂t ⎝ ⎢⎣ ∂x j ⎥⎦ (19) where c' is the component concentration in the fracture, vi are the fracture velocities in the x and y directions (ms-1), and b is the half-fracture aperture (m). The last term on the left hand side of (19) represents the mass transfer between the fracture and the porous matrix. 2.2.2 Inhibition Three methods of inhibiting biodegradation of the organic components are considered in the BIONAPL model: electron acceptor inhibition, inter-component inhibition and maximum/minimum threshold inhibition. Electron acceptor inhibition (using the xkin(j) variable), will adjust the availability of multiple electron acceptors for the biodegradation of each organic. Inter-component inhibition (with the variable zinhib(i,j)) will reduce the effective degradation rate of one organic if there is competitive inhibition; that is, if the degradation rate of that component is reduced by the degradation of one or more of the other components. Finally, the max/min thresholds are simply the critical maximum (cinib(i,j)) and minimum (thresh_s, thresh_o(j)) concentrations of each organic and EA beyond which degradation will not proceed. The three methods are outlined below. 10 Electron Acceptor Inhibition In the case of multiple electron acceptors, the inhibition function (In) allows either a gradual or abrupt change between preferred electron acceptors. The function takes the form I n =1 = 1; I n >1 ⎡ ⎤ ⎢ ⎥ 1 ⎢ ⎥ =∏ Ai −1 ⎥ i =2 ⎢ ⎢1 + K i −1 ⎥ ⎣ ⎦ IA n (20) Where KIA (variable xkin in the model) is the inhibition coefficient for electron acceptor n. The behaviour of the inhibition constant is shown, for a 2 electron-acceptor system, in Figure 2. For this system, if both electron acceptors are considered equally available with no preference other than through the kinetic rate constant k, then K1A should be set very high (e.g. 10000) such that the inhibition factor I2 remains equal to one (i.e. no inhibition). If, however, the second electron acceptor is only to be utilized after the first is almost completely consumed, then K1A should be set very small (e.g. < 0.0001 [A]max). The Inhibition factor for the second electron acceptor I2 will then decrease rapidly as the concentration of the first electron acceptor increases, thereby limiting consumption of the second electron acceptor where the first exists at sufficient concentration. A similar behaviour can be simulated for third, fourth and additional electron acceptors. Figure 3 shows the conceptual model for degradation among competing substrates and electron acceptors. Preferential degradation is handled through the degradation constants, as well as the inhibition factor KIA. For example, if EA #1 is preferred, it should be placed first, and the degradation constant for EA 1 would be higher than for EA2. The conversion from EA1 to EA2 is handled through KIA. I1, I2(k1 = 10000) Inhibition Constant (I) 1 0.8 I2 (k1=10) 0.6 0.4 I2 (k1=0.1) 0.2 I2 (k1=0.01) 0 2 I2 (k1=1) 4 6 8 10 Electron Acceptor Conc (mg/L) Figure 2. Behaviour of the inhibition constants I1 and I2 (for a 2 electron acceptor system, using equation 20) as a function of the electron acceptor concentration A, shown for 5 selected values of the electron acceptor inhibition constant KIA. A high constant will allow simultaneous EA 11 utilization, while a small constant will prevent utilization of an EA until the previous EAs have been depleted. Substrate Electron Acceptor k 1,1 1 k 1,2 benzene k 2,1 k 2,2 2 toluene k 3,1 3 xylenes Microbes 1 oxygen 2 nitrate k 3,2 Figure 3. Schematic showing linkages between substrates, electron acceptors and microbe populations for a system with 3 components and 2 electron acceptors. Reaction rates kij are shown. Inter-Component Inhibition Inter-component inhibition is controlled by the parameter KII , represented in the model by the variables zinhib(i,j) which represents the inhibition of component i by component j (Kij). Inter-component inhibition terms for organic component i are required for all other components. Therefore, for each component, (Nc-1) inter-component inhibition terms must be entered to the model. The inhibition terms appear above in equations 16, 17 and 18 within the Monod-term as: ⎛ ⎜ Cα ⎜ Nc α,j ⎜ α ,n α + + K C K II C j ∑ ⎜ C j =1 ⎝ ⎞ ⎟ ⎟ ⎟ ⎟ ⎠ Therefore, as the magnitude of the inhibition constant KII increases, the rate will decrease. If there is no inhibition of component α by component j, then KIIαj = 0. 12 Maximum and minimum thresholds for degradation: Two additional types of inhibition are also included in BioNAPL. The variable “cinib(i,j)” is a maximum concentration for component i, above which this substrate is assumed toxic to the microbe population j (associated with EA j). Set cinib(i,j) greater then the maximum expected component concentration to allow biodegradation at all high concentrations. Similarly, the variables “thresh_S” and “thresh_O(j)” represent minimum concentrations of all substrates and the minimum concentration of electron acceptor j, respectively, below which biodegradation is assumed inactive. Currently, this minimum threshold must be constant for all components. The minimum threshold can be different for each electron acceptor. 2.2.3 Linear (1st Order) Degradation Use of the above Monod terms will in general yield a non-linear rate dependent on both the substrate and electron acceptor concentrations. First-order (linear) degradation, dependent only on the substrate concentration, can be simulated using two approaches, Method I and II described below. Freitas et al (2010) use BioNAPL to simulate first-order degradation of ethanol-containing fuels in a field experiment. An example of Method II is provided in Appendix E. Method I: Fixed rate The first method is simply to use the fixed decay rate λ [day-1] in the data file, defined by λ= ln 2 t1/ 2 (21) where t1/2 is the half-life (days). This rate λ is entered on the same line as the elemental dispersivities (see sample data file in Appendix A). This fixed value for λ takes the place of equation 16 above. If this method is used, the user must also set kbio = 0, mode = 0 and kα,n =0. Note that this use of first-order rates is not affected by inhibition and minimum threshold concentrations. To invoke inhibition and threshold concentrations, the second method below must be used. Furthermore, for multiple components, this fixed-rate approach assumes the same rate for all components. To vary the rate among components, Method II must be used. Method II: Modified Monod Terms The second method for assigning first-order rates is to modify the Monod terms to give a first-order rate. This is accomplished by setting the following constraints: Set An = 1.0; Mn = 1.0; Y = 0.0 ; X = 0.0 13 KC α,n >> C α (by at least two orders of magnitude) KAα,n < 10-24 Then set kα,n = λ ·KC α,n where λ is the desired first order decay rate (/day). Also, you should set kbio=1 (active biodegradation), and mode=0 (linear). By inspection of equation 17, the above formulation will produce a fixed, first-order degradation rate. Inhibition and minimum threshold concentrations are still active using this approach. Verification of Decay: The numerical implementation of the decay term is here verified against the analytical solution LINE2D. The BioNAPL model is tested using both the fixed rate approach, and the Modified Monod term approach for linear decay. The test system and chosen parameters are shown in Fig. 4. The fixed decay rate was 6.93e-3 day-1 , equivalent to a half-life of 100 days. This rate was also obtained using the Monod terms by choosing: kα,n An KC α,n KAα,n = 6.93e02 = 1.0; Mn = 1.0; Y = 0.0 ; = 1.e5 = 1.0e-25 X = 0.0 In all cases, the numerical model is an excellent match to the analytical model. Domain Boundary v = 0.124 m/d αL = 0.1m αT = 0.002m t1/2 = 100 days (λ=6.93e-3 day-1 13.5 m source 6.5m 0m 20 m Analytical (Line2D) BioNAPL: Monod Linear Rate BioNAPL: Fixed Linear Rate Conc. C/Co 1 100 days 0.5 40 days 10 days 0 0 5 10 X Distance (m) 15 20 Figure 4. Verification of the BioNAPL model for linear decay. 14 2.2.4 Daughter Products BioNAPL can be used to simulate chain decay, i.e. the generation and transport of multiple daughter products from the decay of each component simulated. Decay of a parent component is achieved with the Monod terms as above (nonlinear or linear forms), and the daughter products are entered and transported as separate components linked to the parent. The user must define two parameters for each daughter product: the component number of its parent (kdp(#)), and the reaction stoichiometry mass ratio (xdp(#)) (i.e. mass of daughter product produced per mass of parent decayed). For a parent which is not a daughter product itself, these two terms remain = 0. For example, consider the reductive dechlorination of DCE to VC, and VC to ethene. This is a 3component system: component 1 (parent DCE), component 2 (VC, considered as the daughter product of component 1), and component 3 (ethene, the daughter product of component 2). The reductive dechlorination of DCE to VC can be written as: C2H2Cl2 + H2 → C2H3Cl + Cl- + H+ In which the source of dissolved hydrogen (the electron donor) can originate from fermented natural organic matter, hydrocarbons (BTEX), volatile fatty acids, etc. (Wiedemeier et al. 1999). Thus, 1 mole of VC is produced for every mole of DCE degraded, giving a mass ratio of 0.65. (=MWVC/MWDCE × 1moleVC/1moleDCE). Similarly, the reductive dechlorination of VC to ethene can be written as: C2H3Cl + H+ → C2H4 +ClIn which the mass ratio is 0.45 (=MWethene/MWVC × 1moleethene/1moleVC). Therefore, with DCE decaying toVC which itself degrades to ethene, the following input values are used: Component 1 (DCE, parent 1) 2 (VC, daughter 1 – daughter of component 1) 3 (ethane, daughter 2 – daughter of component 2) kdp 0 1 2 xdp 0 0.65 0.45 Since kdp(2)=1, this indicates that component 2 is a daughter product of component 1. The decay rates for the components can be whatever the user wishes, however for a linear decay rate, Method II must be used. In the above case, the initial conditions for component 2&3 should be zero everywhere; these components will be produced as source terms from component 1&2 respectively. As in the above example, the daughter products themselves can degrade, by using the Monod terms as above. A sample simulation is provided in Figure 5 with decay rates of 0.05 day-1 and 0.01 day-1 for DCE and VC, respectively. 15 The parameters kdp and xdp are the last two entries of each line defining the component density, molecular weight, aqueous solubility etc. For further clarification, see the example in Appendix C which includes an example of methane as a daughter product of Toluene degradation. Case A: -1 λ1-2=0.05 day-1 λ2-3=0.01 day 1 0.8 Conc (g/L) parent (DCE) BioNAPL numerical model Chain1 Analytical model (Neville, 2005) 0.6 0.4 daughter 1 (VC) 0.2 0 daughter 2 (ethene) 0 5 10 Distance (m) 15 20 Figure 5. Longitudinal profiles of concentration for the 3-component chain decay system of DCEVC-Ethene, after 50 days. System parameters are: Vx = 0.1 m/day, porosity =0.1, dispersivity = 1.8m, R1=R2=R3 = 1. The input boundary is a first-type concentration of 1.0. The above plot shows a comparison between the analytical model CHAIN1 (Neville, 2005) and BioNAPL. Decay rates are shown in the figure. 16 2.2.5 Reaction Stoichiometry The ratio of mass of electron acceptor consumed per mass of substrate consumed (Xα,n in equation 17) is determined by reaction stoichiometry, assuming complete mineralization to CO2 and H2O. Table 1 below provides example calculations for several organic substrates reacting with oxygen. The ratios must be adjusted if only partial mineralization is assumed to occur. Table 2. Sample reaction stoichiometries and corresponding mass ratios. The mass ratio X corresponds to the variable ROS in the model. Component Reaction Stoichiometry Mass ratio X kg O2 / kg organic Benzene C6H6 + 15/2 O2 ⇒ 6CO2 + 3H2O 3.08 Toluene C7H8 + 9O2 ⇒ 7CO2 + 4H2O 3.13 Ethylbenzene or Xylene Methylnaphthalene C8H10 + 21/2 O2 ⇒ 8CO2 + 5H2O 3.17 C11H10 + 27/2 O2 ⇒ 11CO2 + 5H2O 3.04 17 2.2.6 Source Dissolution The BIONAPL model can simulate either kinetic (slow, or rate-limited) or equilibrium dissolution from a residual NAPL source. Kinetic dissolution is simulated using the source term λDIS defined by equation (14) and by defining a nonlinear dissolution rate coefficient γ (Frind et al., 1999). Equilibrium dissolution can be simulated by choosing a sufficiently large value for γ . Alternatively, for boundary sources, an equilibrium mixing cell algorithm based on Raoult’s Law can be employed. Raoult’s Law defines the concentration of a NAPL component in water that is in equilibrium with the NAPL, and is given by CS = Co X (22) where CS is the effective solubility of the component (Poulsen et al., 1992). For a first or third-type boundary condition, the source concentration CS can be supplied through a built-in mixing cell model which solves equation (22). The mixing cell algorithm is based on advective flux through a series of rectangular cells as shown in Figure 6. q C=0 C in A Cout x Cs Figure 6. Conceptual model for the equilibrium mixing cell dissolution model within BIONAPL. The equation for mass transfer between cells is governed by mass conservation, which can be written as dM = J in − J out = qA(Cin − Cout ) dt (23) where M is the cell mass (kg), J is the mass flux (kg/s) and A is the cross-sectional cell area (m2). At the uppermost cell, Cin = 0 (assuming clean recharge water), and at every other cell Cin equals 18 the effective solubility (CS) of the upgradient cell. At every cell, Cout equals the effective solubility of that cell. The mixing cell model solves for mass transfer for each component, at each cell, over time. Initial masses must be specified for each component. The number of cells can be varied depending on the assumed source behaviour. A single cell, for example, will produce a smooth decline in the outflow concentration as the mole fraction and effective solubility of each component continuously declines. A large number of cells will produce a constant source concentration until only the last cell contains mass, after which the outflow concentration will rapidly decline. To activate the equilibrium mixing-cell model, the user must set keqm=1, and enter the data lines in the file bioeqm.dat (see example file in Appendix A). Other conditions apply. Equilibrium dissolution assumes ideal component behavior and a large contact area between the residual NAPL and the groundwater. Cline et al. (1991) conclude that Raoult’s law is valid for gasoline mixtures and there is evidence that residual NAPL’s can dissolve in the subsurface under essentially equilibrium conditions (Frind et al., 1999). Source heterogeneities and non-ideal component behaviour can, however, lead to non-equilibrium dissolution at the field scale (Soerens et al., 1998). 2.2.7 Boundary Conditions Boundary conditions for equation (13) can be either a fixed concentration (Dirichlet), a zero gradient (Neumann) or a mass flux (Cauchy) type. Dirichlet and Cauchy conditions are often used to represent sources while Neumann conditions are appropriate at exit or no-flow boundaries. The Cauchy boundary condition is ideal for the dissolving gasoline sources considered here, and is defined as ∂C ⎞ ⎛ q o C o = θ ⎜ vC − D ⎟ ∂x ⎠ ⎝ (24) where qo is the recharge rate (m/s), and Co is the source concentration (kg/m3). Equation (22) balances the mass flux on the outside of the boundary (qoCo) with the mass flux on the inside. The source concentration Co can be either fixed or can vary in time according to the source dissolution behavior. Boundary and initial conditions must be specified for each of the organics and for each of the electron acceptors. 19 2.2.8 Carrier Transport (CC): The BIONAPL/3D model also considers transport of a reactive carrier, such as dissolved organic carbon (DOC), to which the aqueous organics can partition. A conceptual model of a carrierinfluenced system is provided in Figure 7. Groundwater Flow m Cw NAPL Phase Km HA Ka Kd Solid Grain Surface Aqueous Phases SS SC, eqm SC, Sorbed Phases kin Equilibrium Kinetic Figure 7. Conceptual model of a dissolving NAPL showing sorption to a mobile carrier (after Molson, 2000). The governing equation for the mobile carrier can be written as: ∂CC ∂t ⎛ ⎞ f ⋅ ρb QK a ⎜⎜1 + ⎟ + ρ bα ( S c − S c ,kin ) = 2 ⎟ + K C θ ( 1 ) a c ⎝ ⎠ ∂ 2 CC ∂C −v C D 2 ∂x ∂x (25) where CC is the concentration of the carrier, f is the fraction of equilibrium sorption sites, and SC and SC,kin are the concentrations of the sorbed carrier for the equilibrium and kinetic sorption sites, respectively. Assuming a Langmuir isotherm, the equilibrium component can be expressed as S C = Q ⋅ K a CC /(1 + K a CC ) (26) 20 where Q is the maximum sorbed concentration at equilibrium (kgcarrier/kgsolids), and Ka is the sorption coefficient (m3water/kgsolids). An example equilibrium isotherm is provided in Figure 8. Sorbed HA Conc. (kg/kgsol) Langmuir Fit to Batch HA Sorption Data (from VanStempvoort et al., 2000) 0.0005 0.0004 0.0003 observed Langmuir fit 0.0002 Scs = QKa[HA]/(1+Ka[HA]) Ka = 40 m3/kg Q = 0.00042 kg/kgsol 0.0001 0 0 0.25 0.5 0.75 1 Aqueous HA Conc. (kg/m3) Figure 8. Sample Langmuir isotherm (from Molson, 2000). The kinetic sorption concentration is calculated by the model using: α ⋅ Δt S t + Δt C ,kin = (1 − f ) (27) ( S C − S C ,kin ) + S t C ,kin Sorbed HA (kg/kg sol.) where α is a kinetic rate coefficient (day-1). A sample kinetic component of sorption, observed for humic acid, is provided in Figure 9. 2.5x10 -04 2.0x10 -04 1.5x10 -04 1.0x10 -04 5.0x10 -05 0.0x10 Sorbed Humic Acid +00 0 25 50 75 100 125 150 Time (days) Figure 9. Sample kinetic sorption of a humic acid carrier to aquifer solids (after Molson, 2000). For a dissolving NAPL, the carrier can enhance the dissolution by lowering the free aqueous concentration of the dissolved organic. The relationship is expressed as an enhancement factor given in equation (12), and defined by: E = 1 + K m CC 3 where Km is the binding coefficient (m (28) water/kg). 21 2.2.9 Solution Strategy The governing equations (9) for flow, and variations of equation (13) for each component, electron acceptor and carrier, are solved within a 3D system using a Galerkin finite element approach. The nonlinear dissolution and decay terms are handled using a Picard iterative scheme with central time-weighting. Similar numerical approaches have been used in reactive transport modeling by Frind et al. (1999, 1994) and Molson et al. (1992, 2000). Within each time step, the iterative transport routine follows the order given below: 1. Solve equation (13) independently for each organic component, assuming identical electron acceptor concentrations in the organic Monod term (16). 2. Solve equation (13) for the electron acceptor, using the EA Monod decay term (17), and the new organic concentrations from step 1. A decay term is included for each of the organics which are consuming the electron acceptor. 3. Return to step 1, update the new organic and electron acceptor concentrations at the (t+ Δ t) time-level, and repeat until convergence is achieved. The microbe concentrations are updated at each iteration, and again following convergence. 4. Following convergence, update all concentrations for the next time level and begin the next time step. 5. The flow system must also be re-solved within each time step for transient flow, and is iteratively coupled with the transport steps above for density-dependent cases, or when there are significant saturation changes due to NAPL dissolution. The iterative scheme allows simultaneous degradation of multiple compounds provided the electron acceptor concentrations are sufficient. If two compounds coexist, for example, they will both deplete the available electron acceptor(s) but at different rates depending on their reaction parameters and nodal substrate and electron acceptor concentrations. Substrate inhibition, in which the existence of one compound inhibits the degradation of another (in addition to competition for the electron acceptor), is also supported. Convergence and mass balance are maintained by choosing a suitably small time step and fine spatial resolution. Groundwater flow velocities are provided through coupling with a transient, saturated flow algorithm which solves equation (9) (Molson et al., 1992). Deformable brick elements are used with an iterative watertable search, and both flow and transport matrices are solved using an efficient conjugate gradient solver. 22 3. Designing a Model 3.1 Grid Definition BIONAPL/3D currently supports a 1D, 2D, or 3D domain descretized using deformable brick elements as shown in Figure 10. The grid generator built into the model supports regular rectangular domains. Although a constant number of elements must presently exist for each row and column, the element spacing can vary in each direction. Grid elements are numbered by layer to facilitate defining layered hydraulic conductivity distributions (Figure 10). In contrast, the nodes are numbered vertically beginning at (x,y,z) = (0,0,0). The element incidence array, which defines the global node numbers connected to each element, is stored in the array in(l,i) where l is the global element number, and i is the local element node number (Figure 11). The grid is generated by subdividing each direction into a number of sub-regions where each subregion has a uniform element size. The number of sub-regions in each direction is defined using ngx, ngy and ngz in the x,y and z-directions respectively. The element spacing is specified by entering, for each of the 3 directions, the grid limits (in metres) defining the intervals, and the number of elements desired between these limits. There is a maximum limit of 5 sub-regions allowed in each direction. Figure 10. Grid definition and numbering convention for BIONAPL/3D. 23 Figure11. Element incidence numbering convention in BIONAPL/3D. In designing the grid, the primary considerations are the Peclet and Courant criteria, the anticipated maximum extent of the plume, well locations and available computer memory. The grid Peclet and Courant criteria are defined by Daus et al. (1985) and can be estimated using Px = V Δy V x Δx V Δz ≤ 2 Py = y ≤ 2 Pz = z ≤ 2 D xx D yy D zz 27 V y Δt V Δt V x Δt ≤ 1 Cy= ≤ 1 Cz = z ≤ 1 RΔx RΔy RΔz 28 and Cx= respectively, where Δ x, Δ y and Δ z are the grid spacings, and Δ t is the time step. The Peclet criteria control numerical dispersion while the Courant criteria control numerical oscillations. 24 3.2 Flow System Designing the flow system is perhaps the most important step of any transport model. A little more time spent here can save a lot of time later by avoiding bad transport runs. Before any transport simulation is attempted, the user should simulate and view the flow system, making sure it is behaving as expected. Particular attention should be focussed on the velocity field (veloc.out), making sure the velocities are compatible with the grid size, through the peclet and courant criteria. Heads can be viewed in the vertical cross sections (hxz.out and hyz.out) as well as in the plan view (hxy.out). The steps to designing a flow system are: 1. determine the flow boundaries and boundary conditions, including constant heads and surface recharge. 2. assign all flow properties (conductivity, porosity, storage coefficient) 3. assign convergence criteria for watertable deformation or nonlinear flow conditions (e.g. density or NAPL dissolution). To test the flow system, keep kcntrl=1 (second option in third line) in order to complete the flow simulation only, without transport (but all transport lines must still be incldued). After the flow simulation is complete, look at the file bionapl.lst and make sure the input data were read correctly, and check at the bottom of the file to make sure the solution converged. You should see something like this: non-linear iteration # (kit): 0 ----------------------------------pcgn solver used 159 iterations flow solution complete max head change ... dumx2: 0.82741E+00 The "max head change" is the maximum head change during this iteration, or time step. If this is a nonlinear run (deforming watertable or together with transport), the solution will iterate until the head change is below the convergence criteria. The "max head change" value should decrease during the iterations. 25 3.3 Transport System After the flow system has been defined, you can define your transport system. Again, suitable transport boundary conditions must be defined, and the composition of the source must be specified. Contaminant sources can take any of the following forms: 1. 2. 3. 4. an initial condition of aqueous components a boundary source of aqueous components (constant or changing concentration in time) an internal NAPL source of dissolving components (kinetic or equilibrium dissolution) a boundary NAPL source of dissolving components (equilibrium dissolution using mixing cell model, set keqm=1) 5. an injection of aqueous components at a well Appendix A outlines how these sources are defined. Once the source boundary (or internal) condition for a NAPL is decided, the components making up the source must be specified. In this example, we have 4 components making up a gasohol source: 4 1 Benzene 878.6 .078 TEX 870. .104 Inert 900. .1 Ethanol 789. .046 1.78 0.0 ;# of components,# of EA ;name of Contaminant 0.0 2.33e-5 0.0 7.7e-10 .288 0.0 0.0 2.33e-4 0.0 6.2e-10 0 0. .020 0.0 0.0 4.20e-4 0.0 6.2e-10 0 0. 100. 0.0 0.0 0.00 0.0 11.5e-10 0 0. 0 0. As explained in the Appendix, these values represent respectively, the density (kg/m3), molecular weight (kg/mol), aqueous solubility (kg/m3), Sherwood number (Sh), exponent Beta, sorption coefficient Kd, carrier sorption coefficient, diffusion coefficient, daughter product link to parent and daughter product stoichiometric coefficient. Note some of this information must be repeated in the bioeqm.dat file for contaminant source-type 4 (boundary source NAPL dissolution). The molar mass is entered immediately following this data – see below. The source molar mass is distributed uniformly over the specified source node range for the NAPL. See Appendix A for full details. For biodegrading systems, the boundary and initial conditions for the electron acceptors must also be defined. Currently, for aqueous sources, the boundary types (i.e. 1st-type or 3rd-type) for all components must be the same, and the boundary types for all electron acceptors must be the same, although boundary concentrations for the individual organics and electron acceptors can vary. During and following the transport solution, again check the file bionapl.lst to monitor convergence. If the solution is not converging, the reaction rates (dissolution, biodegradation) may be too fast, and/or the time step may be too large. 26 4. References: Corey, A.T., Mechanics of Immiscible Fluids in Porous Media, Water Resour. Res., 23(1) 191-200, 1987. Daus, T., E.O. Frind and E.A. Sudicky, Comparative error analysis in finite element formulations of the advection-dispersion equation, Adv. Water Resour, 8, 86-95, 1985. Diersch, H.-J.G. and O. Kolditz , Variable-density flow and transport in porous media: Approaches and challenges, Adv. Water Resour. 25, 899-944, 2002. Freitas, J., Mocanu, M., Zoby, J.L.G., Molson, J., Barker, J., Migration and fate of ethanolenhanced gasoline in groundwater: A modelling analysis of a field experiment, Journal of Contaminant Hydrology, (doi: 10.1016/j.jconhyd.2010.08.007), 2010. Frind, E.O., D.W. Blowes, J.W. Molson, and C.J. Ptacek, Simulation of multi-component reactive transport in groundwater, International Symposium on Transport and Reactive Processes in Aquifers, ETH Zürich, April 1994. Frind, E.O., Simulation of long-term transient density-dependent transport in groundwater, Adv. Water Resour., 5(2) 73-88, 1982a. Frind, E.O., and G.E. Hokannen, Simulation of the Borden plume using the alternating direction Galerkin technique, Water Resour. Res., 23(5), 918-930, 1987. Frind, E.O., J.W. Molson, M. Schirmer, N. Guiguer, Dissolution and mass transfer of multiple organics under field conditions: The Borden emplaced source, Water Resour. Res., 35(3), 683-694, 1999. Frind, E.O., E.A. Sudicky, and J.W. Molson, Three-dimensional simulation of organic transport with aerobic biodegradation, IAHS Publication No. 185, Ed: Linda Abriola, 89-96, 1989. Greer, K., Molson, J., Barker, J., Thomson, N., Donaldson, R., High pressure injection of dissolved oxygen for hydrocarbon remediation in a fractured dolostone aquifer, Journal of Contaminant Hydrology (doi: 10.1016/j.jconhyd.2010.07.007), 2010. Ji, W. and M.L. Brusseau, A general mathematical model for chemical-enhanced flushing of soil contaminated by organic compounds, Water Resour. Res., 34(7), 1635-1648, 1998. Lesage, S., H. Xu, K. Novakowski and S. Brown, Use of humic acids to enhance the removal of aromatic hydrocarbons from contaminated aquifers, Report to GASReP, 1997. MacQuarrie, K.T.B., E.A. Sudicky and E.O. Frind, Simulation of biodegradable organic contaminants in groundwater: 1. Numerical formulation in principal directions. Water Resources Research, 26(2), 207-222, 1990. 27 Molson, J.W., Numerical Simulation of Hydrocarbon Fuel Dissolution and Biodegradation in Groundwater, Ph.D. Thesis, Dept. of Earth Sciences, University of Waterloo, 2000. Molson, J.W., Barker, J., Frind, E.O., Schirmer, M., Modelling the impact of ethanol on the persistence of benzene in gasoline-contaminated groundwater, Water Resour. Res. 38(1), 4(1-12), 2002a. Molson, J.W., E.O. Frind, and C. Palmer, Thermal energy storage in an unconfined aquifer 2. Model development, validation and application, Water Resources Research, 28(10), 2857-2867, 1992. Molson, J.W., Frind, E.O., Van Stempvoort, D.R. and Lesage, S, Humic acid-enhanced remediation of an emplaced diesel source in groundwater: 2. Numerical model development and application, Jour. Contam. Hydrol. 54, (3-4), 275-303, 2002b. Molson, J., M. Mocanu, and J. Barker, Numerical analysis of buoyancy effects during the dissolution and transport of oxygenated gasoline in groundwater, Water Resour. Res., 44, W07418, doi:10.1029/2007WR006337, 2008. Poulsen, M., L. Lemon, and J. Barker, Dissolution of monoaromatic hydrocarbons into groundwater from gasoline-oxygenate mixtures, Env. Sci. & Tech., 26, 2483-2489, 1992. Rügner, H., Holder, T., Maier, U., Bayer-Raich, M., Grathwohl, P., Teutsch, G., Natural Attenuation - Untersuchungen "ehemalige Abfalldeponie Osterhofen", Grundwasser, DOI 10.1007/s00767-004-0031-1, 2004. Schirmer M., E.O. Frind, J.W. Molson, Transport and biodegradation of hydrocarbons in shallow aquifers: 3D modelling, American Petroleum Institute, Workshop: Comparative Evaluation of Groundwater Biodegradation Models, Ft. Worth, Texas, 1995. Schirmer, M., Molson, J.W., Frind, E.O., and Barker, J.F., Biodegradation modelling of a dissolved gasoline plume applying independent lab and field parameters, J. Cont. Hydrol. 46(4), 339-374, 2000. Soerens, T.S., D.A. Sabatini and J.H. Harwell, Effects of flow bypassing and nonuniform NAPL distribution on the mass transfer characteristics of NAPL dissolution, Water Resour. Res., 34(7), 16571673, 1998. Wiedemeier, T.H., H.S. Rifai, C.J. Newell, and J.T. Wilson, Natural Attenuation of Fuels and Chlorinated Solvents in the Subsurface, John Wiley & Sons, Inc. 1999. 28 Appendix A: Detailed User Guide for a Sample Data File 29 Array Sizes: c --------------c maxne c maxnn c maxn c nw c maxnbb c maxna c c nf c laa c maxwell c maxss c maxbt = number of elements = number of nodes = number of degrees of freedom = non-zero bandwidth in case of conjugate gradient solver = bandwidth for gauss solver (transport) = total number of non-zero matrix entries in condensed matrix = 14*n (approximately) = maximum number of nodes on one face = 3*maxn + maxna = maximum number of source/sink wells = maximum number of source/sink nodes (on all wells) = maximum number of wells at which breakthrough curves will be generated (a "well" can either be a vertical strip of nodes, where the breakthrough concentrations will be averaged over the well screen, or it can be a single node) = maximum number of time steps = maximum number of nodes in the vertical z-direction c maxit c maxnz c c mxgx = number of grid sub-intervals in x (each sub-interval has a uniform grid spacing) c mxgy = number of grid sub-intervals in y c mxgz = number of grid sub-intervals in z c max_comp = maximum number of components in the NAPL c maxnea = maximum number of electron acceptors c maxnes = max number of source NAPL element cells for equilibrium source c ******************************************************************** c c sample grid size … c parameter(maxn=500000,maxnn=maxn,maxne=500000,nf=52000,nw=15, + maxss=500,maxna=14*maxnn,laa=3*maxnn+maxna,np1=maxnn+1, + mxgx=11,mxgy=9,mxgz=5,maxnz=51,maxwell=500,maxnx=501, + max_comp=10,maxcp1=max_comp+1,maxnea=3,maxnes=1000,maxf=5, + maxfrac=300000) c 30 SAMPLE DATA FILE (from the Diesel fuel dissolution experiment - see Molson et al. (2002b) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 BIONAPL MODEL - 3D Humic Acid lab test- new Km + BIO + withdrawal well + BTEX 58x21x16 nodes - Langmuir .. April 2000 0 0 0 0 0 0 0 0 0 1 1 0 2 ;kp,kcn,kwt,kint,kintv,kgo,kg,kranb,krans,kbio,mode,keqm,krtype 6 3 3 1. 1.16 2.5 4.7 5.1 5.5 ;xlim 0.4 0.8 1.2 ;ylim 0.500 .75 1.25 ;zlim 10 10 20 11 4 2 ;nlx 5 10 5 ;nly 5 5 5 ;nlz 0 00. 0.0 0.0 1860. ;nwtl,datum,gamma,sdecay,rhob 22 9 8 9 +1 ;ix,iy,iz1,iz2 breakthrough T3B4 27 11 8 9 +1 ;ix,iy,iz1,iz2 breakthrough T4M4 42 11 8 9 +1 ;ix,iy,iz1,iz2 breakthrough T7C4 45 8 8 9 +1 ;ix,iy,iz1,iz2 breakthrough T8B4 54 11 1 16 -1 ; ix,iy,iz1,iz2 purge well 0 ;init 1 58 1 21 1 16 1.0 +1 ;i.c. flow 1 1 1 21 1 16 1.35 -1 3 3 1 1 12 24 2 1 0.000000 -1 ;fracture 1 0 0 0 0 0 ;B.C.'S (FLOW) 1 21 1 16 -1 ;nodal range: for type-1 at face 1 1 17100 1.e-4 1.e-4 1.e-3 -1 ;1-NEL,KX,KY,KZ (m/s) 0 0 0 0 0 0 0.00e-6 0.00e-6 0.00e-6 -1 ;inner source K 36 1 20 1 15 -1 ;monitor fence by node: x,y1,y2,z1,z2; end=-1,more=+1 0.0e-3 0.30 0.07 1.e-3 ;SS,POR,srw,gradius 8 1 xlam b Kc Km DD ;# of components,#ea Benzene ;name of Contaminant 878.6 .078 1.78 1.0 0.0 8.06e-5 0.0 7.7e-10 0 0. ;rho,mw,aqs,Sh,b,kc,km,D,kdp,xdp Toluene 870. .092 .515 2.0 0.0 1.61e-4 0.0 6.6e-10 0 0. ;rho,mw,aqs,l,b,kc,km,D,rb Ethylbenzene 870. .106 .152 1.0 0.0 1.61e-4 0.0 6.0e-10 0 0. ;rho,mw,aqs,l,b,kc,km,D,rb Xylene 870. .106 .198 1.0 0.0 1.61e-4 0.0 5.6e-10 0 0. ;rho,mw,aqs,l,b,kc,km,D,rb MNAP 1000. .142 .054 0.9 0.0 2.0e-4 2.1e+00 6.6e-10 0 0. ;rho,mw,aqs,l,b,kc,km,D,kdp,xdp DNAP 1000. .156 .0171 0.9 0.0 4.0e-4 3.7e+00 6.6e-10 0 0. ;rho,mw,aqs,l,b,kc,km,D,kdp,xdp TNAP 1000. .170 .00436 2.2 0.0 1.3e-3 10.0e+00 6.6e-10 0 0. ;rho,mw,aqs,l,b,kc,km,D,kdp,xdp Inert 862. .230 .002 2.2 0.0 1.3e-3 10.e+00 5.0e-10 0 0. ;rho,mw,aqs,l,b,kc,km,D,kdp,xdp 11 18 7 15 6 11 -1 ;internal napl source 6.e-5 2.e-3 5.e-3 1.e-2 0.007 0.032 0.029 2.0219 ;molar mass of each component .5 0.002 0.002 3.08 0.5 9999. ;utils,uhs,uho,ros,ym,cinib Benzene .5 0.002 0.002 3.13 0.5 9999. ; Toluene .5 0.002 0.002 3.13 0.5 9999. ; Ethylb .5 0.002 0.002 3.13 0.5 9999. ; X 0.02 0.002 0.002 3.04 0.5 9999. ; MNAP 0.02 0.002 0.002 3.08 0.5 9999. ; DNAP 31 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 53b 54 55 56 57 58 58b 59 60 61 62 63 63b 0.02 0.002 0.002 3.11 0.5 9999. ; TNAP 0.20 0.002 0.002 3.2 0.5 9999. ;Inert 0. 0. 0. 0. 0. 0. 0. ;Nc-1 inter-component inhibition for component 1 0. 0. 0. 0. 0. 0. 0. ;Nc-1 inter-component inhibition for component 2 0. 0. 0. 0. 0. 0. 0. ;Nc-1 inter-component inhibition for component 3 0. 0. 0. 0. 0. 0. 0. ;Nc-1 inter-component inhibition for component 4 0. 0. 0. 0. 0. 0. 0. ;Nc-1 inter-component inhibition for component 5 0. 0. 0. 0. 0. 0. 0. ;Nc-1 inter-component inhibition for component 6 0. 0. 0. 0. 0. 0. 0. ;Nc-1 inter-component inhibition for component 7 0. 0. 0. 0. 0. 0. 0. ;Nc-1 inter-component inhibition for component 8 1. 9999. ;reto,xkin1 1000. 1.00e-10 .014 ;retm,bm,ymmax 0.006 0.005 ;BACKGROUND CONC. O1,O2..-M1.M2 (obsolete) 0.006 0.005 ;INITIAL SOURCE CONC. O-M (obsolete) 0.000001 0.000001 ;threshold S,O1,O2, ... 1 58 1 21 1 16 1 0.0 0.0 +1 ;initial condition Benzene 1 58 1 21 1 16 2 0.0 0.0 +1 ;initial condition 1 58 1 21 1 16 3 0.0 0.0 +1 ;initial condition 1 58 1 21 1 16 4 0.0 0.0 +1 ;initial condition 1 58 1 21 1 16 5 0.0 0.0 +1 ;initial condition MNAP 1 58 1 21 1 16 6 0.0 0.0 +1 ;initial condition 1 58 1 21 1 16 7 0.0 0.0 +1 ;initial condition 1 58 1 21 1 16 8 0.0 0.0 +1 ;initial condition 1 1 1 21 1 16 9 0.83 0.83 +1 ;initial condition HA 1 58 1 21 1 16 10 0.006 0.006 -1 ;initial condition Oxygen 1 0 0 0 0 0 ;B.C.'S (TRANSPORT) 1 21 1 16 -1 1 0 0 0 0 0 ;B.C.'S (HA TRANSPORT) 1 21 1 16 -1 1 0 0 0 0 0 ;B.C.'s Oxygen 1 21 1 16 -1 40. 1.0 .05 .47 0.00042 ;ka,n,xmtc,feqm,qha(kgHA/kgsol) (HA sorption) 0 0. 0. 0. ;IVEL,VX,VY,VZ 1 57 1 20 1 15 .025 .005 .005 0.000 -1 ;AL,ATH,ATV,decay(bckgnd)by elm .01 .001 5 5 ;CCP,CCW,MAXIT1,MAXIT2 1.0 1.00 ;OVER-RELAX HEADS,temp 22 27 45 47 0 ;KNOX(1)(2)TRANSV. SECTION 11 0 0 0 0 ;KNOY(1),(2)LONG. SECTION 8 ;knoz 300. 500. 1000. 00. 00. ;five 3d print times (days) 0. 51. .2 50 20 +1 ;t0,t1,dt,(days),kplot,kmom (/time step) 5. 5. 5. 5. 5. 5. 5. 5. ;new ccc (%) 0.000 1. 0. 0 ;hinc,rinc,eqmfact(kg),kha 1. 1. 1. 1. 1. 1. 1. 1. ;massfact (nomp) 1. 1. 1. 1. 1. 1. 1. 1. 1. ;sfact source factors (ncomp+1) 54 11 1 16 1 -1.5625e-7 0. 0.025 -1 ;source: ix,iy,iz1,iz2,kcomp.,q(m3/s/node),conc,rad,more 51. 55.0 .2 20 20 +1 ;t0,t1,dt,(days),kplot,kmom (/time step) 5. 5. 5. 5. 5. 5. 5. 5. ;new ccc 0.000 1. 0. 1 ;hinc,rinc,eqmfact,kha 1. 1. 1. 1. 1. 1. 1. 1. ;massfact (nomp) 1. 1. 1. 1. 1. 1. 1. 1. 1. ;sfact source factors 54 11 1 16 1 -1.5625e-7 0. 0.025 -1 ;source: ix,iy,iz1,iz2,kcomp.,q(m3/s/node),conc,rad,more 55. 75.0 .2 25 20 -1 ;t0,t1,dt,(days),kplot,kmom (/time step) 5. 5. 5. 5. 5. 5. 5. 5. ;new ccc 0.000 1. 0. 1 ;hinc,rinc,eqmfact,kha 1. 1. 1. 1. 1. 1. 1. 1. ;massfact (nomp) 32 64 65 1. 1. 1. 1. 1. 1. 1. 1. 1. 54 11 1 16 1 -1.5625e-7 0. 0.025 -1 ;sfact source factors ;ix,iy,iz1,iz2,kcomp.,q(m3/s/node),conc,rad,more 33 Data Line Definitions The following sections describe in detail the input data requirements for the DNAPL model. The above data set is used as an example. The input data set must be called “bionapl.data”. Note the line numbers in the first column are NOT part of the data set, they are used here for reference only. 1. Title group Three title lines must exist at the top, they are only used for reference 1 2 3 BIONAPL MODEL - 3D Humic Acid lab test+ BTEX 58x21x16 nodes Langmuir .. April 2000 2. Run-time options 4 0 0 0 0 0 0 0 0 0 1 1 0 2 ;kp,kcn,kwt,kint,kintv,kgo,kg,kranb,krans,kbio,mode,keqm,krtype where: kp = 1 coordinates, incidences, boundary arrays printed to listing file = 0 no extra printing to listing file kcn = 0 ... fully coupled transient flow and transport, stop. = 1 ... steady flow only, no concentration solution = 2 ... no flow, transport with uniform {v} field, stop. kwt = 1 ... option to iterate for watertable mounding = 0 ... watertable fixed by grid geometry kint = 1 ... full element numerical integration = 0 ... direct integration (preferred option for non-deformed meshes) kintv = 1 ... numerical derivatives for velocity calculation = 0 ... direct derivatives (preferred option for non-deformed meshes) kgo = 1 ... read initial concentration, heads from restart file “bionapl_in.data” = 0 ... do not. kg = 1 ... adjust flow gradient in time with regressed function = 0 ... do not adjust flow gradient (for borden dnapl case) kranb = 1 ... read random k file bionapl_rank.data for background = 0 ... do not 34 krans = 1 ... read random k file bionapl_rank.data for source = 0 ... do not kbio = 1 ... engage biodegradation = 0 ... do not. mode = 1 … assume non-linear biodegradation = 0 … assume linear biodegradation keqm = 0 … source is not dissolving at equilibrium at boundary = 1 … source is at boundary and dissolving at equilibrium (requires bioeqm.dat file) krtype = 1 … carrier sorption follows Freundlich isotherm = 2 … carrier sorption follows Langmuir isotherm 3. Grid generation 5 6 7 8 9 10 11 6 3 3 1. 1.16 0.4 0.8 0.500 .75 10 10 20 5 10 5 5 5 5 2.5 4.7 1.2 1.25 11 4 2 5.1 5.5 ;ngx,ngy,ngz ;xlim ;ylim ;zlim ;nlx ;nly ;nlz where: ngx,ngy,ngz are the number of “divisions” in each direction, each of which has a uniform grid spacing xlim,ylim,zlim are the end-coordinates of each division (starting at 0m assumed) nlx,nly,nlz are the number of elements within each division. In the above example, in the xdirection, there are 10 elements from 0-1m, 10 elements between 1.0-1.16m, and 20 elements between 1.16-2.5m. Element and node numbering for BIONAPL/3D is shown in Figure A-1. Figure A-1. Grid element and node numbering scheme for BIONAPL/3D. 35 4. Miscellaneous 12 13 0 22 27 42 45 54 00. 9 11 11 8 11 8 8 8 8 1 0.0 9 9 9 9 16 0.0 +1 +1 +1 +1 -1 1860. ;nwtl,datum,gamma,sdecay,rhob ;ix,iy,iz1,iz2 breakthrough T3B4 ;ix,iy,iz1,iz2 breakthrough T4M4 ;ix,iy,iz1,iz2 breakthrough T7C4 ;ix,iy,iz1,iz2 breakthrough T8B4 ;ix,iy,iz1,iz2 purge well where: nwtl … number of deformable layers for the watertable iteration (used if kwt=1) datum … reference datum gamma … density flag ( =0 for no density effect; =1 to activate density-dependent flow) sdecay … boundary source linear decay rate (day-1) (applies to all components if ncomp>1) rhob … bulk density of the porous medium (kg/m3) The density coefficient flag gamma is used to account for fluid density changes caused by high concentrations of the aqueous components. Buoyancy effects (for densities less than water) or sinking (for densities greater than water) can therefore be simulated. The density difference is determined by the total concentration of all components. Set gamma=0 to de-activate densitydependent flow, and set gamma=1 to activate density-dependent flow. The fluid density will be calculated based on the component input data. The values ix and iy define the x-and y-index location of a node at which a breakthrough data set is to be printed. The values iz1-iz2 define the vertical range of nodes defining the “well screen”. If a single node is desired, set iz1=iz2. If a breakthrough curve is desired representing the average concentration along a well screen, set iz2>iz1, but always iz1>0 and iz2<nz. Use a “+1” at the end of the line to continue reading additional lines of breakthrough data points, otherwise end the series with a “-1”. A maximum of 5 breakthrough points (as in this example) may be defined. Note: In the current version of the code, the breakthrough data can be obtained either at the fence location, or using the breakthrough points defined above. Both average and peak concentrations at the fence are printed. 36 5. Flow System & fracture set 14 15 16 17 18 19 20 0 1 58 1 21 1 16 1.0 +1 1 1 1 21 1 16 1.35 -1 3 3 1 1 12 24 2 1 0.0000 -1 1 0 0 0 0 0 1 21 1 16 -1 1 17100 1.e-4 1.e-4 1.e-3 -1 0 0 0 0 0 0 0.00e-6 0.00e-6 0.00e-6 Enter init ;init ;i.c. flow background ;i.c & bndy cond. at left face ;grid,i2D,iface, 2b(m);fracture ;B.C.'S(FLOW)(kb for each face) ;node range:type-1 at Face 1 ;1-NEL,KX,KY,KZ (m/s) -1 ;inner source K =0 for uniform initial flow condition, =1 to read the initial condition from data file #10. For the head initial condition, enter the nodal indeces as (ix1-ix2), (iy1-iy2) and (iz1-iz2) which define a range of 3D nodes, and the head value over this node group. Continue extra lines until a "-1" appears in the last column. The data lines for the head initial condition are also used to define the boundary heads. Line 16 above starts the definition for the fracture set. The first 6 integers define a range of elements over which this fracture will assigned. Here, a continuous fracture will be set on elements with grid indices from 3-3 in x, 1-1 in y and from 12-24 in z (i.e. along a vertical column). The next two integers define the fracture dimension (1 = 1D, 2 = 2D) and the element face this fracture will be assigned to (see Appendix G). The real number (0.000 above) is the full fracture aperture (2b) in metres (for 1D pipes, give the diameter). Continue adding more fractures with more = +1 or terminate with more = -1. Appendix H explains how a random fracture network can be generated automatically and imported into the BIONAPL input data file in the above format. For the head boundary conditions, first enter 6 values corresponding to the 6 faces of the 3D mesh according to Figure A-2 and Table 1. Then, define the node range for each of the faces over which the boundary head is applied. End with a "-1". In this example, we have defined a fixed head at the left boundary (kb(1)=1), and over the entire face (nodes 1-21 in the y-direction, and 1-16 in the z-direction). In this way, you can specify a fixed head over only part of a face if desired, or different fixed heads. If a fixed head is only defined over a partial face, the rest of the face returns to a default no-flow (impermeable) condition. 37 Figure A-2. Boundary face identification: Table 1. Definition of model boundary conditions for flow and transport. kb Flow condition: Mass transport condition: 0 Impermeable (no-flow) Zero concentration gradient 1 Fixed Head Fixed concentration 2 Flux boundary Concentration gradient 3 N/A Cauchy mass flux Flux boundary conditions are defined in the same way, by entering a "kb=2" as the boundary condition, and entering the flux value (m/s) after defining the nodal range, and before the "+1" or "-1". For example, if we also wanted a fixed head at the right, and a flux across the top, the data would look something like this: 1 1 1 1 1 21 21 58 0 1 1 1 0 0 2 16 -1 16 -1 16 8.00e-08 -1 ;B.C.'S (FLOW) ;node range on left boundary ;node range on right boundary ;node range & flux in across top (m/s) Finally, the conductivity field is entered in m/s. Whereas the head data are defined by nodal indices, conductivity is defined by element indices (see Figure 8). In this example, the background K is first defined for all 17,100 elements with the Kx,Ky,Kz given. Following the K definition by global element number, the K is also defined by element-index number (i.e. referenced in each direction - ielx1-ielx2, iely1-iely2,ielz1,ielz2). This second method of K definition allows, for example, simple layer geometries for the K distribution. In this example, the “inner source” is left blank and therefore is assigned the same K as the background. End each data set with “-1”. Additional zones of K can be defined by using +1 and entering further data. Any new K defined over an old zone will supercede (over-write) the previous defined K. 38 6. Miscellaneous 21 22 36 1 20 0.0e-3 0.30 where: ss … por … srw … gradius … 1 15 0.07 -1 1.e-3 ;monitor fence definition by node ;SS,POR,srw,gradius specific storage porosity residual water saturation mean grain diameter d50 (m), used in kinetic exchange term The “fence definition” data defines one or more transverse planes (in the yz dimension, max 5 allowed) in which various data will be printed, including instantaneous mass flux and cumulative mass. The peak and average concentrations within the plane(s) are also determined. In the above example, a single fence is defined at x grid location 36, and extends in the y-direction from node 120 and in z from 1-15. This fence location has no effect on the solution. 7. NAPL Component Definition 23 24 25 8 1 Benzene ;rho, mw, aqs, 878.6 .078 1.78 Toluene 870. .092 .515 Ethylbenzene 870. .106 .152 Xylene 870. .106 .198 MNAP 1000. .142 .054 DNAP 1000. .156 .0171 TNAP 1000. .170 .00436 Inert 862. .230 .002 where … #ea … rho … MW … aqs … Sh … b … Kc … Sh, 1.0 b, 0.0 kc, 8.06e-5 ;# of components,#ea ;name of Contaminant km, D, kdp,xdp 0.0 7.7e-10 0 0. 2.0 0.0 1.61e-4 0.0 6.6e-10 0 0. 1.0 0.0 1.61e-4 0.0 6.0e-10 0 0. 1.0 0.0 1.61e-4 0.0 5.6e-10 0 0. 0.90 0.0 2.0e-4 2.1 6.6e-10 0 0. 0.90 0.0 4.0e-4 3.7 6.6e-10 0 0. 2.2 0.0 1.3e-3 10.0 6.6e-10 0 0. 2.2 0.0 1.3e-3 10.0 5.0e-10 0 0. number of electron acceptors density of NAPL phase (kg/m3) molecular weight (kg/mole) aqueous solubility (kg/m3) Co exchange coefficient (=Sherwood number) exponent β for saturation term sorption coefficient: organic to solids (linear coefficient) (m3/kg) 39 Km D kdp xdp sorption coefficient: organic to carrier (m3/kg) diffusion coefficient (m2/s) integer pointer for daughter product (points to parent) daughter product stoichiometry … … … … 8. Source Mass and Location: Following the definition of fixed component properties, the source location and molar masses must be defined. Defining the number of moles, density and molecular weight of each component determines the initial saturation, which is distributed evenly across the source nodes defined over a rectangular source domain: 26 | 27 | 11 18 7 15 6 11 -1 ;internal napl source: x1,x2,y1,y2,z1,z2, more 6.e-5 2.e-3 5.e-3 1.e-2 0.007 0.032 0.029 2.0219 ;molar mass of each component #moles … number of moles for this component In the above example, an initial source is defined over a region from node 11-18 in x, 7-15 in y, and 6-11 in z. There is only a single source region defined, hence the end is identified with “-1”. For multiple sources, repeat the above two lines, then terminate the source data using “more=-1” . The source is assumed uniformly distributed over each rectangular zone. 9. Biodegradation Parameter Definition 28 .5 .5 .5 .5 .02 .02 .02 .20 0.002 0.002 0.002 0.002 0.002 0.002 0.002 0.002 29 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 30 31 32 33 34 0. 0. 0. 0. 0. 0. 0. 0. 0.002 0.002 0.002 0.002 0.002 0.002 0.002 0.002 0. 0. 0. 0. 0. 0. 0. 0. 3.08 3.13 3.13 3.13 3.04 3.08 3.11 3.2 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 1. 9999. 1000. 1.00e-10 .014 0.006 0.005 0.006 0.005 0.000001 0.000001 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 9999. 9999. 9999. 9999. 9999. 9999. 9999. 9999. ;utils,uhs,uho,ros,ym,cinib Benzene ; Toluene ; Ethylbenzene ; Xylenes ;utils,uhs,uho,ros,ym,cinib MNAP ; DMN ; TMN ; other cpds ;inter-component inhibition organic 1 0. ;inter-component inhibition organic 0. ;inter-component inhibition organic 0. ;inter-component inhibition organic 0. ;inter-component inhibition organic 0. ;inter-component inhibition organic 0. ;inter-component inhibition organic 0. ;inter-component inhibition organic 2 3 4 5 6 7 8 ;(reto(i),xkin(i),i=1,ncomp) ;retm,bm,ymmax ;BACKGROUND CONC. Oxy,M ;INITIAL SOURCE CONC. Oxy,M ;threshold S,(O(i),i=1,NEA) 40 where: utils … maximum utilization rate (kg_organic/kg_microbe/day) uhs … substrate half-utilization constant (S conc. at which rate is ½ max rate) (kg/m3) uhs … oxygen half-utilization constant (O2 conc. at which rate is ½ max rate) (kg/m3) ros … ratio of oxygen to substrate consumed ym … microbial yield (kg_microbes/kg_org) cinib … max inhibition constant (biodegradation not active for c>cinib) reto xkin … retardation of electron acceptor … inhibition switching conc. For electron acceptors 1-2 (note: for multiple electron acceptors, enter pairs (reto,xkin) for each EA retm … retardation of microbes bm … decay coefficient for microbes (day-1) ymmax… maximum microbe concentration (kg/m3) For each organic k, only (Nc-1) inter-component inhibition terms are entered (you do not enter an inhibition term for component k by itself). So here, 8 lines are needed, each with 7 terms defining the inhibition coefficient for the components, i = 1, 2, 3, … Nc where i ≠ k. The background and initial source concentrations for the electron acceptor (oxygen) and microbes is given here, but is redundant since they are also defined later. The threshold concentrations for the substrate and electron acceptors are also given - these are the concentrations below which no biodegradation is allowed to occur. Enter a single value for thresh_s (assumed constant for all components), followed by a value for thresh_O for each EA. 10. Initial Conditions for Transport 35 1 1 1 1 1 1 1 1 1 1 58 58 58 58 58 58 58 58 1 58 1 21 1 21 1 21 1 21 1 21 1 21 1 21 1 21 1 21 1 21 1 16 1 16 1 16 1 16 1 16 1 16 1 16 1 16 1 16 1 16 1 0.0 0.0 +1 2 0.0 0.0 +1 3 0.0 0.0 +1 4 0.0 0.0 +1 5 0.0 0.0 +1 6 0.0 0.0 +1 7 0.0 0.0 +1 8 0.0 0.0 +1 9 0.83 0.83 +1 10 0.006 0.006 -1 ;initial condition Benzene: ;initial condition Tol. ;initial condition Ethyl. ;initial condition Xylene ;initial condition MNAP ;initial condition DMN ;initial condition TMN ;initial condition Other ;initial condition HA ;initial condition Oxygen Here, each line defines the initial condition for each of the 8 components, as well as one for the carrier (if required) and one line for the electron acceptor. For example, for benzene, the initial condition is defined for nodes 1-58 in x, 1-21 in y, and 1-16 in z. The seventh column represents the component number: 1,2,3, … ncomp. If a carrier exists, it must be placed as component ncomp+1, with the first electron acceptor as ncomp+2. If no carrier exists, it can be ommitted here (as ncomp+1), but the electron acceptors are still entered as component ncomp+2, ncomp+3 etc. 41 Columns 8 and 9 define the lower and upper initial concentrations across the node region defined in the first 6 columns. As usual, lines can continue by using "+1" in the last column, with a "-1" in the last column of the last line. The initial conditions for transport are also used to define the concentrations for the first-type transport boundary conditions. The actual boundary conditions are defined in the next section. 10. Boundary Conditions for Transport 36 37 38 39 40 41 1 1 1 1 1 1 0 21 0 21 0 21 0 0 1 16 0 0 1 16 0 0 1 16 0 -1 0 -1 0 -1 0 ;B.C.'S (TRANSPORT) - 0 ;B.C.'S (HA TRANSPORT) - 0 ;B.C.'s Oxygen The transport boundary conditions are defined in the same way as for flow, over the 6 faces of the domain. Boundary conditions must be specified for the organics, the carrier (if no carrier exists, enter a line with six zeroes), and electron acceptors. Currently, the boundary conditions must be the same for all organics, and all electron acceptors, although the actual concentrations on those boundaries for the different components can be changed using the initial condition input lines. In the above example, the left face is a first-type boundary for all components (kb(1)=1 - line #68), and the entire boundary is defined as first-type (nodes 1-21 in y and 1-16 in z - line #69). Note that the node range definitions change depending on the face. For example, if face 2 (in the x-z plane) were defined as type 1, the first nodal pair would represent the x-range, and the second nodal pair would represent the z-range. Here is another example for transport boundary conditions, for a single component, including a type-1 condition at the left face, and a third-type boundary condition along the top: 1 1 1 0 0 0 0 21 1 16 -1 57 1 20 1 8.0e-8 3 1.0e-6 -1 ;B.C.'S (ORGANIC TRANSPORT) ;left face ;ex1,ex2,ey1,ey2,Comp#;flow[m/s]; Conc.[g/l] In this case, the type-1 condition is defined as before, but now kb(6)=3 so a third-type condition is applied across the top face (face 6). Therefore, following the type-1 nodal range definition, a line is included to define the element range for the type-3 condition. Here, elements 1-57 in x and 1-20 in y (covering the entire top boundary) are defined. The fifth column specifies the component number (#1 here), the sixth column defines the Darcy flux (m/s) and the seventh column defines the inflow concentration. Terminate after all components have been defined by using a "-1". Note that the Darcy flux here should match that specified in the flow boundary conditions, and that the flux for flow is defined by node range, whereas for transport, it is defined by element range. 42 11. Carrier Sorption Properties 42 40. 1.0 where: Ka … n xmtc feqm qha … … … … .05 .47 0.00042 ;ka,n,xmtc,feqm,qha(kgHA/kgsol) (HA sorption) carrier sorption coefficient for either Freundlich (set krtype=1 in line #4), or Langmuir isotherm (set krtype=2 in line #4). exponent for Freundlich sorption mass transfer coefficient for kinetic sorption fraction of equilibrium sites available for sorption maximum sorption concentration for Langmuir isotherm (Note that this line is required even if no carrier is being simulated. For no carrier sorption, set ka=0, and qha=0) 12. Fixed Velocity, Dispersion, Convergence Criteria etc. 43 44 45 46 0 0. 0. 0. 1 57 1 20 1 15 .025 .005 .005 .01 .001 5 5 1.0 1.00 where: ivel … AL … ATH … ATV … Decay … ccp … ccc … maxit1 … maxit2 … 0.0 -1 ;IVEL,VX,VY,VZ ;AL,ATH,ATV,decay(bckgnd)by elm ;CCP,CCW,MAXIT1,MAXIT2 ;OVER-RELAX HEADS,temp velocity option =0 for full flow solution according to flow boundaries etc. =1 to use uniform vx,vy,vz , v=q/por in m/s (also set kcn=2 in line #4) longitudinal dispersivity (m) transverse horizontal dispersivity (m) transverse vertical dispersivity (m) linear decay coefficient (/day), λ = ln(2)/t1/2 (for all components) ( λ in dc/dt=exp(- λ t), for linear process only, kint and kintv must=0) convergence criteria for head (m) convergence criteria for watertable (m) maximum iterations for non-linear coupling maximum iterations for watertable search (if kwt=1) Note that the dispersivities can vary over the domain and are defined here by element index, i.e. xelement indeces 1-57, y-indeces 1-20 and z-indeces 1-15. The decay coefficient, which is applied to all components (for example radioactive decay) remains the same over the entire domain. The overor under-relaxation factors for the non-linearities (usually set=1) allow some flexibility to speed 43 convergence, or to help convergence in strongly non-linear problems. The convergence criteria are all absolute. 13. Output Plane Definition, and 3D Output Times 47 48 49 50 22 11 8 300. 27 0 45 0 500. 47 0 1000. 0 0 00. 00. ;KNOX(1)(2)TRANSV. SECTION ;KNOY(1),(2)LONG. SECTION ;knoz ;five 3d print times (days) where knox(1-5) defines up to five transverse (yz plane) cross-sections knoy(1-5) defined up to five longitudinal (xz plane) cross-sections knoz(1) defines a single xy plane for cross-sections. Results are printed to these files at times determined by the value for “kplot” (see section 14 below). The 2D concentration data are printed to cxy.out, cyz.out and cxz.out, while the 2D head data are printed to hxy.out, hyz.out and hxz.out. The five 3D solutions are printed to c3d1.out, c3d2.out etc. If output is not desired, set the times to zero, however all 5 values must be entered for knox and knoy and for the 3D print times. 14. Time Steps and transient boundary conditions 51 52 53 53b 54 55 0. 51. .2 50 20 +1 ;t0,t1,dt,(days)kplot,kmom,more 5. 5. 5. 5. 5. 5. 5. 5. ;new convergence criteria % 0.000 1. 1.0 1. 0 ;hinc,rinc,eqmfact(kg),kha 1. 1. 1. 1. 1. 1. 1. 1. ;massfact multiplyer 1. 1. 1. 1. 1. 1. 1. 1. 1. ;sfact source factor for each component+HA 54 11 1 16 1 -1.56e-7 0. 0.025 +1 ;source/sink ix,iy,iz1,iz2,kcomp.,Q(m3/s),conc,rad,more In the above example, the first time interval extends from t=0 to t=51 days, with an interval of dt=0.2 days. The solution is printed every 50 time steps, or in this case, at 10, 20, 30, 40, and 50 days. A moment analysis (as well as other calculations and output) is performed every “kmom” time steps, in this case every 20 time steps (set kmom=9999 for example, if you never need these extra calculations). Since more = +1, an additional time interval data block will be read after this one. Convergence criteria are given in percent for each component and define when the dissolution and/or biodegradation solution has converged. Check the output file "bionapl.lst" during and after a run to monitor convergence. Maximum absolute and relative changes are printed at each iteration. 44 Hinc, Rinc: Hinc is a head increment added to the head boundary conditions, rinc is a recharge multiplyer (therefore set rinc=1 to maintain original boundary recharge rate). Eqmfact, kha Eqmfact is an incremental mass addition (kg) to the total equilibrium source mass at the start of the time interval (only applies for keqm=1), and kha is an option to engage transport of a carrier (if kha=0 there is no carrier, if kha=1 a carrier is transported). Massfact(i), i=1,ncomp Massfact(values 0-1) is a source saturation multiplyer (applied to the existing source mass saturation at the start of the time interval), Sfact(i), i=1,ncomp+1 The variables sfact(i) (one for each component plus one for the carrier) represent boundary source factor multipliers, used for transient source boundary conditions. For either Dirichlet or Cauchy (on top) boundaries, the original dissolved source concentrationsof each component will be multiplied by sfact(i)at each time step (thus the same concentration will apply throughout the time interval). For an equilibrium source (keqm=1), the existing dissolved phase concentrations at the source nodes will be multiplied by sfact(i) at the start of the time interval. Source/sinks Source and/or sinks are entered here on the last line. A source/sink well is defined by an x-index, yindex and a z-interval. In this example, a well exists at x-node 54, y-node 11 and is fully screened in the z-direction from 1-16. After the source location is defined, the component number is entered (kcomp) followed by the pumping rate, concentration (set c=0 for sinks) and well radius. In this case, the total pumping rate is -1.56e-7 m3/s, distributed evenly over the nodes (the minus sign indicates withdrawal). If the well is an injection well, an injection concentration is defined, and the well radius here is 0.025 m. Note that for multiple component injections at the same well, the total injection rate is the sum of the rates for each component. For example, simply enter the total rate q for the first component, then enter q=0 for the other components, which may have different injection concentrations. For a withdrawal well, a single line is sufficient to define the pumping rate, even if there are multiple components. End the line with a "+1" if more wells follow, or with a "-1" for the last well. The above time interval pattern simply repeats for additional time intervals desired. End the time step data by entering a “-1” as the last number defining the last interval set. For example, since more = +1 in the first time interval above, an additional time interval will be read, as shown below: 56 57 58 59 51. 55. .2 20 20 -1 ;t0,t1,dt,kplot(days),kmom, more 5. 5. 5. 5. 5. 5. 5. 5. ;new convergence criteria 0.000 1. 1.0 0. 0 ;hinc,rinc,eqmfact,massfact,kha 1. 1. 1. 1. 1. 1. 1. 1. 1. ;Nc source factors + one for HA 45 60 54 11 1 16 1 -1.5625e-7 0. 0.025 -1 ;source/sink ix,iy,iz1,iz2,kcomp,Q(m3/s),conc,rad,more Since more = -1 in the time step data line, then this will be the last time interval read. 46 Equilibrium Source Data: BIOEQM.DAT BIONAPL/3D includes an option for a NAPL dissolving at equilibrium along the top boundary. The source is treated using a mixing cell model and mass leaving the mixing cell sourced is entered into the domain as a Cauchy-type boundary condition (Figure A-3). For interior NAPL sources, as in the example data set above, true equilibrium dissolution can be obtained by using a sufficiently high dissolution rate (Sherwood number). This mixing-cell model is also available as a stand-alone code. Two source type options are available for the mixing cell source: a dissolving NAPL, and a desorbing organic. For the dissolving option (ksource=1), the aqueous concentrations for each cell are determined by the effective solubility. For the desorbing source, the given initial mass is assumed sorbed and the aqueous concentrations are determined using the Kd. q C=0 C in A Cout x Cs Figure A-3. Detail of mixing cell model to simulate equilibrium dissolution of a multicomponent NAPL. To place a dissolving NAPL source along the top boundary, set the variable keqm=1 (line #4). The code then reads from an exterior data file, called bioeqm.dat, for the required source information. The rest of the bionapl.data data file remains the same, but a flux flow boundary and a Cauchy (type 3) transport boundary condition must be specified across the top. 47 A sample file for bioeqm.dat appears below, for a 4-component system: 4 200 10 1.81e-8 0.5 1. 10. 0.5 6. 30. 3.5 0.078 0.104 0.100 0.046 1.78 .288 0.02 100. 878.6 870. 900. 789. 2.e-4 2.e-4 2.e-4 2.e-4 0.1 1 ;ns,nx,kp,v(m/s),sw, ksource ;xl,yl,zl (m) ;mass kg ;molecular weight kg/mol ;solubility kg/m^3 ;densities (kg/m^3) ;Kd for each component (only used if ksource=2) where: ns = number of organic components within the mixing cell source note: ns must be equal to ncomp (# cpds) within bionapl.data nx = number of cells in the mixing cell model. In practice, the cell dimension dx should be on the order of dx = v(dt) kp = output print frequency (every kpth time step) (time steps are taken from the bionapl.data file) v = advective velocity through the source note: this velocity (v) must be compatible with the Darcy flux (q) specified in the flow and transport boundary conditions within bionapl.data. That is, v = q/( θ *Sw). Sw = water saturation within the source ksource = source type (1=dissolving source; 2=desorbing source) In a dissolving source, the aqueous concentration in each cell is given by the effective solubility. In a desorbing source, the initial mass is assumed completely sorbed, and the aqueous concentration is determined by the Kd relationship. xl = length of entire mixing cell, along the flow direction perpendicular to the boundary. note: to ensure equilibrium dissolution according to the assumed effective solubility (mole frac. * pure phase solub.), set xl on the order of 0.001. Otherwise, if xl is too large, the cell volume may be too large and even if all the NAPL in the cell dissolves, it may not be able to reach the effective solubility. In this case, the code will compute the concentration assuming all the NAPL dissolves into the cell. yl,zl = transverse dimensions of mixing cell, providing a cross-sectional area. The relative size of yl and zl are not important, only the cross-sectional area affects the solution. Mass = mass in kg of each organic component Mol. Weight = molecular weight of each component (kg/mol) Solubility = pure phase solubility of each component (kg/m3) Densities = density of each component (kg/m3) Kd’s = Distribution coefficient for each component (m3_water/kg solids) (always read, but only used if ksource=2 for desorbing source) 48 Input/Output File Definition The BIONAPL/3D model includes several forms of output including: 1. 2. 3. 4. 5. 6. Breakthrough curves 2D cross-section output 1D linear profiles Mass Remaining in Source 3D solution Diagnostic listing file Most files are directly compatible with Tecplot © , available from www.amtec.com. The following list identifies all relevant input/output files used by BIONAPL/3D: open(unit=5,file='bionapl.data' open(unit=6,file='bionapl.lst') open(unit=7,file='bionapl_in.data', open(unit=8,file='cxz.out', open(unit=9,file='hxz.out', open(unit=10,file='hinput.data', open(unit=11,file='brkfence.out' open(unit=12,file='veloc.out' open(unit=13,file='zdat.out' open(unit=14,file='hxy.out' open(unit=15,file='bionapl.vxyin' open(unit=16,file='cyz.out', open(unit=17,file='c1dy.out', open(unit=18,file='cxy.out', open(unit=19,file='c1dx.out', open(unit=20,file='c1dz.out', open(unit=21,file='hyz.out', open(unit=22,file='c1dpk.out', open(unit=24,file='mass_S.out' open(unit=54,file='mass_EA.out') c open(unit=26,file='c3d1.out', open(unit=27,file='c3d2.out', open(unit=28,file='c3d3.out', open(unit=29,file='c3d4.out', open(unit=30,file='c3d5.out', c open(unit=31,file='c3d_sat.out', open(unit=32,file='bionapl_sat.data', open(unit=33,file='bionapl_rank.data', open(unit=34,file='bionapl_K.out', open(unit=35,file='debug1.out', open(unit=36,file='debug2.out', open(unit=37,file='peak1.out', open(unit=38,file='mass_HA.out', open(unit=39,file='mass_zy.out', - main input file - - main output file - restart file 2D xz conc. output 2D xz head output head input file fence breakthrough velocity output z coordinate data 2D xy head output input velocity file 2D yz conc file 1D y-profile 2D xy conc. output - 1D x profile 1D z profile 2D yz head output 1D peak data output component mass output electron acceptor mass output - 3D output time 1 - 3D output time 5 - 3D saturation output saturation input file random K input file (if krank=1) K output debug file 1 debug file 2 peak output carrier mass output component mass in zy plane slices 49 open(unit=40,file='biooplot.out', open(unit=41,file='biomplot.out', - electron acceptor 2D output sections - microbe 2D output sections open(unit=42,file='humic.out', open(unit=43,file='brkwell.out', - carrier 2D sections - breakthrough curves at defined pts. open(unit=44,file='mom1.out', open(unit=45,file='mom2.out', - moment output file 1 - moment output file 2 open(unit=46,file='fluxfence1.out', open(unit=47,file='fluxfence2.out', open(unit=48,file='fluxfence3.out', - flux at monitor fence 1 - flux at monitor fence 2 - flux at monitor fence 3 open (unit=55,file='bioeqm.dat', open (unit=77,file='bioeqm.out', open (unit=78,file='bioeqm.x1d', - equilibrium source input file - equilibrium source output - equilibrium source 1D profile open(unit=79,file='calib.dat', open(unit=80,file='calib.out', - input calibration data - output calibration data open(unit=88,file='bionapl_movie.out', open(unit=89,file='cpeakxy.out', - 2D movie file - peak concentrations in the xy plane 1. Breakthrough Curve Output Breakthrough curves (time vs. concentration) are computed either at the fence location, defined above, or at the point breakthrough locations at nodes, or well screens, as defined by lines 13-17 in the above example data file. Breakthrough data at the fence location is printed to the file “brkfence.out” and follows the TECPLOT format below: time, (cavgk, cpeakk, cs1maxk , numkk … k=1,number of components) where: time cavg cpeak cs1max numk … time in days … average concentration at the fence … peak concentration at the fence … maximum effective solubility within the source … number of source nodes that have completely dissolved Breakthrough data at the point well locations are printed to the file “brkwell.out” and follows the format below: time, (ckw1,ckw2,ckw3,ckw4, ck+1w1,ck+1w2,ck+1w3,ck+1w4, … k=1,2,3 … number of components) where ckw1 is the concentration of component k at well 1 50 2. Data output at monitor fences: Output filenames: open(unit=46,file='fluxfence1.out',status='unknown') open(unit=47,file='fluxfence2.out',status='unknown') open(unit=48,file='fluxfence3.out',status='unknown') The three fence locations are defined in the bionapl.data input file, by their x-node locations, and by their extent in y and z. Ouput format: write(46,6207) tdays,((flux(kf,kc1),kc1=1,ncomp), + totalflux(kf,kc2),kc2=1,ncomp),csum(kf),vxfmax(kf),vxfmin(kf),kf=1,1) write(47,6207) tdays,((flux(kf,kc1),kc1=1,ncomp), + totalflux(kf,kc2),kc2=1,ncomp),csum(kf),vxfmax(kf),vxfmin(kf),kf=2,2) write(48,6207) tdays,((flux(kf,kc1),kc1=1,ncomp), + totalflux(kf,kc2),kc2=1,ncomp),csum(kf),vxfmax(kf),vxfmin(kf),kf=3,3) where: flux(kf,kc1) is the instantaneous mass flux of component # kc1, for fence # kf totalflux(kf,kc1) is the cumulative mass flux “ “ “ “ (kg/s) (kg) definition: flux(kf,kc)=flux(kf,kc)+vx(l)*cavg*areal*por or: flux = J k = ∑ viCk i Aiθ fence elements where: J = mass flux (kg / s ); v = velocity (m / s ); Ck = concentration ( kg / m3 ); A = area (m 2 ); θ = porosity The cumulative flux for each component at each fence is: totalflux (kg ) = Q = ∑ J k iΔt time where Δt is the time step. The cumulative total flux for all components at each fence is: csum (kg ) = ∑ Qk time Across each fence, vxfmax and vxfmin are the maximum and minimum flow velocities. 51 3. 3D Cross-Section Output For 2D or 3D problems, cross-section concentration and head output is available in both the longitudinal (xz), and transverse (yz), and plan-view (xy) sections. The sections are defined in the data file using the variables knox(i), knoy(i) and knoz, which define the yz planes, xz planes and xy plane respectively. If no cross-section data are required, set these variables =0 (all five must be specified for knox and knoy). Concentration output is located in cxz.out, cyz.out, and cxy.out, while head output is located in files hxz.out, hyz.out and hxy.out. Output is printed to these files at intervals defined by kplot, where output is printed every kplot time steps. The format for the concentration files (TECPLOT-compatible) is as follows: time 1, section knoy(1) x,z,ck,Xk … time 1, section knoy(2) x,z,ck,Xk, … where ck is the aqueous concentration of component k, Xk is the mole fraction of the NAPL. The format of the cyz.out and cxy.out files is identical except the coordinates are (y,z) and (x,y) respectively. The hxz.out and hyz.out have a similar format, but only contain the coordinates and the head (i.e. x,z,h). The hxy.out file also contains the water saturation, and concentrations for the first electron acceptor and first microbe population, within the xy plane. For simulations including biodegradation, the electron acceptor (e.g. oxygen) and microbe concentrations are printed in the 2D longitudinal vertical plane (xz) to the files biooplot.out and biomplot.out respectively. The format is: Time 1, section knoy(1) x, z, (Ak, k=1, number of electron acceptors), (or Mk for biomplot.out) 52 4. 1D Linear Profiles The output files c1dx.out and c1dy.out contain 1D profiles of concentration information. The profiles are printed every kplot time steps. c1dx.out: x,sn,ck,cs1k,Ak, Mk, HA where x sn ck cs1k Ak Mk HA … x coordinate … NAPL saturation … aqueous concentration of organic k … effective saturation (=CokXk) … aqueous concentration of electron acceptor k … aqueous concentration of microbe population k … carrier concentration Two profiles are printed at every print time, the locations are both within the xz section defined by knoy(1). The first profile is located at z=0, the second is located at z=source midpoint. c1dy.out: y,sn,ck,cs1k A single y-profile is printed at every print time, at a location of z=0, and is located within the yz section defined by knox(1). 5. Source Mass Output The mass remaining in the source is printed at each time step to the file mass_S.out. The format is given below: time, (comp_mass(k), k=1,ncomp), (aq_mass(k), k=1,ncomp), (bio_mass(k), k=1,ncomp), (qout(k), k=1,ncomp), (cauchy_mass(k), k=1,ncomp), (sorb_mass(k), k=1,ncomp), (adds_mass(k), k=1,ncomp), (error(k), k=1,ncomp), (totsmass), (global_mass), (o2ratio), … time (days) … solid mass in source … aqueous mass in domain … cumulative mass biodegraded … cumulative mass past right exit bndy … cumulative mass out cauchy bndy … sorbed component mass … mass sorbed to carrier … mass error … total solid mass of all organics … global mass … oxygen:substrate mass ratio For a NAPL dissolving at the boundary, source output is given in the file bioeqm.out. 53 Note: The calculation for the mass balance error does not correctly account for all specific boundary conditions, unless boundaries are distant. Aqueous phase mass is also printed during the moment analysis calculations and printed to the files “mom1.out” and “mom2.out”. The format for mom1.out is: time, (k,massk,xbk,ybk,zbk, k=1,ncomp (# components)) Where xbk is the x-centre of mass, ybk is the y-centre of mass, and zbk is the z-centre of mass. The format for mom2.out is: time, (k,massk,xvk,yvk,zvk, k=1, number of components) Where xvk is the x-variance, yvk is the y variance, and zvk is the z variance. 6. 3D Solutions Complete 3D solutions of the aqueous phase concentration data can be printed at 5 discrete times defined in the line following the 2D section definitions. The files are labeled c3d1.out, c3d2.out, c3d3.out, c3d4.out and c3d5.out. These files are binary files defined as follows: if(abs(tdays-pt(1)) .le. 1.0e-5) then write (26) tdays,ncomp,nea write (26) (x(i),y(i),z(i), + (t2(i,kc),xmolf(i,kc),cmass(i,kc),kc=1,ncomp),i=1,nnt) write (26) (u2(i),sn(i),sw1(i),h2(i),i=1,nnt) write (26) ((uo(i,iea),um(i,iea),iea=1,nea),i=1,nnt) write (26) ((cs(i,k),cin(i,k),mass(i,k),fmol(i,k),k=1,ncomp), + i=1,nxsource) write (26) (total_mass0(k),bioloss(k),qout(k),cauchy_mass(k), + k=1,ncomp) write (26) o2mass0 close(26) They can also be used as restart files, by renaming any one to bionapl_in.data, setting kgo=1, and by adjusting the time steps in the next simulation. 7. Output Listing File The output listing file is named bionapl.lst and contains echo prints of the input data, and additional information including progress of the run, convergence behaviour etc. After each run, this file should be checked before plotting results to confirm if the job finished correctly, and if convergence was achieved at each time step. 54 APPENDIX B: Sample Data File and Results: Ethanol & Gasoline Simulated plumes of TEX (toluene, ethylbenzenes & xylenes), benzene, ethanol and depleted oxygen, 20 years. In this example, BTEX and ethanol are dissolving from a residual gasohol source (gasoline + 10% ethanol). Data set follows on next pages. The benzene plume becomes more persistent where it is co-transported with the more mobile ethanol plume. Since ethanol is preferentially biodegraded, it consumes most of the oxygen and leaves less available for benzene. See Molson (2000) and Molson et al. (2001) for more details. TEX Elev. (m) 10 5 Elev. (m) 0 10 5 Elev. (m) 0 10 Elev. (m) benzene ethanol 3 1E-05 0.001 ppb 101 10 105 0.1 5 0 10 oxygen 5 0 0.0 mg l 3.5 mg l 0 -1 -1 100 200 Distance (m) 300 400 BIOEQM.DAT: 4 200 10 1.81e-8 0.5 1. 10. 0.5 6. 30. 3.5 0.078 0.104 0.100 0.046 1.78 .288 0.02 100. 878.6 870. 900. 789. 2.e-4 2.e-4 2.e-4 2.e-4 1.0 1 ;ns,nx,kp,v (m/s), Sw, ksource ;xl,yl,zl (m) ;mass kg ;molecular weight kg/mol ;solubility kg/m^3 ;densities (kg/m^3) ;Kd’s (m^3_water/kg solids) 55 BIONAPL.DATA: BIONAPL MODEL + ethanol+ single source 2D version of new4 106x8x30 elements March 2001 0 0 0 0 0 0 0 0 0 1 1 1 1 ;run options 3 1 1 ;ngx, ngy, ngz 12. 36. 400. ;xlim length of section 1. ;ylim in [m] 10. ;zlim Aquifer thickness 3 12 91 ;nlx # of elements per section 1 ;nly 30 ;nlz 00 00. 0.0 0.0 1500. ;nwtl,datum,gamma,sdecay,rhob 16 1 27 27 +1 ;ix,iy,iz1,iz2 breakthrough recorded at wells 21 1 24 24 +1 ; ix, iy: location of well 31 1 19 19 +1 ; iz1-iz2: well screen 42 1 16 16 +1 57 1 13 13 -1 0 ;INIT 1 107 1 2 1 31 10.00 +1 ; initial condition head 1 1 1 2 1 31 10.00 +1 107 107 1 2 1 31 10.00 -1 1 1 1 1 1 1 2 1 0.000000 -1 ; fractures 2 1 0 0 0 2 ;B.C.'S (FLOW) fixed flow at upper B 1 2 1 31 8.00e-08 -1 ;flux in at left 1 2 1 31 -1 ;fixed head right 1 107 1 2 0.634E-08 -1 ;groundwater recharge 300mm/yr 1 3180 1.e-4 1.e-4 1.e-4 -1 ;1-NEL,KX,KY,KZ (m/s) 1 1 1 1 1 30 1.e-4 1.e-4 1.e-4 -1 ;inner source K of source 35 1 1 1 30 -1 ;fence definition 0.0e-3 0.35 0.00 1.5e-4 ;SS,POR,srw,gradius 4 1 ;# of components,# of EA Benzene ;name of Contaminant 878.6 .078 1.78 0.0 0.0 2.33e-5 0.0 7.7e-10 0 0. TEX 870. .104 .288 0.0 0.0 2.33e-4 0.0 6.2e-10 0 0. Inert 900. .1 .020 0.0 0.0 4.200e-4 0.0 6.2e-10 0 0. Ethanol 789. .046 100. 0.0 0.0 0.00 0.0 11.5e-10 0 0. ; 5 9 1 2 31 31 -1 ;source location by node 0. 0. 0. 0. ;moles in source 1.0 0.002 0.002 3.08 0.5 99999. ;utils (/day),uhs,uho,ros,ym,cinib 1.0 0.002 0.002 3.13 0.5 99999. ; .1 0.002 0.002 3.460 0.5 99999. ; 5.0 0.002 0.002 2.09 0.5 99999. ; 0. 0. 0. ;inter-component inhibition 0. 0. 0. ;inter-component inhibition 0. 0. 0. ;inter-component inhibition 0. 0. 0. ;inter-component inhibition 1. 9999. ;RETO1,xkin1,reto2,xkin2 1000. 0.01e-10 .01 ;retm,bm,ymmax 0.0038 0.003 ;BACKGROUND CONC. O1,O2..-M1.M2 0.0038 0.003 ;INITIAL SOURCE CONC. O-M 0.000001 0.000001 ;threshold S,O1,O2... 1 107 1 2 1 31 1 0.0e-6 0.0e-6 +1 ;initial condition 1 107 1 2 1 31 2 0.0e-6 0.0e-6 +1 ;initial condition 56 1 107 1 2 1 31 3 0.0e-6 0.0e-6 +1 ;initial condition 1 107 1 2 1 31 4 0.0 0.0 +1 ;ethanol i.c. 1 107 1 2 1 31 6 0.0038 0.0038 -1 ;initial condition O2 1 0 0 0 0 3 ;B.C.'S (ORGANIC TRANSPORT) - L R, N F, B T 1 2 1 31 -1 ;zero conc at left 1 106 1 1 1 0.634e-8 0.0e-6 +1 ;cauchy 1 106 1 1 2 0.634e-8 0.0e-6 +1 1 106 1 1 3 0.634e-8 0.0e-6 +1 1 106 1 1 4 0.634e-8 0.0 -1 0 0 0 0 0 0 ;B.C.'S (HA TRANSPORT) - L R, N F, B T 1 0 0 0 0 3 ;B.C.'S (O2 TRANSPORT) - L R, N F, B T 1 2 1 31 -1 ;node ranges in x, y - direction 1 106 1 1 1 0.634e-8 0.0038 -1 ; cauchy 0.0e-4 1. 0. 1. 0. ;ka,n,xmtc,feqm,qha(kgHA/kgsol) 0 3.125e-5 0. 0. ;IVEL,VX,VY,VZ (m/s) v=q/n(=K*i/por) 1 106 1 1 1 30 1.0 .02 .01 0.000 -1 ;AL,ATH,ATV,decay(bckgnd)by elm .0001 0.0001 2 20 ;CCP,CCc(i)%,CCW,MAXIT1,MAXIT2 1.0 1.00 ;OVER-RELAX HEADS,temp 16 31 42 57 0 ;KNOX(1)(2)TRANSV. SECTION 1 0 0 0 0 ;KNOY(1),(2)LONG. SECTION 16 ;knoz 1825. 3650. 5475. 7300. 9125. ;five 3d print times (days) 0. 365. 1. 365 365 +1 ;t0,t1,dt,kplot(afterXtimesteps),kmom 1. 1. 1. 1. ;new % ccc 0.000 1. 0. 0 ;hinc,rinc,eqmfact,kha(hum.acid) 1. 1. 1. 1. ;massfact source factors (ncomp) 1. 1. 1. 1. 1. ;sfact source factors (ncomp+1) 1 1 1 1 1 0.000e-5 0. 0.00 -1 365. 730. 1. 365 365 +1 ;t0,t1,dt,kplot(afterXtimesteps),kmom 1. 1. 1. 1. ;new % ccc 0.000 1. 0. 0 ;hinc,rinc,eqmfact,kha(hum.acid) 1. 1. 1. 1. ;massfact source factors (ncomp) 1. 1. 1. 1. 1. ;sfact source factors (ncomp+1) 1 1 1 1 1 0.000e-5 0. 0.00 -1 730. 1095. 1. 365 365 +1 ;t0,t1,dt,kplot(afterXtimesteps),kmom 1. 1. 1. 1. ;new % ccc 0.000 1. 0. 0 ;hinc,rinc,eqmfact,kha(hum.acid) 1. 1. 1. 1. ;massfact source factors (ncomp) 1. 1. 1. 1. 1. ;sfact source factors 1 1 1 1 1 0.000e-5 0. 0.00 -1 1095. 1460. 1. 365 365 +1 t0,t1,dt,kplot(afterXtimesteps),kmom 1. 1. 1. 1. ;new % ccc 0.000 1. 0. 0 ;hinc,rinc,eqmfact,kha(hum.acid) 1. 1. 1. 1. ;massfact source factors (ncomp) 1. 1. 1. 1. 1. ;sfact source factors 1 1 1 1 1 0.000e-5 0. 0.00 -1 1460. 1825. 1. 365 365 +1 ;t0,t1,dt,kplot(afterXtimesteps),kmom 1. 1. 1. 1. ;new % ccc 0.000 1. 0. 0 ;hinc,rinc,eqmfact,kha(hum.acid) 1. 1. 1. 1. ;massfact source factors (ncomp) 1. 1. 1. 1. 1. ;sfact source factors 1 1 1 1 1 0.000e-5 0. 0.00 -1 1825. 3650. 1. 365 365 +1 1. 1. 1. 1. 0.000 1. 0. 0 ;hinc,rinc,eqmfact,kha(hum.acid) 1. 1. 1. 1. ;massfact source factors (ncomp) 1. 1. 1. 1. 1. ;sfact source factors 57 1 1 1 1 1 0.000e-5 0. 0.00 -1 3650. 9125. 1. 730 730 -1 1. 1. 1. 1. 0.000 1. 0. 0 ;hinc,rinc,eqmfact,kha(hum.acid) 1. 1. 1. 1. ;massfact source factors (ncomp) 1. 1. 1. 1. 1. ;sfact source factors 1 1 1 1 1 0.000e-5 0. 0.00 -1 58 APPENDIX C: Sample Data File and Results: Toluene Biodegradation with Multiple Electron Acceptors Toluene (m) ppm ppm 10 10+2 Methane 2.0 5 10-3 0 0 (m) 10 Oxygen Nitrate 8 5 0 0 0 10 (m) 2.0 Sulphate 20 8 Microbes (O2 utilizers) 5 0 3 15 0 100 200 300 Distance (m) 400 0 100 200 300 Distance (m) 400 The above example was run with the BIONAPL model and included 2 components (toluene and methane as a biodegradation daughter product of toluene), as well as three electron acceptors (oxygen, nitrate and sulphate). As shown, the oxygen depletion plume is largest, then where oxygen is almost completely utilized, nitrate becomes the next available EA and is depleted; where nitrate is depleted, sulphate becomes depleted. The transition between the utilization of the electron acceptors is controlled by the variable xkin. The data file for this simulation is provided below. 59 BIONAPL.DATA file for example above: BIONAPL MODEL + + 3D, toluene degradation 3d example for thesis, 4 ea's LOW NO3, lower kmax toluene 106x14x30 elements - Kd methane corrected, higher rate for methane June2000 0 0 0 0 0 0 0 0 0 1 1 0 1 ;kp,kcn,kwt,kint,kintv,kgo,kg,kranb,krans,kbio,mode,keqm;krtype 3 3 1 ngx, ngy, ngz # of uniform sections per direction 12. 36. 400. ;xlim length of section 4. 6. 12. ;ylim in [m] 10. ;zlim Aquifer thickness 3 12 91 ;nlx # of elements per section 6 2 6 ;nly 30 ;nlz 00 00. 0.0 0.0 1500. ;nwtl,datum,gamma,sdecay,rhob 16 1 27 27 +1 ;ix,iy,iz1,iz2 breakthrough recorded at wells 21 1 24 24 +1 ; ix, iy: location of well 31 1 19 19 +1 ; iz1-iz2: well screen 42 1 16 16 +1 57 1 13 13 -1 0 ;INIT 1 107 1 15 1 31 10.00 +1 ; initial condition head 1 1 1 15 1 31 10.00 +1 107 107 1 15 1 31 10.00 -1 1 1 1 1 1 1 2 1 0.000000 -1 ; fractures 2 1 0 0 0 2 ;B.C.'S (FLOW) fixed flow at upper B 1 15 1 31 8.00e-08 -1 ;flux in at left 1 15 1 31 -1 ;fixed head right 1 107 1 15 0.634E-08 -1 ;groundwater recharge 300mm/yr 1 44520 1.e-4 1.e-4 1.e-4 -1 ;1-NEL,KX,KY,KZ (m/s) 1 1 1 1 1 30 1.e-4 1.e-4 1.e-4 -1 ;inner source K of source 35 1 9 1 31 -1 ;fence definition 0.0e-3 0.35 0.00 1.5e-4 ;SS,POR,srw,gradius 2 4 xlam b Kc Km DD ;# of components,# of EA Toluene 870. .092 .288 0.0 0.0 2.33e-4 0.0 6.2e-10 0 0. ;rho,mw,aqs,#m,l,b,kc,km,D,rb methane 870. .016 .288 0.0 0.0 0.0e-4 0.0 6.2e-10 1 0.78 ;rho,mw,aqs,#m,l,b,kc,km,D,rb 5 9 1 2 31 31 -1 ;source nodes x1,x2,y1,y2,z1,z2,more 0. 0. ;moles .01 0.002 0.002 3.1 0.5 99999. ;utils (/day),uhs,uho,ros,ym,cinib toluene+oxygen for #1 .01 0.002 0.002 4.04 0.5 99999. ;utils (/day),uhs,uho,ros,ym,cinib toluene+nitrate .01 0.002 0.002 4.2 0.5 99999. ;utils (/day),uhs,uho,ros,ym,cinib toluene+sulphate 1000. 1000. 1.0e-8 0. 0. 99999. ;utils (/day),uhs,uho,ros,ym,cinib toluene->methanogenesis imaginary first order .01 0.002 0.002 4.0 0.5 99999. ;utils (/day),uhs,uho,ros,ym,cinib methane+oxygen for #2 .00 0.002 0.002 0.0 0. 99999. ;utils (/day),uhs,uho,ros,ym,cinib methane+nitrate .00 0.002 0.002 0.0 0. 99999. ;utils (/day),uhs,uho,ros,ym,cinib methane+sulphate .00 0.002 0.002 0.0 0. 99999. ;utils (/day),uhs,uho,ros,ym,cinib methanogenesis 0. ;zinhib inhibition 1 0. ;zinhib inhibition 2 1. .000001 1. .000001 1. .000001 1. .000001 ;RETO1,xkin1,reto2,xkin2 1000. 0.01e-10 .01 ;retm,bm,ymmax 0.002 0.002 0.020 0.001 0.003 0.003 0.003 0.07 ;BACKGROUND CONC. ea1,ea2..-M1.M2 (obsolete) .07=10day half-life 0.002 0.002 0.020 0.001 0.003 0.003 0.003 0.07 ;INITIAL SOURCE CONC. (obsolete) 0.000001 0.000001 0.000001 0.000001 0.000001 ;threshold S,O1,O2... 1 107 1 15 1 31 1 0.0e-6 0.0e-6 +1 ;initial condition remember ncomp+1=HA 60 5 9 1 2 31 31 1 0.20 0.20 +1 1 107 1 15 1 31 2 0.0e-6 0.0e-6 +1 1 107 1 15 1 31 4 0.002 0.002 +1 ;initial condition O2 1 107 1 15 1 31 5 0.002 0.002 +1 ;initial condition NO3 1 107 1 15 1 31 6 0.020 0.020 +1 ;initial condition SO4 1 107 1 15 1 31 7 0.001 0.001 -1 ;initial condition imaginary EA#4 1 0 0 0 0 3 ;B.C.'S (ORGANIC TRANSPORT) - L R, N F, B T 1 15 1 31 -1 ;zero conc at left 1 106 1 14 1 0.634e-8 0.0e-6 +1 ; T1: x1,x2,y1,y2/ T2: elem.rnge. in x, y; Comp#; flow[m/s]; Conc.[g/l] 5 9 1 2 1 0.634e-8 5.0e-2 -1 0 0 0 0 0 0 ;B.C.'S (HA TRANSPORT) - L R, N F, B T 1 0 0 0 0 3 ;B.C.'S (O2 TRANSPORT) - L R, N F, B T 1 9 1 31 -1 ;node ranges in x, y - direction 1 106 1 14 1 0.634e-8 0.002 +1 ; T1: x1,x2,y1,y2/ T2: elem.rnge. in x, y; Comp#; flow[m/s]; Conc.[g/l] 1 106 1 14 2 0.634e-8 0.002 +1 ; T1: x1,x2,y1,y2/ T2: elem.rnge. in x, y; Comp#; flow[m/s]; Conc.[g/l] 1 106 1 14 3 0.634e-8 0.020 +1 ; T1: x1,x2,y1,y2/ T2: elem.rnge. in x, y; Comp#; flow[m/s]; Conc.[g/l] 1 106 1 14 4 0.634e-8 0.001 -1 0.0e-4 1. 0. 1. 0. ;ka,n,xmtc,feqm,qha(kgHA/kgsol) 0 3.125e-5 0. 0. ;IVEL,VX,VY,VZ (m/s) v=q/n(=K*i/por) 1 106 1 14 1 30 1.0 .10 .01 0.000 -1 ;AL,ATH,ATV,decay(bckgnd)by elm .0001 0.0001 2 20 ;CCP,CCW,MAXIT1,MAXIT2 1.0 1.00 ;OVER-RELAX HEADS,temp 9 21 51 101 0 ;KNOX(1)(2)TRANSV. SECTION 1 0 0 0 0 ;KNOY(1),(2)LONG. SECTION 16 ;knoz 1825. 3650. 5475. 7300. 9125. ;five 3d print times (days) 0. 365. 1. 365 365 +1 ;t0,t1,dt,kplot(afterXtimesteps),kmom 1. 1. 1. 1. ;new % ccc 0.000 1. 0. 0 ;hinc,rinc,eqmfact, kha(transport of hum.acid) 1. 1. ;massfact (ncomp) 1. 1. 1. ;sfact source factors (nfact + 1) 1 1 1 1 1 0.000e-5 0. 0.00 -1 365. 730. 1. 365 365 +1 ;t0,t1,dt,kplot(afterXtimesteps),kmom 1. 1. 1. 1. ;new % ccc 0.000 1. 0.0 0 ;hinc,rinc,eqmfact, kha(transport of hum.acid) 1. 1. ;massfact (ncomp) 1. 1. 1. ;sfact source factors (nfact + 1) 1 1 1 1 1 0.000e-5 0. 0.00 -1 730. 1095. 1. 365 365 +1 ;t0,t1,dt,kplot(afterXtimesteps),kmom 1. 1. 1. 1. ;new % ccc 0.000 1. 0.0 0 ;hinc,rinc,eqmfact, kha(transport of hum.acid) 1. 1. ;massfact (ncomp) 1. 1. 1. ;sfact source factors (nfact + 1) 1 1 1 1 1 0.000e-5 0. 0.00 -1 1095. 1460. 1. 365 365 +1 ;t0,t1,dt,kplot(afterXtimesteps),kmom 1. 1. 1. 1. ;new % ccc 0.000 1. 0.0 0 ;hinc,rinc,eqmfact, kha(transport of hum.acid) 1. 1. ;massfact (ncomp) 1. 1. 1. ;sfact source factors (nfact + 1) 1 1 1 1 1 0.000e-5 0. 0.00 -1 1460. 3650. 2. 219 365 +1 ;t0,t1,dt,kplot(afterXtimesteps),kmom 1. 1. 1. 1. ;new % ccc 0.000 1. 0.0 0 ;hinc,rinc,eqmfact,kha(transport of hum.acid) 1. 1. ;massfact (ncomp) 1. 1. 1. ;sfact source factors (nfact + 1) 1 1 1 1 1 0.000e-5 0. 0.00 -1 61 3650. 7300. 2. 365 365 -1 ;t0,t1,dt,kplot(afterXtimesteps),kmom 1. 1. 1. 1. ;new % ccc 0.000 1. 0.0 0 ;hinc,rinc,eqmfact,kha(transport of hum.acid) 1. 1. ;massfact (ncomp) 1. 1. 1. ;sfact source factors (nfact + 1) 1 1 1 1 1 0.000e-5 0. 0.00 -1 62 APPENDIX D: Sample Data File and Results: Toluene spill within a heterogeneous, spatially correlated permeability field. 10 Z (m) g/l 0.1 0.05 0.02 0.01 0.001 0.0001 Toluene 5 0 Oxygen Z (m) 10 g/l 0.004 0.003 0.002 0.001 0 5 0 Microbes (O2 reducers) Z (m) 10 5 0 0 50 100 150 Distance (m) 200 250 g/l 0.06 0.02 0.007 0.005 0.002 0.001 The above simulation shows the evolution of a toluene spill with the oxygen depletion plume and microbial growth. Two additional electron acceptors are included but not shown. The flow field is simulated assuming a spatially-correlated random distribution of hydraulic K, which was generated using the FGEN92 code (FGEN was developed by M. Robin, U of Ottawa). 63 BIONAPL.DATA file for above heterogeneous example: (note this example reads an external file containing the random K field) BIONAPL MODEL + + 3D, multi-EA 2D 106x8x30 elements April 2000 0 0 0 0 0 0 0 1 0 1 1 0 1 ; kp,kcn,kwt,kint,kintv,kgo,kg,kranb,krans,kbio,mode,keqm;krtype 3 1 1 ngx, ngy, ngz # of uniform sections per direction 12. 36. 250. ;xlim length of section 20. ;ylim in [m] 10. ;zlim Aquifer thickness 3 12 91 ;nlx # of elements per section 20 ;nly 30 ;nlz 00 00. 0.0 0.0 1500. ;nwtl,datum,gamma,sdecay,rhob 16 1 27 27 +1 ;ix,iy,iz1,iz2 breakthrough recorded at wells 21 1 24 24 +1 ; ix, iy: location of well 31 1 19 19 +1 ; iz1-iz2: well screen 42 1 16 16 +1 57 1 13 13 -1 0 ;INIT 1 107 1 21 1 31 10.00 +1 ; initial condition head 1 1 1 21 1 31 10.00 +1 107 107 1 21 1 31 10.00 -1 1 1 1 1 1 1 2 1 0.000000 -1 ; fracture 2 1 0 0 0 2 ;B.C.'S (FLOW) fixed flow at upper B 1 21 1 31 8.00e-08 -1 ;flux in at left 1 21 1 31 -1 ;fixed head right 1 107 1 21 0.634E-08 -1 ;groundwater recharge 300mm/yr 1 63600 1.e-4 1.e-4 1.e-4 -1 ;1-NEL,KX,KY,KZ (m/s) 1 1 1 1 1 30 1.e-4 1.e-4 1.e-4 -1 ;inner source K of source 35 1 1 1 30 -1 ;fence definition 0.0e-3 0.35 0.00 1.5e-4 ;SS,POR,srw,gradius 1 3 xlam b Kc Km DD ;# of components,# of EA Toluene 870. .104 .288 1. 0.0 2.33e-4 0.0 6.2e-10 0 0. ;rho,mw,aqs,l,b,kc,km,D,kdp,xdp 5 14 8 14 26 26 -1 ;source nodes x1,x2 y1,y2 z1,z2 1.0e4 ;moles .01 0.002 0.002 3.1 0.5 99999. ;utils (/day),uhs,uho,ros,ym,cinib .01 0.002 0.002 4.04 0.5 99999. ;utils (/day),uhs,uho,ros,ym,cinib .01 0.002 0.002 4.2 0.5 99999. ;utils (/day),uhs,uho,ros,ym,cinib 0. ;inhibition 1. .000001 1. .000001 1. .000001 ;RETO1,kinib1,reto2,kinib2 1000. 0.01e-10 .1 ;retm,bm,ymmax 0.0005 0.010 0.020 0.0001 0.0001 0.0001 ;BACKGROUND CONC. O1,O2..-M1.M2 (obsolete) 0.0005 0.010 0.020 0.0001 0.0001 0.0001 ;INITIAL SOURCE CONC. O-M (obsolete) 0.000001 0.000001 0.000001 0.000001 ;threshold S,O1,O2... 1 107 1 21 1 31 1 0.0e-6 0.0e-6 +1 ;initial condition 1 107 1 21 1 31 3 0.005 0.005 +1 ;initial condition O2 1 107 1 21 1 31 4 0.010 0.010 +1 ;initial condition NO3 1 107 1 21 1 31 5 0.020 0.020 -1 ;initial condition SO4 1 0 0 0 0 3 ;B.C.'S (ORGANIC TRANSPORT) - L R, N F, B T 1 21 1 31 -1 ;zero conc at left 64 1 106 1 20 1 0.0e-8 0.0e-6 +1 ;Cauchy x1,2,y1,2byelem #,q[m/s],Conc.[g/l] 5 9 1 20 1 0.000e-8 0.0e-2 -1 0 0 0 0 0 0 ;B.C.'S (HA TRANSPORT) - L R, N F, B T 1 0 0 0 0 3 ;B.C.'S (O2 TRANSPORT) - L R, N F, B T 1 21 1 31 -1 ;node ranges in x, y - direction 1 106 1 20 1 0.634e-8 0.005 +1 ;Cauchy x1,2,y1,2byelem C#; q[m/s]; Conc.[g/l] 1 106 1 20 2 0.634e-8 0.010 +1 ; Cauchy for EA2 1 106 1 20 3 0.634e-8 0.020 -1 ; Cauchy for EA3 0.0e-4 1. 0. 1. 0. ;ka,n,xmtc,feqm,qha(kgHA/kgsol) 0 3.125e-5 0. 0. ;IVEL,VX,VY,VZ (m/s) v=q/n(=K*i/por) 1 106 1 20 1 30 1.0 .02 .01 0.000 -1 ;AL,ATH,ATV,decay(bckgnd)by elm .0001 0.0001 2 20 ;CCP,CCW,MAXIT1,MAXIT2 1.0 1.00 ;OVER-RELAX HEADS,temp 22 32 43 64 106 ;KNOX(1)(2)TRANSV. SECTION 11 0 0 0 0 ;KNOY(1),(2)LONG. SECTION 16 ;knoz 1825. 3650. 7300. 10950. 36500. ;five 3d print times (days) 0. 730. 1. 365 365 +1 ;t0,t1,dt,kplot(afterXtimesteps),kmom 1. 1. 1. 1. ;new % ccc 0.000 1. 0. 0 ;hinc,rinc,eqmfact,kha(hum.acid) 1. ;massfact 1. 1. ;sfact 36 1 18 18 1 0.00e-5 0.1 0.10 +1 1:yes, 0:no 36 2 18 18 1 0.00e-5 0.1 0.10 -1 1:yes, 0:no 730. 10950. 10. 365 999 +1 ;t0,t1,dt,kplot(afterXtimesteps),kmom 1. 1. 1. 1. ;new % ccc 0.000 1. 0.0 0 ;hinc,rinc,eqmfact,kha(hum.acid) 1. ;massfact 1. 1. ;sfact 36 1 18 18 1 0.00e-5 0.1 0.10 +1 1:yes, 0:no 36 2 18 18 1 0.00e-5 0.1 0.10 -1 1:yes, 0:no 10950. 36500. 10. 365 999 +1 ;t0,t1,dt,kplot(afterXtimesteps),kmom 1. 1. 1. 1. ;new % ccc 0.000 1. 0.0 0 ;hinc,rinc,eqmfact,kha(hum.acid) 1. ;massfact 1. 1. ;sfact 36 11 18 18 1 0.0e-6 0.1 0.10 -1 1:yes, 0:no 36500. 109500. 10. 365 999 -1 ;t0,t1,dt,kplot(afterXtimesteps),kmom 1. 1. 1. 1. ;new % ccc 0.000 1. 0.0 0 ;hinc,rinc,eqmfact,kha(hum.acid) 1. ;massfact 1. 1. ;sfact 36 11 18 18 1 0.0e-6 0.01 0.10 +1 1:yes, 0:no 36 11 18 18 1 0.0e-6 0.02 0.10 +1 1:yes, 0:no 36 11 18 18 1 0.0e-6 0.05 0.10 -1 1:yes, 0:no 65 Appendix E: Example and Verification of 1st Order Decay: In the following example, the Monod terms are used to set a fixed first-order decay rate for a single component. The numerical BioNAPL model is compared against the analytical model Line2D (Sudicky, 1990). Domain Boundary v = 0.124 m/d αL = 0.1m αT = 0.002m 13.5 m source 6.5m 0m 20 m Conc. C/Co 1 Analytical (Line2D) BioNAPL 0.5 0 0 5 10 X Distance (m) 15 20 Line2D data set: 0.124 .1 0.002 8.64E-06 20.0 6.5 13.5 N 99999. Y 100. 1.0 109 30 1 0.0 .5 1. 6. 11. 16. 10. 10. 4 0.1 .6 2. 7. 12. 17. 0.2 .7 3. 8. 13. 18. 0.3 .8 4. 9. 14. 19. 20. 40. 100. ;VELOCITY (m/d) ;LONG. DISPERSIVITY (m) ;VER. TRAN. DISP. (m) ;EFF. DIFF. COEFF. (m^2/d) =1e-10 m^2/s ;AQUIFER THICKNESS (m) ;Z1 (m) ;Z2 (m) ;DECAYING SOURCE? ;SOURCE HALF LIFE (days) ;DECAYING CONTAM? ;CONTAM. HALF LIFE (days) ;RETARD. FACTOR ;TERMS IN SERIES ;NX,NZ,NT 0.4 .9 5. 10. 15. 20. ;time(days) 66 BIONAPL Data File for Linear Decay Problem: BIONAPL MODEL + + 3D, + ethanol Barker experiment 100x20x20 elements June 2004 0 0 0 0 0 0 0 0 0 1 0 0 1 ;kp,kcn,kwt,kint,kintv,kgo,kg,kranb,krans,kbio,mode,keqm;krtype 1 1 1 ngx, ngy, ngz # of uniform sections per direction 20. ;xlim length of section 1. ;ylim in [m] 20. ;zlim Aquifer thickness 100 ;nlx # of elements per section 1 ;nly 20 ;nlz 00 00. 0.0 0.0 1500. ;nwtl,datum,gamma,sdecay,rhob 11 1 1 21 +1 ;ix,iy,iz1,iz2 breakthrough recorded at wells 51 1 1 21 -1 0 ;INIT 1 101 1 2 1 21 10.0 +1 ; initial condition head 1 1 1 2 1 21 10.1 +1 101 101 1 2 1 21 10.00 -1 1 1 1 1 1 1 2 1 0.000000 -1 ; fracture 1 1 0 0 0 0 ;B.C.'S (FLOW) fixed flow at upper B 1 2 1 21 -1 ;flux in at left 1 2 1 21 -1 ;fixed head right 1 2000 1.e-4 1.e-4 1.e-4 -1 ;1-NEL,KX,KY,KZ (m/s) 1 1 1 1 1 1 1.e-4 1.e-4 1.e-4 -1 ;inner source K of source 35 1 2 1 21 -1 ;fence definition 0.0e-3 0.35 0.00 1.5e-4 ;SS,POR,srw,gradius 1 1 ;# of components,# of EA Ethanol 789. .046 .001 0.00 0.0 0.00 0.0 1.0e-10 0 0. ;rho,MW,aqs,Sh,beta 1 1 1 2 8 14 -1 ;source nodes 0.0 ;moles 6.93e02 1.e5 1.0e-25 0.0 0. 9999. ;utils (/day),uhs,uho,ros,ym,cinib 0. 0. ;inhibition 1. 9999. ;RETO1,kinib1,reto2,kinib2 1000. 0.01e-10 1.0 ;retm,bm,ymmax 1.00 1. ;BACKGROUND CONC. O1,O2..-M1.M2 (obsolete) 1.00 1. ;INITIAL SOURCE CONC. O-M (obsolete) 0.0000 0.00 ;threshold S,O1,O2... 1 101 1 2 1 21 1 0.0e-6 0.0e-6 +1 ;initial condition 1 1 1 2 8 14 1 1.0 1.0 +1 ;source 6.5 - 13.5 1 101 1 2 1 21 3 1.00 1.00 -1 ;initial condition O2 1 0 0 0 0 0 ;B.C.'S (ORGANIC TRANSPORT) - L R, N F, B T 1 2 1 21 -1 ;zero conc at left 0 0 0 0 0 0 ;B.C.'S (HA TRANSPORT) - L R, N F, B T 1 0 0 0 0 0 ;B.C.'S (O2 TRANSPORT) - L R, N F, B T 1 2 1 21 -1 ;node ranges in x, y - direction 0.0e-4 1. 0. 1. 0. ;ka,n,xmtc,feqm,qha(kgHA/kgsol) 1 1.43e-6 0. 0. ;IVEL,VX,VY,VZ (m/s) v=q/n(=K*i/por) 1 100 1 1 1 20 0.1 .01 .002 00. -1 ;AL,ATH,ATV,decay(bckgnd)by elm 0.0001 10.0 20 20 ;CCP,CCc(i)%(one for each Component),CCW,MAXIT1,MAXIT2 1.0 1.00 ;OVER-RELAX HEADS,temp 0 0 0 0 0 ;KNOX(1)(2)TRANSV. SECTION 1 0 0 0 0 ;KNOY(1),(2)LONG. SECTION 67 11 ;knoz 1825. 3650. 5475. 7300. 9125. ;five 3d print times (days) 0. 100. 0.05 100 20 -1 ;t0,t1,dt,kplot(afterXtimesteps),kmom 1. 1. 1. 1. ;new % ccc 0.000 1. 0. 0 ;hinc,rinc,eqmfact,kha(hum.acid) 1. ;massfact 1. 1. ;sfact 1 1 1 1 1 0.000e-5 0. 0.00 -1 1:yes, 0:no 68 Appendix F: Verification of Density with Multiple Components: Model Verification for Multi-Component Density-Dependent Flow The BIONAPL model has been previously verified to accurately simulate NAPL dissolution, advective-dispersive transport, biodegradation and two-site sorption using analytical solutions, lab experiments and field data (Frind et al. 1999; Molson et al. 2002b). These previous cases, however, assumed that the maximum total concentration of all dissolved components remained sufficiently low such that the fluid density could be assumed constant. Here, two verification tests are made to ensure the density effect of multiple components is accurately simulated in the BIONAPL model. Further examples using BIONAPL for density-dependent flow of oxygenated gasolines can be found in Molson et al. (2008). The BIONAPL model is here verified against the 2D saltwater intrusion Henry problem described in Frind et al. (1982), and the HYDROCOIN salt migration problem described in (Diersch and Kolditz, 2002). Both comparisons are made using the SALTFLOW finite element model (Molson & Frind, 2005) which simulates advective-dispersive density-dependent transport of a single dissolved species (e.g. chloride). In each case, the BIONAPL model simulates the equivalent problem using a mixture of five components representing a typical seawater brine (chloride 13.5 g/L, sodium7.6 g/L, sulphate 1.9 g/L, magnesium 0.9 g/L and a remaining fraction 0.64 g/L; total dissolved solids (TDS) = 24.54 g/L). Although these test cases include only denser than water fluids, the same numerical approach is employed for lighter than water fluids. The boundary conditions and parameters of the test cases are provided in Figure F1a and the comparisons at steady state are provided in Figure F1b. The results between the single component (SALTFLOW) and multiple component (BIONAPL) cases are essentially identical. 69 h1 = 0.0 m no-flow h 1 = ρr x depth fixed concentrations q = 6.6x10-6 m/s C=0 K = 10-2 m/s θ = 0.35 no-flow BIONAPL SALTFLOW 1 Elev. (m) 0.8 0.6 0.4 0.2 0 0 0.5 1 Distance (m) 1.5 2 Figure F1. Comparison of the single species SALTFLOW model and the multi-species BIONAPL model for the Henry saltwater intrusion problem at steady state. Contour line represents the 0.5 isochlor; velocity vectors are from the BIONAPL model. 70 Henry Problem BIONAPL data file for Figure F1 GMT-BIONAPL MODEL + + 3D, No Biodegradation Breakthrough curves for ethanol /// density effects 2D Henry March 2006 1 0 0 0 0 0 0 0 0 0 0 0 1 ;kp,kcn,kwt,kint,kintv,kgo,kg,kranb,krans,kbio,mode,keqm;krtype 1 1 1 ;ngx,ngy,ngz 2. ;xlim 1. ;ylim 1. ;zlim 40 ;nlx 1 ;nly 20 ;nlz 20 00. 1.0000 0.0 1810. ;nwtl,datum,gamma,sdecay,rhob Gamma = 1 density on!!!! 1 1 1 1 -1 ;btc in the vicinity of source 0 ;INIT 1 41 1 2 1 21 0.00 -1 ; initial condition head (nodes on x,y, z dir.) 1 1 1 1 1 1 2 1 0.000000 -1 ; fracture 1 2 0 0 0 0 0 ;B.C.'S (FLOW) fixed flow at upper B 1 2 1 21 -1 ;left face boundary-(y and z) 1 2 1 21 6.6e-5 -1 ;right, 1 800 1.e-2 1.e-2 1.e-2 -1 ;1-NEL,KX,KY,KZ (m/s) 1 1 1 1 1 1 1.e-2 1.e-2 1.e-2 -1 ;inner source K of source 20 1 2 1 21 -1 ;fence definition x at 40th column, y,z //fence 0.001 0.35 0.07 1.5e-4 ;SS,POR,srw,gradius 5 1 xlam b Kc Km DD ;# of components,# of EA Cl ;name of Contaminant 10240000. .078 1.78 0.001 0.0 0 0.0 5.8e-10 0 0. ;rho-density ,mw,aqs-S,Sh,b,kc-adsorption,km,D-diffusion,kdp,xdp Na 10240000. .092 .53 0.001 0.0 0.0 0.0 5.8e-10 0 0. ;rho,mw,aqs,l,b,kc,km,D,rb/// SO4 10240000. .106 .18 0.001 0.0 0.0 0.0 5.8e-10 0 0. ;rho,mw,aqs,l,b,kc,km,D,rb Mg 10240000. .046 4.83 -0.001 0.0 0.00 0.0 5.8e-10 0 0. ;;rho,mw,aqs,l,b,kc,km,D,rb Others 10240000. .09 .020 0.001 0.0 4.200e-4 0.0 5.8e-10 0 0. ;rho,mw,aqs,l,b,kc,km,D,rb 1 1 1 1 1 1 -1 ;Source distribution on xyz// 0.0 0.0 0.0 00. 0.00 ;moles MTBE<TBA% by volume ethanol (half of the source)- check//// 0.0 0.002 0.002 3.08 0.5 99999. ;utils (/day),uhs,uho,ros,ym,cinib biodegrad terms-I don't need them 0.0 0.002 0.002 3.13 0.5 99999. ; 0.0 0.002 0.002 3.460 0.5 99999. ; 0.0 0.002 0.002 2.09 0.5 99999. ; 0.0 0.002 0.002 2.09 0.5 99999. ; 0. 0. 0. 0. 0. 0. 0. ;inhibition 0. 0. 0. 0. 0. 0. 0. ;inhibition 0. 0. 0. 0. 0. 0. 0. ;inhibition 0. 0. 0. 0. 0. 0. 0. ;inhibition 0. 0. 0. 0. 0. 0. 0. ;inhibition 1. 9999. ;RETO1,kinib1,reto2,kinib2 1000. 0.01e-10 .01 ;retm,bm,ymmax 0.0038 0.003 ;BACKGROUND CONC. O1,O2..-M1.M2 (obsolete) 0.0038 0.003 ;INITIAL SOURCE CONC. O-M (obsolete) 5.0000 0.000001 ;threshold S,O1,O2... 1 1 1 2 1 15 1 13.5 13.5 +1 ;initial condition 1 1 1 2 1 15 2 7.6 7.6 +1 ;initial condition 1 1 1 2 1 15 3 1.9 1.9 +1 ;initial condition 1 1 1 2 1 15 4 0.9 0.9 +1 ;initial condition// 1 1 1 2 1 15 5 0.64 0.64 +1 ;initial condition 1 1 1 2 1 15 7 0.0000 0.0000 -1 ;initial condition [mg/l?]O2 1 1 0 0 0 0 ;B.C.'S (ORGANIC TRANSPORT) - L R, Near Far, Bottom Top 1 2 1 15 -1 ;zero conc at left// 71 1 2 1 21 -1 0 0 0 0 0 0 ;B.C.'S (HA TRANSPORT) - L R, N F, B T 0 0 0 0 0 0 ;B.C.'S (O2 TRANSPORT) - L R, N F, B T 0.0e-4 1. 0. 1. 0. ;ka,n,xmtc,feqm,qha(kgHA/kgsol) 0 3.125e-5 0. 0. ;IVEL,VX,VY,VZ (m/s) v=q/n(=K*i/por)//0=solve for flow 1 40 1 1 1 20 0.035 0.1 0.035 0.000 -1 ;AL,ATH,ATV,decay(bckgnd)by elm/// 0.00001 0.00001 5 5 ;CCP,CCW,MAXIT1,MAXIT2 1.0 1.00 ;OVER-RELAX HEADS,temp 0 0 0 0 0 ;KNOX(1)(2)TRANSV. SECTION (section # in x, max 5) 1 0 0 0 0 ;KNOY(1),(2)LONG. SECTION 19 ;knoz/// 1825. 3650. 5475. 7300. 9125. ;five 3d print times (days) 0.000 .01 .0001 10 1 +1 ;t0,t1,dt,kplot (after kplot timesteps),kmom 5. 5. 5. 5. 5. 5. 5. ;new % ccc 0.000 1. 0. 0 ;hinc,rinc,eqmfact,kha(transport of hum.acid) 1.0 1.0 1.0 1.0 1.0 ;massfact 1.0 1.0 1.0 1.0 1.0 1.0 ;sfact 1 1 1 1 1 0.000e-5 0. 0.00 -1 1:yes, 0:no .01 0.07 0.0001 200 1 +1 ;t0,t1,dt,kplot(afterXtimesteps),kmom 5. 5. 5. 5. 5. 5. 5. ;new % ccc 0.000 1. 0. 0 ;hinc,rinc,eqmfact,kha(transport of hum.acid) 1.0 1.0 1.0 1.0 1.0 ;massfact 1.0 1.0 1.0 1.0 1.0 1.0 ;sfact 1 1 1 1 1 0.000e-5 0. 0.00 -1 1:yes, 0:no 0.07 0.20 0.001 130 1 -1 ;t0,t1,dt,kplot(afterXtimesteps),kmom 5. 5. 5. 5. 5. 5. 5. ;new % ccc 0.000 1. 0. 0 ;hinc,rinc,eqmfact, kha(transport of hum.acid) 1.0 1.0 1.0 1.0 1.0 ;massfact 1.0 1.0 1.0 1.0 1.0 1.0 ;sfact 1 1 1 1 1 0.000e-5 0. 0.00 -1 1:yes, 0:no 72 Appendix G: Fracture Locations on Element Surfaces 1D fracture elements (idim=1) iloc = 1 iloc = 4 iloc = 2 iloc = 5 iloc = 3 iloc = 6 2D fracture elements (idim=2) iloc = 1 iloc = 4 iloc = 2 iloc = 5 iloc = 3 iloc = 6 73 Appendix H: FRACGEN Model for Random Fracture Networks The FracGen model generates random 2D and 3D fracture networks for use in the BIONAPL model. The code generates up to 3 sets of orthogonal 2D planar fractures, one set for each of the xz, yz, and xy planes, and prepares a file compatible with the smoker.data input file. A sample input file (fracgen.dat) is shown below: 7 7 3 ;ngx,ngy,ngz 10. 19. 19.962 20.038 21. 30. 50. ;xlim (m) 3. 4.5 4.962 5.038 5.5 7. 10. ;ylim 10. 50. 62. ;zlim 10 29 6 2 6 29 30 ;nlx 3 4 3 2 3 4 3 ;nly 20 80 10 ;nlz 20. 20. 50. 48. ;,zminxy,zminxz, zcutoffxy = 50.zcutoffxz = 48. 00 500 500 ;maxnf 50 ;number of bins for plotting 1000.0 1.0 0.5 ;mean spacings 1.0 0.25 0.25 ;st.dev. .true. ;log-normal distribution? ln(200)=5.3 5.3 5.3 5.3 ;mean log apertures (microns) 0.25 0.25 0.25 ;st.dev. 50. 8. 5. ;mean lengths 1. 1. 1. ;st.dev. 15. 6. 15. ;mean widths 1. 1. 1. ;st.dev. c set 1 = xz plane set 2 = yz plane set 3 = xy plane where: - The first 7 lines define the grid and can be copied directly from the smoker.data file. - zminxy,zminxz, zmaxxy,zmaxxz define vertical (z) dimensions to control fracture generation. No fractures will be generated in the xy and xz planes below zminxy and zminxz, respectively, and no fractures will be generated in the xy and xz planes above zmaxxy and zmaxxz, respectively - maxnf is the maximum number of fractures in each of the 3 planes - nbin = number of bins into which the fracture distribution will be divided for plotting the aperture distribution density function (randm_bins.plt). - the mean spacings are the mean distances (metres) between fractures in the 3 sets, with the corresponding standard deviations about the mean for each set. - either a log-normal (.true.) or normal (.false.) aperture distribution can be specified. - The mean log apertures are the mean natural-log of the fracture apertures (in microns). Thus, for a mean aperture of 200 microns, enter ln(200) = 5.3. Also enter the corresponding standard deviations for each set. - The next two pairs of parameter lines define the fracture lengths and widths (metres). Fracture length is always measured in the directional order x,y,z depending on the set. Thus, fracture lengths in Set 1 (xz plane) are in the x-direction and widths are in the z direction, for Set 2 (yz plane), lengths and widths are measured in y and z, respectively, and for Set 3 (xy plane, horizontal fractures), lengths and widths are measured in x and y, respectively. 74 Files: fracgen.dat fracgen.out lognormal.plt randm_bins.plt randmgeo_xy.plt randmgeo_xz.plt randmdat.out = main input file = main output file to check input parameters, model execution etc. = theoretical log-normal aperture distribution curve defined by the input data = histogram of simulated fracture aperture distribution = tecplot geometry file showing fracture traces in the xy plane = tecplot geometry file showing fracture traces in the xz plane = list of fractures (nodal indices, apertures) for input to smoker.data Procedure: 1. Edit the fracgen.dat file 2. Run fracgen.exe 3. Check the distribution by plotting the file randmgeo_xz.plt (and others as needed) 4. Copy the fracture list from randmdat.out and place in smoker.data, remembering to set the value more = -1 for the last line of fractures. 60 60 50 50 40 40 Elevation (m) Elevation (m) Grid and fracture network from above example file: 30 30 20 20 10 10 0 0 10 20 30 Distance (m) 40 50 0 0 10 20 30 Distance (m) 40 50 75 Appendix I: Discrete Fracture Network Application Below are the results of 2 BIONAPL simulations which include discrete fractures. Data files are available on request. The top image shows the injection of dissolved oxygen into a fractured dolomite aquifer initially contaminated by BTEX (see Greer et al. 2010). The bottom figure shows the evolution of a benzene plume evolving from a source zone in an initially oxygen-rich fractured aquifer. 76