Mesh Adaptation Strategies for Discontinuous Galerkin Methods Applied to Reactive Transport Problems Shuyu SUN and Mary F. WHEELER The Center for Subsurface Modeling (CSM) The Institute for Computational Engineering and Sciences (ICES) The University of Texas, Austin, Texas 78712, USA ABSTRACT Static and dynamic strategies are formulated and studied for discontinuous Galerkin (DG) methods applied to reactive transport problems based on a posteriori error estimators. It is shown that the flexibility of DG allowing non-matching meshes substantially simplifies the implementation of the mesh adaptation. Moreover, DG with adaptivity can effectively capture local physical phenomena due to the localization of DG errors. Dynamic strategies are efficient in improving accuracy and in saving computational time, especially for transport problems with a long period of simulation time. In contrast, static approaches perform poorly on transport problems unless the total simulation time is short. Keywords: Discontinuous Galerkin Methods, A Posteriori Error Estimators, Adaptivity, Reactive Transport, Transient Problems. 1. INTRODUCTION The discontinuous Galerkin (DG) methods [5, 11, 24, 13, 3, 4] have recently gained popularity for many attractive properties. First of all, the methods are locally mass conservative while most classical Galerkin finite element methods are not. In addition, they have less numerical diffusion than most conventional algorithms, thus are likely to offer more accurate solutions for at least advection-dominated transport problems. They handle rough coefficient problems and capture the discontinuity in the solution very well by the nature of discontinuous function spaces. DG can naturally handle inhomogeneous boundary conditions and curved boundaries. The average of the trace of the fluxes from a DG solution along an element edge is continuous and can be extended so that a continuous flux is defined over the entire domain. Thus DG can be easily coupled with conforming methods. Furthermore, for smooth flow and transport problems, DG with varying degree of approximation can yield nearly exponential convergence rates. For time-dependent problems in particular, the mass matrices are block diagonal for DG, but not for conforming methods. This provides a substantial computational advantage, especially if explicit time integrations are used. From a computer science point of view, the DG methods are easier to implement than most traditional finite element methods. The trial and test spaces are easier to construct than conforming methods because they are local. This also makes the code shorter and more efficient. For instance, DG methods are simpler to implement than the finite volume method and the mixed finite element method which are two other types of element-wise conservative methods. Unlike traditional finite element methods, the DG algorithms need only the mesh information about elements and interfaces, but without the mesh information about edges and vertexes. Such a property of spatial dimension independence offers a great convenience to implement, test and debug DG codes. In addition, the simple communication pattern between elements ensures that DG methods are well parallelizable, which is a necessity for many massive problems having excessive memory and CPU time requirements. Reactive transport is a fundamental process arising in many diversified fields such as petroleum engineering, groundwater hydrology, environmental engineering, soil mechanics, earth sciences, chemical engineering and biomedical engineering. Realistic simulations for simultaneous transport and chemical reaction present significant computational challenges [16, 10, 14, 15, 17, 8, 23, 26, 18, 9]. Traditional algorithms employ operator-splitting to treat advection, diffusion-dispersion and chemical reaction sequentially and separately. Godunov [6] and characteristics [2] are popular methods for the advectiondiffusion subproblem. The DG methods have recently applied for flow and transport problems in porous media [20, 12, 25]. It has been found that the non-symmetric DG has optimal convergence in L2(H1) for both flow and transport problems [12, 13]. The hp-convergence behaviors in L2(L2) and in negative norms have been analyzed in [19]. Explicit a posteriori error estimates of DG for reactive transport have been studied in [22, 21]. In this paper, we formulate and study the static and the dynamic mesh adaptation strategies for DG applied to reactive transport problems. We note that the work here can be extended to other transient problems. 2. GOVERNING EQUATIONS AND DISCONTINUOUS GALERKIN SCHEMES Reactive Transport Governing Equations For convenience, we consider single-species reactive transport for a single flowing phase in porous media. Results can be directly extended to multiple species systems with kinetic reactions. It is assumed that the Darcy velocity field u is given and time independent, and satisfies ∇ ⋅ u = q , where q is the imposed external total flow rate. In addition, we assume Ω is a polygonal and bounded domain in a d-dimensional space (d=1, 2 or 3). We denote by Γin the inflow boundary and Γout the outflow/no-flow boundary. Let T be the final simulation time. The classical advection-diffusion-reaction equation for a single flowing phase in a porous medium is given by ∂φc + ∇ ⋅ (u c − D(u)∇c) = qc * + r (c), ( x, t ) ∈ Ω × (0, T ] , (1) ∂t where the unknown variable c is the concentration of a species (amount per volume). Here φ is the porosity; D(u) is the dispersion/diffusion tensor; r(c) is the reaction term; qc* is the source term, where q is a sum of sources (injection) and sinks (extraction), c* is the injected concentration cw if q ≥ 0 and is the resident concentration c if q < 0 . This equation is closed with certain boundary and initial conditions [19, 25]. Discontinuous Galerkin (DG) Methods and A Posteriori Error Estimators We consider the four primal discontinuous Galerkin schemes for the space discretization in this paper. They are Symmetric Interior Penalty Galerkin (SIPG) [19, 24, 25], Oden-BaumannBabuska version of DG (OBB-DG) [11, 19], Nonsymmetric Interior Penalty Galerkin (NIPG) [12, 13, 19] and Incomplete Interior Penalty Galerkin (IIPG) [7, 19] methods. Interested readers can refer to corresponding references for the detailed DG formulations, which are omitted here due to the lack of space. The SIPG method is a widely used primal discontinuous Galerkin method because SIPG offers optimal convergence in L2(L2) norm for the primal unknown and results in an algebraic system with a symmetric pattern for diffusion-reaction equations, which could be exploited to construct fast linear solvers. Using duality argument, we have developed explicit L2(L2) a posteriori error estimates for SIPG applied to time dependent problems including reactive transport in porous media [22]. These a posteriori error estimates provide valuable error information, which can be used to guide adaptive modifications of the mesh. These error estimates are especially valuable in the cases where the primal scalar unknown rather than the flux is of interest. They are easy to implement and computationally cheap. Numerical experiments shows that these a posteriori error estimates are sharp in capturing the areas with large errors and could guide effective mesh modifications to achieve efficient adaptivities [22]. In particular, they are sharp in capturing concentration fronts in reactive transport problems. Other family members of primal DG methods are of interest in many situations. For instance, OBB-DG and NIPG methods are capable to handle problems involving high varying coefficients, and IIPG method is are useful for coupled flow and transport problems [7, 19]. To guide the adaptivities for these DG methods, we established a unified a posteriori error estimate approach in L2(H1) [21]. The approaches apply to all the four versions of DG, namely, OBB-DG, SIPG, NIPG and IIPG. These a posteriori error estimates in L2(H1) are explicit and residual based and thus is computationally efficient. General boundary conditions can be easily took into consideration of these error estimates in L2(H1). In addition, no regularity assumption for the dual problem is required for these estimates. Numerical performance of the a posteriori error estimators under two major categories, namely estimators in L2(L2) and in L2(H1) have been investigated and compared [19, 21, 22]. Results indicate that L2(H1) type error indicators are more flexible, but L2(L2) type error indicators are more effective for many reactive transport cases. It was found that adaptivities are essential for large reactive transport problems, in particular for the problems where strong physics/chemistry occurs locally in a small part of the domain. 3. ADAPTIVE MESH MODIFICATION Mesh modification is an important ingredient of adaptive strategies for finite element methods. In practice, the number of elements during mesh modification either grows or remains constant. Thus we naturally have two basic mesh modification approaches, namely mesh enrichment and mesh adjustment. As we will see in following sections, mesh enrichment plays an important role in static adaptive approaches, whereas mesh adjustment is essential to dynamic adaptive strategies. Mesh Enrichment using Adaptive Refinement Mesh enrichment is a popular mesh modification approach for solving steady problems. In this approach, we start with a very coarse initial mesh. Then at each adaptive iteration step, we refine the elements with the largest error indicator values (Figure 1). The number of elements in the mesh grows as the adaptive process proceeds. This approach can be extended to transient problems including reactive transport problems. It can be implemented by one of the two versions defined by Algorithms 1 and 2 respectively: Algorithm 1. (Adaptive mesh enrichment I) Given a mesh Ξ and a fraction γ ∈ (0,1) : 1. Compute the DG approximation of the PDE based on the mesh Ξ and compute the error indicator η E for each element E ∈ Ξ ; 2. Compute the η ∞ = max(η E : E ∈ Ξ ) ; 3. Select Ξ r = {E ∈ Ξ : maximum error indicator ηE > γ} ; η∞ 4. Refine all elements E ∈ Ξ r . Algorithm 2. (Adaptive mesh enrichment II) Given a mesh Ξ and an integer n: 1. Compute the DG approximation of the PDE based on mesh Ξ and compute the error indicator η E for each element E∈Ξ ; 2. Select Ξr ⊂ Ξ such that # (Ξ r ) = n and min{η E : E ∈ Ξ r } ≥ max{η E : E ∈ Ξ \ Ξ r } ; 3. Refine all elements E ∈ Ξ r . (A) (B) Figure 1. An example of the growing mesh enrichment approach. The three elements with the largest error indicator values are locally refined. Mesh Adjustment using Adaptive Refinement & Coarsening In mesh enrichment, the number of elements in mesh grows as adaptivity proceeds. Alternatively, we can fix the number of elements, but refine some elements and coarsen some other elements adaptively to make the mesh more suitable for the problem (Figure 2). It is described in the following algorithm: Algorithm 3. (Adaptive mesh adjustment) Given a mesh Ξ and an integer n: 1. Compute the DG approximation of the PDE based on mesh Ξ and compute the error indicator η E for each element E∈Ξ ; 2. Select Ξr ⊂ Ξ such that # (Ξ r ) = n and min{η E : E ∈ Ξ r } ≥ max{η E : E ∈ Ξ \ Ξ r } ; 3. Select Ξ c ⊂ Ξ to minimize max{η E : E ∈ Ξ c } subject to # (Ξ c ) = n and that Ξ c satisfies the coarsening-compatible condition with regard to Ξ and Ξ r ; 4. Refine all elements E ∈ Ξ r and coarsen all elements E ∈ Ξ c . We have used a coarsening-compatible condition in Algorithm 3. We note that, because DG allows for an arbitrary degree of nonconformity, each element can be refined. However, not every element is available to be coarsened; for instance, the element without a father cannot be further coarsened. The coarsening-compatible condition is defined as below: Definition 1. (Coarsening-compatible condition) The coarsening element set Ξ c is said to satisfy the coarseningcompatible condition with regard to the mesh Ξ and the refining element set Ξ r if and only if 1. Each element in Ξ c has a father; 2. Brothers of an element in Ξ c are active, that is, they sit in Ξ; 3. None of the elements in Ξ c and their brothers are in Ξ r ; 4. Brothers of an element in Ξ c are not in Ξ c . (A) 5. Refine all elements E ∈ Ξ k ,r and coarsen all elements E ∈ Ξ k ,c to form a new mesh Ξ k +1 ; 6. If satisfied (e.g. if global error indicator drops below some tolerance or simply if k> k ∞ ), report the solution and stop; otherwise, let k=k+1 and go to step 2. We present a numerical example to illustrate this adaptive approach. We consider the following problem in a domain Ω = (0, 10)2: ∂φ e c ( x, t ) ∈ Ω × (0, T ], + ∇ ⋅ (uc − D(u )∇c ) = 0, ∂t (uc − D(u )∇c ) ⋅ n = c B u ⋅ n, ( x, t ) ∈ Γin × (0, T ], ( − D(u )∇c ) ⋅ n = 0, ( x, t ) ∈ Γout × (0, T ], c( x,0) = c 0 ( x ), x ∈ Ω. ( 2) The porosity is a constant 0.1; the diffusion-dispersion D is a constant, diagonal tensor with Dii = 0.01; and the velocity is u=(-0.1,0) uniformly across the domain. The domain Ω is divided into two parts, i.e. the lower half Ω l =(0,10)x(0,5) and the upper half Ω u =(0,10)x(5,10). Adsorption occurs only in the lower part of the domain, which results in an effective porosity φ e =0.2 in Ω l . The effective porosity φ e in Ω u is still 0.1. The initial total concentration is 0.1 inside the square centered at (5,5) with size of 0.3125x0.3125 and is 0.0 elsewhere (shown in Figure 3(A)). The total concentration here is defined as the product of the concentration in fluid and the effective porosity. (B) Figure 2. An example of the non-growing mesh adjustment approach. The three elements with the largest error indicator values are locally refined while the other three elements with the smallest error indicator values are locally coarsened. The total number of elements remains constant. (A) (B) 4. STATIC ADAPTIVE STRATEGIES Static adaptive strategies are widely used for solving steady problems. They can be also extended to transient problems, especially for transient problems involving a short period of simulation time. Non-growing Static Adaptive Strategy In non-growing static adaptive strategy, we keep the number of elements constant but modify locally the fineness/coarseness of the mesh according to the associated error indicator. It usually starts with a fine uniform mesh. Algorithm 4. (Non-growing static adaptive strategy) Given an initial mesh Ξ 0 and a modification factor α ∈ (0,1) : 1. Let k=0; 2. Compute the DG approximation of the PDE based on mesh Ξ k and compute the error indicator η E for each element E ∈ Ξ k ; 3. Select Ξ k ,r ⊂ Ξ k such that # (Ξ k ,r ) = α # (Ξ k ) and min{η E : E ∈ Ξ k ,r } ≥ max{η E : E ∈ Ξ k \ Ξ k ,r } ; 4. Select Ξ k ,c ⊂ Ξ k to minimize max{η E : E ∈ Ξ k ,c } subject to # (Ξ k ,c ) = α # (Ξ k ) and that Ξ k ,c satisfies the coarseningcompatible condition with regard to Ξ k and Ξ k ,r ; Figure 3. Problem data and classic DG solution for a transport-adsorption case: (A) Velocity and initial fluid concentration; (B) DG solution in a uniform rectangular mesh without mesh adaptation. SIPG is employed to solve this problem using the non-growing static strategy with a modification factor α =0.05. The penalty parameter is chosen according to Ref. [19]. The simulation time interval is (0,1) and we use the backward Euler's method to integrate with regard to time with a uniform time step ∆t = 0.01. The complete quadratic basis function is used for each element. The initial mesh is a 16x16 uniform rectangular grid. The error indicator in L2(L2) is computed for each element. The time derivative term in the interior residual is approximated by a finite difference [21, 22]. The fluid concentration and the mesh structure during the mesh adaptation progress are shown in Figures 4(A)-(F). Due to retardation effects arising from adsorption, the contaminant transport is slower in the lower part of the domain. A continuous concentration profile is observed because of diffusion/dispersion. We see that this adaptive strategy with the error indicator in L2(L2) captures the local behavior of the advection-diffusion-adsorption process. The spot around the small square originally contaminated and its downwind areas up to the concentration front are heavily and efficiently refined, while the areas far from the contaminated regions have a relatively coarser mesh. For comparison, DG using the same number of unknowns is applied to the problem without mesh adaptation (shown in Figure 3(B)). Figures 5(A) and (B) are the zoom-in versions of 3(B) and 4(F) respectively. The simulation results clearly indicate that the adaptive DG resolves the concentration plume more sharply than the non-adaptive counterpart. (A) (B) 3. Compute the maximum error indicator defined by η ∞ = max(η E : E ∈ Ξ k ) ; 4. Select Ξ k ,r = {E ∈ Ξ k : ηE > γ}; η∞ 5. Refine all elements E ∈ Ξ k ,r to form a new mesh Ξ k +1 ; 6. If satisfied (e.g. if global error indicator drops below some tolerance or simply if k> k ∞ ), report the solution and stop; otherwise, let k=k+1 and go to step 2. We now solve the same example problem (2) using SIPG with the error indicator in L2(L2) norm. All parameters are taken with the same values as in the previous example except that the growing static adaptive strategy is used with γ = 0.8 and that the initial mesh consists of a single element (i.e. the entire domain). Simulation results are shown in Figures 6(A)-(F). (C) (D) (E) (F) Figure 4. Adaptive DG solutions using the non-growing static approach (A) after 1 iteration, (B) after 2 iterations, (C) after 4 iterations, (D) after 8 iterations, (E) after 16 iterations, and (F) after 32 iterations. (A) (A) (B) (C) (D) (E) (F) (B) Figure 6. Adaptive DG solutions using the growing static approach (A) after 2 iterations, (B) after 4 iterations, (C) after 8 iterations, (D) after 16 iterations, (E) after 32 iterations, and (F) after 64 iterations. Figure 5. Zoom-in views of DG solutions (A) without and (B) with mesh adaptation. Growing Static Adaptive Strategy The growing static adaptive strategy increases the number of elements by adaptively refining the mesh locally according to the error indicator. It usually starts with a coarse mesh. Algorithm 5. (Growing static adaptive strategy) Given an initial mesh Ξ 0 and a growth factor γ ∈ (0,1) . 1. Let k=0; 2. Compute the DG approximation of the PDE based on the mesh Ξ k and compute the error indicator η E for each element E ∈ Ξ k ; Comparing the results of adaptive DG solutions using the growing and the non-growing static approaches, we find that the growing static approach performs as effective as the nongrowing static does in term of accuracy. However, the growing static approach costs less than the non-growing static due to cheap computational efforts associated with coarse meshes in the early iteration steps. Therefore, the growing approach is more favorable than the non-growing approach for static strategies. This explains why the growing static approach is widely used for steady problems while the non-growing static approach is not. Interestingly, as we will see in next section, the opposite is observed for dynamic strategies. That is, the nongrowing approach is more favorable than the growing approach for dynamic strategies, especially for transient problems with a long period of time. 5. DYNAMIC ADAPTIVE STRATEGIES For transient problems involving a long period of simulation time, the location of strong physics (including biogeochemistry) usually moves with time. But many error indicators for transient problems, including the L2(L2) and the L2(H1) error indicators discussed in this paper, combine contributions over the entire simulation time. Naturally, we want the error indicator account for the physics only in the current time, and it is favorable to compute the error indicator for only a short time interval involving the current time, and to modify the mesh dynamically with time. Because it is very expensive to change the mesh each time step, we divide the entire simulation time into a collection of time slices, each of which may in turn contains a certain number of time steps. The main idea of dynamic adaptive approaches is to apply the static strategy into each individual time slice. Non-growing Adaptive Strategy The non-growing dynamic adaptive strategy performs mesh adjustment without changing the number of elements according to the associated error indicator during each adaptive iteration step for each time slice. It usually starts with a fine uniform mesh. Algorithm 6. (Non-growing dynamic adaptive strategy) Given an initial mesh Ξ 0 , a modification factor α ∈ (0,1) , time slices {(T0, T1), (T1, T2), …, (TN-1, TN)} and iteration numbers for each time slices {M1, M2, …, MN}. 1. Let n = 1; 2. Let m = 1; 3. Compute the initial concentration for time slice (Tn-1, Tn) using either the initial condition (if n = 1) or the concentration at the end of last time slice (if n>1) by a local projection; 4. Let Ξ m,n = Ξ 0 if n=1 and m=1; or Ξ m,n = Ξ M n −1 +1,n −1 if n>1 and m=1; 5. Compute the DG approximation of the PDE for the time slice (Tn-1, Tn) based on the mesh Ξ m,n and compute the error indicator η E for each element E ∈ Ξ m,n ; ( 6. Select Ξ r ⊂ Ξ m,n such that # (Ξ r ) = round α # (Ξ m,n ) ) and min{η E : E ∈ Ξ r } ≥ max{η E : E ∈ Ξ m,n \ Ξ r } ; 7. Select Ξ c ⊂ Ξ m,n to minimize max{η E : E ∈ Ξ c } subject to ( # (Ξ c ) = round α # (Ξ m,n ) ) and that Ξc satisfies the coarsening-compatible condition with regard to Ξ m,n and Ξ r ; 8. Refine all elements E ∈ Ξ r and coarsen all elements E ∈ Ξ c to form a new mesh Ξ m+1,n ; 9. Let m=m+1. If m ≤ M n , go to step 3; 10. Let n=n+1. If n ≤ N , go to step 2; 11. Report the solution and stop. We now solve the same example problem (2) in the time period (0,2) using SIPG with the error indicator in the L2(L2) norm. All parameters are chosen with the same values as in the previous example except that we now use the non-growing dynamic adaptive strategy with a modification factor α =0.05. The initial mesh is a 16x16 uniform rectangular grid. We partition the simulation time interval (0,2) into 20 time slices uniformly. The iteration number is chosen to be 5 for the initial time slice and to be 2 for all other time slices. It should be observed that, compared with static approaches, this adaptive strategy is more effective in capturing the local behavior of the advectiondiffusion-adsorption process (shown in Figures 7(A)-(F)). (A) (B) (C) (D) (E) (F) Figure 7. Adaptive DG solutions using the non-growing dynamic approach at (A) m=2, n=1; (B) m=5, n=1; (C) m=2, n=5; (D) m=2, n=10; (E) m=2, n=15; and (F) m=2, n=20. Growing Adaptive Strategy Similarly as we did in the growing static adaptive approach, we can formulate the growing dynamic adaptive strategy, which has a varying number of elements during the mesh adaptation process. It should be pointed out, however, that the growing dynamic adaptive approach has much worse performance than the non-growing dynamic adaptive approach (results not shown). First of all, the projection from a fine into a coarse mesh is used between two time slices, in which the accuracy could be seriously jeopardized. Moreover, in each time slice, a large number of iterations is usually required to reach the desired fine mesh. In contrast, the non-growing dynamic adaptive approach needs only 1 or 2 iterations in each time slice because the mesh in the beginning of the time slice is already very close to the desired mesh. Therefore, the growing dynamic adaptive approach is not recommended for practice. Comparison of Static and Dynamic Adaptive Strategies From the results in the last section, we know the growing static approach can achieve a similar adaptive effect as the nongrowing static approach does while has less computational cost. It should be noted that the non-growing dynamic approach are even cheaper than the growing static approach because it only needs a very few adaptive iterations (1 or 2) for each time slice. In Figures 8(A)-(D), we compare the static and the dynamic strategies tested using the same problem (2) with the same number of unknowns. For a short period of simulation time (t=1), the static and the dynamic strategies provide similar adaptive sharpness. For a long period of simulation time (t=2), however, the dynamic strategy results in significantly better adaptive effectivity. Clearly, the dynamic modification of mesh structure increases the accuracy of the solution while decreases the computational cost; this is especially true for transient problems with a long period of time and with a time-varying physics. (A) (B) (C) (D) cases. The growing dynamic approach has a poor performance in both of the computational time and the numerical accuracy, because of the large iteration number in each time slice and the projection from a fine into a coarse mesh. Among the four strategies we considered, the non-growing dynamic approach is often the method of choice for reactive transport. In this approach, the iteration number in each time slice can be as small as 1 or 2, which makes it computationally cheap in addition to its superior adaptive effectivity. Finally, we emphasize that, due to the discontinuous spaces used in DG, the projections of concentration during mesh modifications involve only local computations and are locally mass conservative. These two features ensure the efficiency and the accuracy of DG during dynamic mesh modifications. 7. REFERENCES Figure 8. Comparison of the non-growing static and the non-growing dynamic strategies for adaptive DG solutions: (A) at t=1 by the static approach; (B) at t=1 by the dynamic approach; (C) at t=2 by the static approach; and (D) at t=2 by the dynamic approach. 6. CONCLUDING REMARKS Adaptive strategies including both the static and the dynamic approaches are formulated and studied for discontinuous Galerkin (DG) methods applied to reactive transport problems based on mathematically proved a posteriori error estimators. Various numerical examples demonstrate the advantage of adaptive approaches over the non-adaptive version. In particular, we see that the flexibility of DG allowing nonmatching meshes substantially simplifies the implementation of the mesh adaptation as the local element refinement is independent of neighborhood elements. In addition, this flexibility increases the efficiency of adaptivities because the unnecessary areas do not need to be refined in order to maintain the conformity of the mesh. Moreover, DG errors are localized; in other words, there is less pollution of errors. This leads to a more effective adaptivity for DG than for nonconforming methods. Because of this, we see that adaptivity of DG sharply captures local physical phenomena. Growing adaptive approaches increase the number of elements by adaptively refining the mesh locally according to the associated error indicator, while non-growing adaptive approaches modify locally the fineness/coarseness of the mesh according to the error indicator without changing the number of elements. The growing approaches usually start with a coarse mesh and the non-growing approaches usually start with a fine uniform mesh. It is found that the growing approaches are better fitted in static strategies, while the non-growing approaches are better suited for dynamic strategies. In a short period of simulation time, both the dynamic strategies and the static strategies work well. However, as one might expect, the dynamic strategies are generally better than the static strategies for transient problems with a long period of simulation time in the aspects of accuracy and computational costs. The growing static approach is generally better than the non-growing static approach due to its cheap computational cost associated with the coarse mesh in early iteration steps, but the non-growing static approach might be more robust in some [1] R. A. Adams, Sobolev Spaces, Academic Press, 1975. [2] T. Arbogast and M. F. Wheeler, “A characteristics-mixed finite element method for advection-dominated transport problems”, SIAM J. Numer. Anal., 32:404-424, 1995. [3] D. N. Arnold, “An interior penalty finite element method with discontinuous elements”, PhD thesis, The University of Chicago, Chicago, IL, 1979. [4] D. N. Arnold, “An interior penalty finite element method with discontinuous elements”, SIAM J. Numer. Anal., 19:742-760, 1982. [5] C. E. Baumann and J. T. Oden, “A discontinuous hp-finite element method for convection-diffusion problems”, Comput. Methods Appl. Mech. Engrg., 175(3-4):311-341, 1999. [6] C. N. Dawson, “Godunov-mixed methods for advection-diffusion equations in multidimensions”, SIAM J. Numer. Anal., 30:1315-1332, 1993. [7] C. Dawson, S. Sun and M. F. Wheeler, “Compatible algorithms for coupled flow and transport”, Comput. Methods in Appl. Mech. Engrg., 193:25652580, 2004. [8] J. F. Kanney, C. T. Miller, and C. T. Kelley, “Convergence of iterative splitoperator approaches for approximating nonlinear reactive transport problems”, Advances in Water Resources, 26(3):247-261, 2003. [9] J. S. Kindred and M. A. Celia, “Contaminant transport and biodegradation 2: conceptual model and test simulations”, Water Resources Research, 25:1149-1159, 1989. [10] F. M. Morel and J. G. Hering, Principles and applications of aquatic chemistry, John Wiley and Sons, 1993. [11] J. T. Oden, I. Babuska, and C. E. Baumann, “A discontinuous hp-finite element method for diffusion problems”, J. Comput. Phys., 146:491-516, 1998. [12] B. Riviere and M. F. Wheeler, “Non conforming methods for transport with nonlinear reaction”, Contemporary Mathematics, 295:421-432, 2002. [13] B. Riviere, M. F. Wheeler, and V. Girault, “A priori error estimates for finite element methods based on discontinuous approximation spaces for elliptic problems”, SIAM J. Numer. Anal., 39(3):902-931, 2001. [14] J. Rubin, “Transport of reacting solutes in porous media: Relation between mathematical nature of problem formulation and chemical nature of reactions”, Water Resources Research, 19(5):1231-1252, 1983. [15] J. Rubin and R. V. James, “Dispersion-affected transport of reacting solutes in saturated porous media: Galerkin method applied to equilibriumcontrolled exchange in unidirectional steady water flow”, Water Resources Research, 9(5):1332-1356, 1973. [16] F. Saaf, “A study of reactive transport phenomena in porous media”, PhD thesis, Rice University, 1996. [17] J. V. Smith, R. W. Missen, and W. R. Smith, “General optimality criteria for multiphase multireaction chemical equilibrium”, AIChE Journal, 39(4):707710, 1993. [18] C. I. Steefel and P. Van Cappellen, Special issue: Reactive transport modeling of natural systems, Journal of Hydrology, 209(1-4):1-388, 1998. [19] S. Sun, “Discontinuous Galerkin methods for reactive transport in porous media”, PhD thesis, The University of Texas at Austin, 2003. [20] S. Sun, B. Riviere, and M. F. Wheeler, “A combined mixed finite element and discontinuous Galerkin method for miscible displacement problems in porous media”, In: Recent progress in computational and applied PDEs, 321-348, July 2001. [21] S. Sun and M. F. Wheeler, “L2(H1) norm a posteriori error estimation for discontinuous Galerkin approximations of reactive transport problems”, Journal of Scientific Computing, to appear. [22] S. Sun and M. F. Wheeler, “A posteriori error analyses for symmetric discontinuous Galerkin approximations of reactive transport problems”, TICAM report 03-19, Institute for Computational Engineering and Sciences, The University of Texas at Austin, Austin, Texas, 2003. [23] J. van der Lee and L. De Windt, “Present state and future directions of modeling of geochemistry in hydrogeological systems”, J. Contam. Hydrol., 47/2(4):265-282, 2000. [24] M. F. Wheeler and B. L. Darlow, “Interior penalty Galerkin procedures for miscible displacement problems in porous media”, In: Computational methods in nonlinear mechanics, 485-506. North-Holland, Amsterdam, 1980. [25] M. F. Wheeler, S. Sun, O. Eslinger, and B. Riviere, “Discontinuous Galerkin method for modeling flow and reactive transport in porous media”, In W. Wendland, editor, Analysis and Simulation of Multifield Problem, 3758, Springer Verlag, August 2003. [26] G. T. Yeh and V. S. Tripathi, “A model for simulating transport of reactive multispecies components: model development and demonstration”, Water Resources Research, 27(12):3075-3094, 1991.