Integrated Adaptive Numerical Methods for Transient Two-phase Flow in Heterogeneous Porous Media by Chih-Che Chueh B.Sc., National Cheng Kung University, 2002 M.Sc., National Taiwan University, 2004 A Thesis Submitted in Partial Fulfillment of the Requirements for the Degree of DOCTOR OF PHILOSOPHY in the Department of Mechanical Engineering c Chih-Che Chueh, 2010 University of Victoria All rights reserved. This thesis may not be reproduced in whole or in part, by photocopying or other means, without the permission of the author. ii Integrated Adaptive Numerical Methods for Transient Two-phase Flow in Heterogeneous Porous Media by Chih-Che Chueh B.Sc., National Cheng Kung University, 2002 M.Sc., National Taiwan University, 2004 Supervisory Committee Dr. Ned Djilali, Supervisor (Department of Mechanical Engineering, University of Victoria) Dr. Boualem Khouider, Outside Member (Department of Mathematics and Statistics, University of Victoria) Dr. David Sinton, Departmental Member (Department of Mechanical Engineering, University of Victoria) Dr. Afzal Suleman, Departmental Member (Department of Mechanical Engineering, University of Victoria) Dr. Wolfgang Bangerth, Additional Member (Department of Mathematics, Texas A&M University) Dr. Brian Wetton, External Examiner (Department of Mathematics, University of British Columbia) iii iv Supervisory Committee Dr. Ned Djilali, Supervisor (Department of Mechanical Engineering, University of Victoria) Dr. Boualem Khouider, Outside Member (Department of Mathematics and Statistics, University of Victoria) Dr. David Sinton, Departmental Member (Department of Mechanical Engineering, University of Victoria) Dr. Afzal Suleman, Departmental Member (Department of Mechanical Engineering, University of Victoria) Dr. Wolfgang Bangerth, Additional Member (Department of Mathematics, Texas A&M University) Dr. Brian Wetton, External Examiner (Department of Mathematics, University of British Columbia) ABSTRACT Transient multi-phase flow problems in porous media are ubiquitous in engineering and environmental systems and processes; examples include heat exchangers, reservoir simulation, environmental remediation, magma flow in the earth crust and water management in porous electrodes of PEM fuel cells. This thesis focuses on the development of accurate and computationally efficient numerical models to simulate such flows. The research challenges addressed in this work fall in two areas. For v a numerical standpoint, conventional numerical methods including Newton-Raphson linearization and a simple upwind scheme do not always provide the required computational efficiency or sufficiently accurate resolution of the flow field. From a modelling perspective, closure schemes required in volume-averaged formulations, such as the generalized Leverett J function for capillary pressure, are specific to certain media (e.g. lithologic media) and are not valid for fibrous porous media, which are of central interest in fuel cells. This thesis presents a set of algorithms that are integrated efficiently to achieve computations that are more than two orders of magnitude faster compared to traditional techniques. The method uses an adaptive operator splitting method based on an a posteriori criterion to separate the flow from the transport equations which eliminates unnecessary and costly solution of the implicit pressure-velocity term at every time step; adaptive meshing to reduce the size of the discretized problem; efficient block preconditioned solver techniques for fast solution of the discrete equations; and a recently developed artificial diffusion strategy to stabilize the numerical solution of the transport equation. The significant improvements in accuracy and efficiency of the approach is demosntrated using numerical experiments in 2D and 3D. The method is also extended to advection-dominated problems to specifically investigate two-phase flow in heterogeneous porous media involving capillary transport. Both hydrophilic and hydrophobic media are considered, and insights relevant to fuel cell electrodes are discussed. vi Contents Supervisory Committee ii Abstract iv Table of Contents vi List of Tables viii List of Figures ix Acknowledgements x Dedication xi 1 Introduction 1.1 Background and motivation . . . . . . . . . . . . . . . . . . . . . . . 1.2 Contributions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.3 Goal and structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 Physical and mathematical background 2.1 Basic definitions and concepts . . . . . . 2.2 Constitutive relationships . . . . . . . . 2.3 Two-phase flow governing equations . . . 2.4 Buckley-Leverett problem . . . . . . . . 2.5 Finite element method . . . . . . . . . . 2.6 Artificial diffusive stabilization . . . . . . 2.7 Adaptive mesh refinement . . . . . . . . 2.8 Operator splitting techniques . . . . . . 2.9 Iterative solution of linear systems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1 3 4 7 7 9 12 13 18 26 27 31 34 vii 3 Conclusions and future work 3.1 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2 Future work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 38 40 A Multi-level Adaptive Simulation of Transient Two-phase Flow in Heterogeneous Porous Media 42 B An H-adaptive Operator Splitting Method for Two-phase Flow in 3D Heterogeneous Porous Media 43 C Saturation and Permeability Gradient Effects in Two-phase Flows in Heterogeneous Porous Media 44 D Numerical Analysis of Transient Two-phase Flow in Hydrophobic Heterogeneous Porous Media 45 Bibliography 46 viii List of Tables ix List of Figures Figure 1.1 Examples of porous materials. (a) carbon fibers in diffusion media of PEM fuel cells. (b) a piece of slate in porous media of reservoir rocks. . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 Figure 2.1 Typical relative permeability curves . . . . . . . . . . . . . . . 11 Figure 2.2 Multiple-valued saturation profile adapted from Buckley and Leverett [1] and Wooding & Morel-Seytoux [2] . . . . . . . . . . . . 15 Figure 2.3 Variation of the wetting-phase fraction of the volumetric flow with respect to saturation. Top: the fractional flow of wetting phase Fw adapted from Wooding & Morel-Seytoux [2]; bottom: the first derivative of Fw with respect to Sw . . . . . . . . . . . 17 Figure 2.4 One dimensional Lagrange linear element and associated basis functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 Figure 2.5 One dimensional Lagrange quadratic element and associated basis functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 Figure 2.6 Illustration of two dimensional Lagrange bi-linear mapping . . . 25 Figure 2.7 Comparison of finite element method between discontinuous Galerkin space and continuous Lagrange space. (see Appendix A or Chueh et al. [3] for further details) . . . . . . . . . . . . . . . . . . . . 26 Figure 2.8 Refinement and coarsening bounds for the absolute-value method 32 Figure 2.9 Illustration of time operator splitting of the general form of a convection-diffusion equation in a reactive system (C: a scalar variable; ν: a diffusion coefficient; u: a velocity vector; Sr : a reactive source term) . . . . . . . . . . . . . . . . . . . . . . . . 34 Nomenclature ut uw u nw ε µw µ nw F S S irr p λt λw λnw Γ x ψ K total velocity vector, m/s wetting-phase velocity vector, m/s nonwetting-phase velocity vector, m/s porosity, - wetting-phase viscosity, kgm-1s-1 nonwetting-phase viscosity, kgm-1s-1 fractional flow of wetting phase, saturation, - immobile or irreducible saturation, non-wetting phase pressure, N/m2 total mobility , kg-1ms wetting-phase mobility, kg-1ms wetting-phase mobility, kg-1ms computational boundary, position, m random permeability function, m2 permeability tensor, m2 I N q Ω ∂Ω v w β α cR θ* σc θc J γm Bw second-order unit matrix, - number of high permeability centers, source term, s-1 computational domain, - computational boundary, test function for velocity, - test function for saturation or pressure, stabilization constant, - stabilization exponent, - normalization constant, - threshold of adaptive operator splitting, surface tension, kg s-1 contact angle, - Leverett-J function, - Permeability magnitude scaling factor, Band width, - x ACKNOWLEDGEMENTS This dissertation would not have been possible without the support of four people. I wish to express my gratitude to my main supervisor, Dr. Ned Djilali, who was abundantly helpful and offered invaluable assistance, support and guidance, and offered enough funding for me to perform my research during my PhD program. In addition, I want to give a special thank to Dr. Wolfgang Bangerth (Texas A&M University) for providing timely and instructive comments, important inputs and constructive suggestions. Next, I wish to thank Dr. Chien-Cheng Chang (National Taiwan University) and Dr. Maw-Ji Chao (Chung-Shan Institute of Science and Technology) for strictly training me to have a solid grounding in the expertise of applied mathematics during my Master program. Next, thanks are due to Dr. Tao Tang (Hong Kong Baptist University) for kindly inviting me to regularly submitting my future papers to the Journal Communications in Computational Physics, to Dr. Zhangxin Chen (University of Calgary) for his invaluable insights on finite element theory, and to Dr. Sergey Mashchenko (McMaster University) for installing the relevant libraries. Finally, deepest gratitudes are also due to one member of the supervisory committee, Dr. Boualem Khouider; his course in applied mathematics motivated me to work in this challenging area, and helped to set a solid foundation for further understanding of the subject. Special thanks also to all my friends, especially group members; Jay Sui, TeChun Wu, Kyle Lange, Chin-Hsien Cheng, Jingwei Hu, Viatcheslav Berejnov, Boris Chernyavsky, Marc Secanell, Carlos Escobedo, Peyman Taheri, Naser Yasrebi, Erik Kjeang and Aimy Bazylak for sharing with me your enthusiasm for research and all your expertise. Last but importantly, I wish to express my thanks to my dear wife, Mrs. HsiaoYun Janette Cheng, for helping me with graphics and constantly giving me strength to finish my thesis, and to my parents, Mr. Ching-Mu Chueh and Mrs. Yueh-Chin Lin, for giving me opportunities and encouragement to learn. Without their support, the thesis would never have been completed. xi DEDICATION To my family Chapter 1 Introduction 1.1 Background and motivation Flow processes in porous media play a decisive role in human civilization and industrial applications. A theme of topical interest, for example, is the issue of water management in diffusion media (porous media) of proton exchange membrane (PEM) fuel cells. As PEM fuel cells operate, excess water, produced by electrochemical reactions, accumulates inside their diffusion media (See Figure 1.1a) and, as a result, prevents gas reactants from reaching reaction sites called catalyst layers, resulting in a significant decrease in cell performance. Therefore, the design of diffusion media to facilitate water transport is very important. Before the design, a clear understanding of the relevant flow processes of the water and gas mixture (e.g. air) in porous media is necessary. Numerical simulations of two-phase flow processes which consider porous material properties can help engineers provide a correct prognosis of the reliability or applicability of the different materials of diffusion media. Another important issue is reservoir simulations. The primary objective of a reservoir study is to predict the future performance of a reservoir and find ways and means of increasing the ultimate oil recovery or production in complex geological environments (see Figure 1.1b). Reservoir simulation technology is constantly improved and enhanced. New models to simulate more complex recovery schemes are being proposed all the time. A thorough understanding of the techniques used for black-oil models is essential in order to develop some appreciation for more complex models. These examples cover only a small part of the wide field of multi-phase flow processes. There are numerous applications and special cases that must be dealt 2 Figure 1.1: Examples of porous materials. (a) carbon fibers in diffusion media of PEM fuel cells. (b) a piece of slate in porous media of reservoir rocks. with. Certain aspects, however, can be found in a large number of problems. In the following, three of these aspects are explained further. The first one is the so-called sharp concentration or saturation profiles. These take place when diffusive effects play only a negligible role and there is an abrupt transition between a region completely filled with one fluid (e.g. water) and another region completely saturated with another fluid (e.g. oil). Sharp fronts create a difficult problem for a numerical scheme to solve. The difficulties lie not only in the choice of a sufficiently small element-size resolution, but also in the choice of a suitable discretization technique. This is because the numerical solutions for problems involving sharp fronts tend to show unphysical oscillations or display incorrect profiles if incorrect methods are used. The second aspect involves heterogeneities, i.e. heterogeneous porous media, and specific physical properties of a particular porous material. They greatly influence the flow processes because they affect the spatiotemporal flow behaviors and therefore the mass distribution of phases in a system. This is found not only in PEM fuel cells but also in many civil engineering applications where there is a large number of problems involving heterogeneity. The third aspect is how to increase the computational efficiency for the pressurevelocity part in multi-phase flow processes in porous media. In the most simulations, the bulk of the computational time is spent on the implicit calculation of the pressure. In fact, according to actual test simulations without an appropriate preconditioner 3 for solving linear systems, the computation of the pressure can be more than 99 percent of the total computational load. Therefore, in order to improve the computational efficiency of numerical methods, the cost of the pressure calculation must be substantially reduced. The aspects mentioned above increase the complexity of two-phase flow problems. Especially for real world problems (i.e. not just academic problems), it is not only important to get correct numerical results as a basis for predictions, but also to get results as fast as possible. Based on what has been mentioned, the objective of this thesis is to integrate state-of-the-art numerical methods and establish an efficient, correct framework from which more complicated models in the field of multi-phase flow in porous media can develop. Specifically, this work aims to integrate four numerical methods: a powerful diffusive stabilization for damping unphysical oscillations, adaptive mesh refinement (AMR) for identifying regions of higher importance while areas of lower importance are treated with lower computational resolution, adaptive operator splitting to avoid solving the computationally expensive pressure term at every saturation time step, as well as an efficient preconditioner for solving linear systems. This combination of approaches makes it more practical to perform 2D/3D simulations that would enhance the applicability of the integrated methods described herein to a broader range of multi-phase transport problems of practical interest. 1.2 Contributions The main contributions of this work are located in the areas of numerical methods and modelling of transient two-phase transport problems in porous media. In the area of numerical analysis, this work contributes to the literature by the following: 1. introducing Guermond and Pasquetti’s diffusive stabilization (see Appendix A for details) to the field of multi-phase flow in porous media and successfully validating for the first time that it can work together correctly with the implicit pressure and explicit saturation (IMPES) finite element method and AMR and with no upwinding. 2. developing an adaptive operator splitting with an a posteriori criterion instead of a fixed operator splitting (see Appendix B for details) and at the same time providing not only theoretical numerical analysis but also, most importantly, proofs. 4 3. introducing an existing, fast algorithm for block matrix preconditioning (see Appendix B for details) to solve linear systems. 4. integrating all the previously-mentioned state-of-the-art techniques in order to increase the computational efficiency and enhance the numerical accuracy. 5. making the implementation based on deal.II (one Open Source finite element software written in C++) available as part of this library’s tutorial so that it becomes an effective framework from which more complicated models for multiphase problems in porous media will develop in the future. In the area of physical modelling, this work corrects a misunderstanding: some people in the community of multi-phase fuel cell modelling underestimate the ability of the multi-phase mixture approach (MMA) to accurately capture spatiotemporal transport phenomena since they thought that MMA could not account properly for mass and momentum transfer across phase boundaries. But, in reality, this problem is caused by a numerical issue (see Appendix C and D for details), rather than the MMA itself. Second, in this work, with Guermond and Pasquetti’s stabilization, the issue of sharp fronts stemming from an advection term in the MMA formulation is able to be resolved without causing any unphysical oscillations. Therefore, in this work, the numerical issue is no longer a problem in MMA. Third, to the best of our knowledge, there has been no paper dealing with the permeability gradient effect which affects capillary transport. However, this effect would be one of the necessary conditions to pursue the direction in trying to simulate realistic physical transport phenomena in porous media (see Appendix C and D for details). 1.3 Goal and structure This thesis is organized into three chapters providing the background and an overview of the methodology and contributions, followed by four appendices consisting of journal paper manuscripts that have been published (Appendix A), submitted (Appendix B), and prepared for submission (Appendices C and D) Chapter 2: This chapter gives an overview of the basic mathematical and physical background for two-phase flow in porous media. Additionally, the rationale be- 5 hind forming jump conditions caused by the fluid advection mechanism is described theoretically. Finally, the representative comparison between discontinuous Galerkin (DG) and continuous finite elements is shown for readers to easily recognize a subtle difference. Chapter 3: Finally, Chapter 3 presents some final conclusions and possible avenues for future research. Appendix A: The goal of the first piece of this work is to ensure that Guermond and Pasquetti’s diffusive stabilization can work correctly together with AMR and IMPES, increasing the accuracy of representative simulations. In fact, the present numerical results are essential in agreement with those that use a DG space for pressure and saturation, and a Raviart-Thomas space for a vector variable (i.e. velocity). Appendix B: The goal of the second piece of this work is to focus more on improving the computational efficiency by incorporating an adaptive operator splitting method for splitting the computationally expensive pressure from saturation and an existing, fast algorithm for block matrix preconditioning to efficiently solve linear systems. Most importantly, theoretical numerical analysis as well as proofs are given with a newly developed indicator function to adaptively determine whether to solve the pressure-velocity part in each saturation time step. Finally, 2D/3D results presented in this appendix are validated numerically. Appendix C: The previous basic advection-dominated model is extended into one which considers immobile or irreducible saturation and capillary transport in hydrophilic porous media. The detailed physical interpretations behind two-phase mixture formulae are described. In addition, this is the first time that the permeability gradient effect on capillary transport is included in the modelling of two-phase flow in porous media. Appendix D: Formulation of a two-phase transport problem in hydrophobic media is considered in order to simulate two-phase flow transport phenomena in diffusion media of PEM fuel cells. The model which uses a standard Leverett J function is compared to that which employs another newly validated Leverett J function for PEMFC diffusion media. More importantly, the main goal of this piece of the work is to correct a faulty statement in the field of multi-phase fuel cell modelling that the MMA does not have the ability to account properly for mass and momentum transfer across phase boundaries compared to the multi-fluid fuel cell model. The manuscripts in the above Appendices stem from research done entirely by the author, who was also responsible for the first draft of each of the manuscripts. The co- 6 authors contributed to setting research directions (ND), guidance in methodology and implementation (ND, WB), initial guidance in use of deal.II library (MS), guidance in interpretation and analysis of results, and technical and editorial input for the draft manuscripts (ND, WB). 7 Chapter 2 Physical and mathematical background 2.1 Basic definitions and concepts Averaging process A wide range of materials can be considered as porous media. Among them are, for example, synthetic forms (used as impact absorbers in cars) and bone materials. The porous material that will be considered in this thesis, however, is the gas diffusion layer (GDL) in PEM fuel cells [4, 5]. The GDL, which is about 200 micrometers thick, consists of carbon fibers and PTFE, a hydrophobic material which coats the carbon fibers. The function of the PTFE coating is to prevent the accumulation of liquid water in the GDLs. The gas diffusion layer (porous media) provides pathways for gaseous reactants to reach the catalysts. However, when PEM fuel cells are in operation, water is produced by the electrochemical reactions. This water can accumulate inside the gas diffusion layer, hindering the effective reactant transport and leading to a significant drop in cell performance. All porous media (both compressible and incompressible) are composed of a solid material and void spaces. These spaces are also called pores. Due to heterogeneity of the porous media, it is impossible or difficult to completely describe the geometry of the pores. Therefore, porous media flow models often consist in a continuum approach. Here, the properties on the microscale are averaged over a representative elementary volume (REV) [6], which represents the macroscale (≥ 10−6 m) in this thesis. The discontinuities that are present on the microscale are now smeared and no longer recognizable. This averaging process creates a new set of physical quantities, 8 which are only available at the macroscopic level, such as the saturation and porosity. These physical quantities will be introduced in the following. The difficulties arising from the continuum approach lie in the choice of the size of a REV: if the selected REV is too large, process-related discontinuities may also be smeared and the simulation results may therefore give a faulty picture of the actual circumstances. Fluid wettability: When a two-phase flow in porous media is considered, the fluids cannot only be distinguished by their specific fluid properties such as density and viscosity. They also differ in their contact angle. The contact angle θc is the angle at which a liquid/vapor interface meets a solid surface and that varies between 0◦ and 180◦ . The contact angle represents the degree of the wettability of the porous media (θc < 90◦ for hydrophilic media and θc > 90◦ for hydrophobic media). In the case of the fluids considered in hydrophobic porous media, liquid water represents the non-wetting phase and is marked by nw. The wetting phase is comprised by a gas mixture (i.e. air) and is marked by w. Porosity: The porosity of a porous medium is defined as the fraction of the total volume of the medium that is occupied by void space: = volume of the pore space volume of the REV (2.1) And therefore 1 − is the fraction that is occupied by the solid. Saturation: For two (immiscible) fluids, each one shares the pore space with the other. Although the exact location of the fluid particles is no longer known due to the averaging process, how much of the pore space in a REV is filled with a certain phase is still of interest. This is described by the saturation of phase j(Sj ): Sj = volume of fluid j within REV volume of the pore space within the REV (2.2) It is assumed that the fluid phases fill the pore space completely so the sum of the different saturations must be unity: X Sj = Sw + Snw = 1 (2.3) j Mass-averaged velocities: For a single-phase flow, the mass-averaged velocity 9 of a fluid in a porous medium is usually governed by Darcy’s Law: 1 u = − K (∇p − ρg) µ (2.4) where µ is the viscosity, K is the tensor of absolute permeability, p is the pressure, and g is the vector of gravitational acceleration ((0, 0, −g)T in three dimensions). This Darcy’s Law is derived from an experimental point of view: it describes the amount of fluid which flows over the whole cross-section of the domain. So, based on this mass-averaged velocity, it is assumed that the fluid flow is not restricted to the pores of a porous medium alone but uses the entire area. Of course, in reality, the flow only takes place in the pores, so the same amount of fluid has to flow through a much smaller area with a much higher velocity. For an extension to multi-phase flow in porous media (see Scheidegger [7] and Helmig [8]), we have 1 Kj (∇pj − ρj g) µj krj = − K (∇pj − ρj g) µj uj = − = −λj K (∇pj − ρj g) (2.5) (2.6) (2.7) where uj is called the phase j velocity, j represents the subscript for the different phases w and nw, krj is the relative permeability for each phase and will be described in the following, K is the absolute permeability, while pj and ρj are the pressure and density for each phase. The ratio krj /µj is also called the mobility λj . 2.2 Constitutive relationships Capillary pressure: The interface between a wetting and a non-wetting phase is always curved. Due to equilibrium constraints, the pressure of the non-wetting phase has to be larger at the interface than that of the wetting one. The difference between those two pressures is called the capillary pressure pc : pc = pnw − pw (2.8) 10 In fact, from a microscopic point of view, the capillary pressure depends on the interfacial tension and the pore radius (see, for example, Lister and Djilali [9] and Helmig [8]). The smaller the pore radius, the larger the capillary pressure. This indicates that, in the case of a wetting-phase drainage process, the wetting fluid in larger pores drains more easily than the wetting fluid contained in smaller pores. The amount of entrapped wetting phase fluid is called the residual or irreducible saturation of wetting phase (Swirr ). In analogy to the residual saturation of the wetting phase, a residual saturation of the non-wetting phase can also exist. This means that, if the porous medium is filled mostly with a wetting fluid, small entrapped non-wetting phase bubbles or drops still exist that will not vanish. In order to describe the behavior of different residual saturations, the effective saturation Se is introduced: Se = Sw − Swirr 1 − Swirr − Snwirr (2.9) In this thesis, Snwirr is set to zero. The effective saturation can be correlated with the capillary pressure, based on the fact that as the saturation of the wetting-phase decreases, the capillary pressure increases. By convention, this function is mostly expressed in Sw rather than Se . In the literature, there are various empirical approaches of the pc (Sw ) function. The simplest one is to assume a linear dependence [10]: pc (Sw ) = (pc )max 1 − Sw − Swirr 1 − Swirr − Snwirr (2.10) where (pc )max represents the maximum capillary pressure when Swirr = 0. A more sophisticated approach is the one after Leverett [11, 12]: pc = σc cos (θc ) J (Se ) k 1/2 (2.11) where σc is the surface tension and k is the absolute permeability. This approach has been used widely for numerical modelling in the community of PEM fuel cells, even though it is not of general applicability since the J-function originates from specific lithologic-type porous media [13]. Relative permeability Underlying the extension of the motion equation of a 11 single fluid to the simultaneous flow of two or more fluids is the concept of relative permeability. The relative permeability kr represents another important physical quantity for multi-phase flow in porous media. At first sight, it is reasonable to assume that when the flow of one of the fluids at an area is being considered, since part of the pore space in the vicinity of that area is occupied by another fluid, the permeability of the porous medium would be reduced with respect to the fluid considered. This implies that the relative permeability depends only on the saturation. In fact, it describes to what extent the presence of one fluid affects the flow behavior of another fluid. This effect is due to interaction forces as well as a change of possible flow pathways. Figure 2.1: Typical relative permeability curves Figure 2.1 shows typical relative permeability curves for a pair of fluids. The rapid decline in krw indicates that the larger pores are occupied first by the nonwetting phase. As Snw increases, the average pore size saturated by the wetting fluid becomes progressively smaller. This is demonstrated by a rapid rise in krnw . In other words, when the non-wetting saturation increases beyond its residual saturation, the non-wetting fluid occupies larger pores than does the wetting one. So, if one phase fills out the available pore size completely (irrespective of the residual saturation of the other phase), the relative permeability for this phase is 1. On the other hand, if a phase is only present in residual saturation and therefore remains immobile, the relative permeability is zero. 12 As it is impossible to describe the complex pore geometry precisely, the relationship between the relative permeability and saturation can only be described quantitatively. In this thesis, the relative permeability is determined using the commonly used relationships [14]: krw = Sen (2.12) n krnw = (1 − Se ) (2.13) where n = 2 is used in Appendices A and B whereas n = 3 in Appendices C and D. 2.3 Two-phase flow governing equations The governing equations for the flow of two immiscible fluid phases in porous media are given by the conservation of mass ∂ (ρw Sw ) + ∇ · (ρw uw ) = ρw qw ∂t ∂ (ρnw Snw ) + ∇ · (ρnw unw ) = ρnw qnw ∂t (2.14) (2.15) and the conservation of momentum in terms of Darcy’s Law krw K∇pw = −λw K∇pw µw (2.16) krnw K∇pnw = −λnw K∇pnw µnw (2.17) uw = − unw = − In the community of PEM fuel cells, the set of equations is called a multi-fluid model (e.g. Lister and Djilali [9]). The four equations above, however, cannot evaluate the six variables (i.e. Sw , Snw , uw , unw , pw , pnw ) that must be solved. The situation is resolved completely by two supplementary equations: Sw + Snw = 1 (2.18) and pc = pnw − pw (2.19) With the use of these relations, two of the four unknowns (i.e. Sw , Snw , pw , pnw ) can 13 be eliminated. After a sophisticated mathematical derivation (See Appendix C for details), the equations (2.14), (2.15), (2.16), (2.17), (2.18), and (2.19) are rearranged into another set of equations: ut = −λt K∇pw − λnw K∇pc (2.20) ∇ · ut = qw + qnw (2.21) ∂Sw + ∇ · (Fw ut ) + ∇ · (λnw Fw K∇pc ) = qw ∂t (2.22) where the total mobility λt , fractional flow of the wetting phase Fw and total velocity ut 1 are respectively defined by krw krnw + µw µnw krw /µw = krw /µw + krnw /µnw λt = λw + λnw = Fw = λw λw = λt λw + λnw ut = uw + unw (2.23) (2.24) (2.25) In the community of PEM fuel cells, this set of equations is called a mixture model (e.g. Lister and Djilali [9]). 2.4 Buckley-Leverett problem When the advective (hyperbolic) term in equation (2.22) is dominant, its approximation is a main problem when discretizing the two-phase flow equations. In order to explain the problem arisening here, we have to take a look at a special case of two-phase flow: the Buckley-Leverett problem. Here, capillary effects are neglected, which indicates that there is no pressure difference existing on the interface of two fluids (i.e., pw = pnw ). Also, sources and sinks are omitted. For a quasi-linear system, this leads to the following equation (Buckley and Leverett [1]): 1 dFw ∂Sw ∂Sw + ut =0 ∂t dSw ∂x (2.26) in this thesis ut denotes the total velocity; the notation of the first derivative of velocity with respect to time is simply represented by ∂u ∂t . 14 This is a quasi-linear first order partial differential equation, which can be treated by a numerical method or by the method of characteristics. The total derivative of Sw (x, t) with respect to time is: ∂Sw dx ∂Sw DSw = + Dt ∂x dt ∂t (2.27) If x = x(t) is chosen to coincide with an advancing surface of fixed Sw , then on such advancing surface we have: DSw =0 (2.28) Dt After a combination of equations (2.27) and (2.28), one equation is obtained as follows: ∂Sw dx ∂t |S = − ∂S w dt w ∂x (2.29) Physically, the above equation is equivalent to a velocity (i.e. uF = dx/dt) at which the front of a given Sw is advancing. It is noted that uF represents the velocity of saturation fronts along a fixed Sw propagation rather than the total velocity of fluid particles moving ut . By combining (2.26) and (2.29), we have: uF = dx ut dFw |Sw = dt dSw (2.30) Therefore, the partial differential equation (2.26) has been replaced by two ordinary differential equations (2.28) and (2.30) which are called the Buckley-Leverett equations. By integrating (2.30) with respect to time, we obtain: x|Sw (t) − x|Sw (0) = dFw U (t) − U (0) dSw A (2.31) where x|Sw (t) and x|Sw (0) are the coordinates x of a plane at which a specified saturation Sw exists at times t and 0. A is a cross-section area and U (t) is the cumulative total volume passed through the system at a time t and is defined as Z U (t) = t ut (t)Adt (2.32) 0 The complication with the Buckley-Leverett approach lies in the fact that equation 15 Figure 2.2: Multiple-valued saturation profile adapted from Buckley and Leverett [1] and Wooding & Morel-Seytoux [2] (2.31) leads to a profile that is multiple-valued in Sw as a function of x (see the blue dotted line in Figure 2.2), requiring the introduction of a discontinuity or front (see the black dotted line in Figure 2.2). Buckley and Leverett [1] explained the reason as to why their model failed to express the correct profile and the need for correction by a front: the new computed curve is S-shaped and is triple-valued between Sw ≈ 7 and Sw ≈ 22. So, as a front shape with such multiple saturation values is physically meaningless, the correct saturation profile can be ensured by fulfilling two conditions (Lake [15] and Helmig [8]): a jump condition (Rankine Hugoniot) and an entropy condition. Jump condition: As mentioned previously, the front velocity uF in equation (2.30) is proportional to dFw /dsw . In order to satisfy the continuity equation at a saturation jump, the front velocity must satisfy the following condition (Helmig [8]): (uF )∆Sw ∆Fw Fw (Swu ) − Fw (Swd ) = = Swu − Swd ∆Sw (2.33) where Swu represents the upstream while Swd stands for the downstream wetting phase saturation of the shock. This means that the velocity at which the front travels is proportional to the slope of Fw with respect to Sw . 16 Equation (2.33) tells us that the specific front velocity has to correspond to the physical process in order to fulfill the continuity condition at the jump. This condition, however, does not guarantee that one physical position corresponds to only one physical saturation (i.e. multiple values). For example, in Figure 2.2, the blue solid line produces more than one saturation value over a portion of its length, although it satisfies the continuity equation (the areas of A and B are the same: mass is distributed equally). This can be fixed by the next condition. Entropy condition: The saturation jump must fulfill the entropy condition (LeVeque [16]): Fw (Sw ) − Fw (Swu ) Fw (Sw ) − Fw (Swd ) shock ≤u ≤ Sw − Swd Sw − Swu (2.34) This is valid for all Sw between Swu and Swd . Interpreted physically, the upstream velocity uuF of the shock always has to be larger than the downstream velocity udF . For example, in Figure 2.3, in the case of µw /µnw = 0.1, the front will only be correct for saturations which are larger than an inflection value (i.e., d2 Fw /dSw2 = 0) roughly at Sw = 0.2. More precisely, in a physically correct flow, Sw decreases monotonically with x (x = 0 is the location of injection of the wetting phase). Then, the front velocity uF is expected to decrease as Sw increases such that the higher saturations are always behind the lower saturations. For this to happen, we need d2 Fw /dSw2 < 0 so that uF and dFw /dSw (uF ∝ dFw /dSw ) decrease with respect to Sw . Therefore, in the case of µw /µnw = 0.1 (see Figure 2.3), for approximately 0.0 ≤ Sw ≤ 0.2 where d2 Fw /dSw2 > 0, there is no solution with a physical shock that satisfies the entropy condition. In addition to what has been mentioned above, there is one more interesting thing in Figure 2.3. As the viscosity ratio (µw /µnw ) increases, the inflection point (i.e. d2 Fw /dSw2 = 0) gradually shifts to the right. This means that the area of d2 Fw /dSw2 > 0 becomes larger and larger as the viscosity ratio rises. For example, in the case of µw /µnw = 10.0, the stable region ranges from approximately 0.8 to 0.1 while, in the case of µw /µnw = 0.1, the stable region lies between about 0.2 and 1.0. The physical representation of this is that when the viscosity ratio is much larger or smaller than one, the particles of one fluid are advancing at velocities much higher than those of the other fluid, resulting in a special phenomenon called interface instability or fingering [6]. If capillary effects dominate over convection, the entropy condition is fulfilled (Helmig [17]). However, if the capillary (diffusion) term approaches to zero, the 17 Figure 2.3: Variation of the wetting-phase fraction of the volumetric flow with respect to saturation. Top: the fractional flow of wetting phase Fw adapted from Wooding & Morel-Seytoux [2]; bottom: the first derivative of Fw with respect to Sw 18 discretization method has to introduce enough numerical diffusion in order to make sure that the entropy condition is satisfied. 2.5 Finite element method The purpose of this section is to briefly illustrate the basic ideas about the finite element method (FEM). Therefore, the section is neither exhaustive nor complete. Readers are referred to the existing literature for a comprehensive presentation (e.g. Hirsch [18], Zienkiewicz et al. [19], Ern and Guermond [20], and Chen [21]). It is assumed that the reader is familiar with a few mathematical terms: function orthogonality, Galerkin’s method, weak form formulation, basis function, method of variation, spectral method, collocation method, spline interpolation method, Legendre polynomials, Lagrange polynomials, Chebyshev polynomials, and so on. More information on these concepts can be found in the literature (e.g. Golub and Ortega [22]). Galerkin’s method: Before going into the finite element method, we introduce Galerkin’s method, which forms the basis of the modern finite element method. In mathematics, in the area of numerical analysis, Galerkin methods are a class of methods for converting a continuous operator problem (such as a differential equation) to a discrete problem. In principle, it is the equivalent of applying the method of variation [23] to a function space, by converting the equation to a weak formulation. Typically one then applies some constraints on the function space to characterize the space with a finite set of basis functions. Often when using a Galerkin method, one also gives the name along with typical approximation methods used, such as the Petrov-Galerkin method or the Ritz-Galerkin method [20]. We will illustrate the general idea about Galerkin’s method with the linear twopoint boundary-value problem v”(x) + q(x)v = f (x), 0 ≤ x ≤ 1, (2.35) with its two boundary conditions v(0) = 0, v(1) = 0, where, for simplicity, the interval has been taken to be [0, 1]. (2.36) 19 Suppose that one looks for an approximate solution of (2.35), (2.36) of the form u(x) = n X cj φj (x), (2.37) j=1 where the basis functions φj , which properties will be described later, satisfy the boundary conditions: φj (0) = φj (1) = 0, j = 1, . . . , n. (2.38) Then, to obtain the approximate solution, we need to determine the coefficients c1 , . . . , cn in (2.37). One of the approaches to do so is Galerkin’s method and consists in the concept of the orthogonality of functions. Two vectors f and g are said to be orthogonal if their inner product satisfies T (f , g) ≡ f g = n X fj gj = 0 (2.39) j=1 Now suppose that the components of the vectors f and g are the values of two functions f and g at n equally spaced grid points in the interval [0, 1]; that is, f = (f (h), f (2h), . . . , f (nh)), (2.40) g = (g(h), g(2h), . . . , g(nh)), (2.41) where h = (n + 1)−1 is the grid-point spacing. The orthogonality relation (2.39) becomes n X f (jh)g(jh) = 0, (2.42) j=1 and this relation remains unchanged if we multiply by h: h n X f (jh)g(jh) = 0. (2.43) j=1 Now, let n → ∞ (or, equivalently, let h → 0). Then, assuming that the functions f and g are integrable, the sum in (2.43) will tend to the integral: Z 1 f (x)g(x)dx = 0. 0 (2.44) 20 With this motivation, we define functions f and g to be orthogonal on the interval [0, 1] if the relation (2.44) holds. The rationale for the Galerkin’s approach is as follows. Let the residual function for u(x) be defined by r(x) = u”(x) + q(x)u(x) − f (x), 0 ≤ x ≤ 1. (2.45) If u(x) were the exact solution of (2.35), then the residual function would be identically zero. Obviously, the residual would then be orthogonal to every function, and, in particular, it would be orthogonal to the set of basis functions. However, we cannot expect u(x) to be the exact solution because we restrict u(x) to be a linear combination of the basis functions. The Galerkin criterion is to choose u(x) so that its residual is orthogonal to all of the basis functions φ1 , . . . , φn : Z 1 [u”(x) + q(x)u(x) − f (x)] φi (x)dx = 0, i = 1, . . . , n. (2.46) 0 If we put (2.37) into (2.46) and interchange the summation and integration, we have n X j=1 Z cj 1 Z 1 f (x)φi (x)dx, [φj ”(x) + q(x)φj (x)] φi (x)dx = i = 1, . . . , n. (2.47) 0 0 This is a system of n linear equations in the n unknowns c1 , . . . , cn . The computational problem is to first evaluate the coefficients Z aij = 1 [φj ”(x) + q(x)φj (x)] φi (x)dx (2.48) 0 and Z fi = 1 f (x)φi (x)dx (2.49) 0 If we integrate the first term in this integral by parts, Z 1 φj ”(x)φi (x)dx = 0 φ0j (x)φi (x)|10 Z − 1 φ0j (x)φ0i (x)dx (2.50) 0 and note that the first term vanishes because φi is zero at the end points, we can 21 re-write aij as Z aij = − 1 φ0j (x)φ0i (x)dx Z + 0 1 q(x)φj (x)φi (x)dx (2.51) 0 Thus, the system of equations to solve for coefficients c1 , . . . , cn in Galerkin’s method is Ac = f , with the elements of A given by (2.51) and those of f by (2.49). Finite element definition of basis functions: As mentioned before, the field variables are approximated by a linear combination of known basis functions: u(x) = n X cj φj (x), (2.52) j=1 where the summation extends over all nodes j. Hence one basis function is attached to each nodal value or degree of freedom. These functions φj (x) can be quite general, with varying degrees of continuity at the inter-element boundaries. On the one hand, methods based on defining the basis functions on the whole domain, such as trigonometric functions leading to Fourier series, are used in collocation and spectral methods, where the functions φj (x) can be defined as orthogonal polynomials of Legendre, Chebyshev or similar types. Other possible choices are spline functions for φj (x), leading to spline interpolation methods. In these cases, the coefficients cj are obtained from the expansions in series of the basis functions. On the other hand, in standard finite element methods, the basis functions are chosen to be locally defined polynomials within each element, being zero outside the considered element. In addition, the coefficients cj are the unknown nodal values of the variables u. As a result, the local basis functions satisfy the following conditions on each element (e), with j being a node of (e): (e) • φj (x) = 0 if x doesn’t lie in element (e). • u(xj ) = cj since cj are the values of the unknowns at node number j. (e) • φj (xi ) = δij , where δij is the Kronecker delta, for any point xi . • P (e) φj (x) = 1 for all x ∈ (e) to represent exactly a constant function u(x) = constant. j (e) The global basis function φj is obtained by assembling the contributions φj of all the elements to which node j belongs. The above condition connects the various basis 22 functions within an element and the allowed polynomials will be highly dependent on the number of nodes within each element. Lagrange basis polynomials: In this work, the most commonly used Lagrange basis polynomials are adopted for basis functions. The Lagrange basis polynomials φj (ξ) are defined as follows: k Y ξ − ξ1 ξ − ξj−1 ξ − ξj+1 ξ − ξk ξ − ξf = ... ... , φj (ξ) = ξj − ξf ξj − ξ1 ξj − ξj−1 ξj − ξj+1 ξj − ξk f =1,f 6=j (2.53) where ξ is a scalar variable. When we expand the product (2.53), there are two properties fulfilling the conditions for finite element basis functions mentioned before. The first one is that all the terms (ξi − ξf )/(ξj − ξf ) are equal to one if i = j because the product skips f = j. The second one is that, if i 6= j, since f 6= j doesn’t preclude it, one term in the product will be for f = i zero, making the entire product be zero. Therefore, based on the above two observations, we have ( φj (ξi ) = 1, if j = i 0, if j 6= i (2.54) 1D linear Lagrange element: The simplest element has a piecewise linear basis function and contains two nodes in Figure 2.4. Since the basis functions on each element are locally defined Lagrange polynomials, the universal form through a mapping from (xi−1 , xi ) to the ξ-space (0, 1) is taken in terms of (2.53). ξ−1 ξ − ξ2 = =1−ξ ξ1 − ξ2 0−1 ξ − ξ1 ξ−0 φ2 (ξ) = = =ξ ξ2 − ξ1 1−0 φ1 (ξ) = (2.55) (2.56) P (e) and the condition j φj (ξ) = 1 is easily verified. Since any linear function is represented exactly on the element, the linear mapping ξ(x) or x(ξ) is expressed as a function of the linear basis functions (2.55), (2.56). Thus, we obtain 2 X x(ξ) = xj φj (ξ) (2.57) j=1 1D quadratic Lagrange element: On an element with three nodes (i − 1, i, i + 1) (Figure 2.5), the basis functions will be second-order polynomials, enabling the 23 Figure 2.4: One dimensional Lagrange linear element and associated basis functions Figure 2.5: One dimensional Lagrange quadratic element and associated basis functions 24 exact representation of quadratic functions on the element. Since a mapping from (xi−1 , xi , xi+1 ) to the ξ-space (−1, 0, 1) is defined through a quadratic function ξ = ξ(x), the three basis functions are derived in terms of (2.53) ξ−0 ξ−1 ξ − ξ2 ξ − ξ3 = · = −0.5ξ(1 − ξ) ξ1 − ξ2 ξ1 − ξ3 −1 − 0 −1 − 1 ξ − ξ1 ξ − ξ3 ξ − (−1) ξ − 1 φ2 (ξ) = = · = (1 − ξ 2 ) ξ2 − ξ1 ξ2 − ξ3 0 − (−1) 0 − 1 ξ − ξ1 ξ − ξ2 ξ − (−1) ξ − 0 φ3 (ξ) = = · = 0.5ξ(1 + ξ) ξ3 − ξ1 ξ3 − ξ2 1 − (−1) 1 − 0 (2.58) φ1 (ξ) = (2.59) (2.60) P (e) and again the condition j φj (ξ) = 1 is easily verified. The general mapping between x and ξ is quadratic, and, since any quadratic function ξ(x) on an element can be written as a linear combination of the basis function φj (j = 1, 2, 3), the following mapping can be defined: 3 X x(ξ) = xj φj (ξ) (2.61) j=1 where the summation 1, 2, 3 corresponds to nodes (i−1, i, i+1) and the basis functions φj are given by equations (2.58), (2.59), (2.60). 2D linear Lagrange element: Since two dimensions are considered, we have one linear Lagrange basis function in each direction (i.e. x and y correspond to ξ and η, respectively) to form a bi-linear quadrilateral element (see Figure 2.6). Therefore, since a mapping from the 2D physical coordinates to the ξ-η-space (1, 1), (1, −1), (−1, −1), (−1, 1) is defined through two functions ξ = ξ(x, y) and η = η(x, y), the four basis functions are defined through the tensor product Lagrange polynomials: " Lξ ⊗ Lη = LTξ Lη = 1−ξ 2 1+ξ 2 # 1−η 2 " 1+η = 2 1−ξ 1−η 2 2 1+ξ 1−η 2 2 1−ξ 1+η 2 2 1+ξ 1+η 2 2 # (2.62) where Lξ = (lξ1 , lξ2 ) is a row Lagrange polynomial vector in the ξ-direction and Lη = (lη1 , lη2 ) in the η-direction, and the superscript T represents the vector transpose. Then, we can have " φ1 (ξ, η) φ2 (ξ, η) φ4 (ξ, η) φ3 (ξ, η) # " = 1−ξ 1−η 2 2 1+ξ 1−η 2 2 1−ξ 1+η 2 2 1+ξ 1+η 2 2 # (2.63) 25 Figure 2.6: Illustration of two dimensional Lagrange bi-linear mapping Once again, the condition ping can be defined: P j (e) φj (ξ, η) = 1 is easily verified and the following mapx(ξ, η) = 4 X xj φj (ξ, η) (2.64) j=1 where x is a vector with two components (x and y). Comparison between discontinuous Galerkin and continuous spaces: The discontinuous Galerkin finite element space (see mathematical specifications in Chen [21]) is very useful for the convection term because its interpolation (basis) functions don’t have the C 0 -continuity across inter-element boundaries. More precisely speaking, discontinuous finite element space can easily satisfy the upwind scheme because it can help discretize hyperbolic PDEs by using differencing biased in the direction determined by the sign (+ or -) of characteristic speeds but continuous space cannot. For instance, in Figure 2.7 on the left side, it is clearly seen that the saturation values on the interface between any two cells are discontinuous. Note that, in the same Figure on the right side, results are obtained using continuous Lagrange finite element space with a stabilizing term (see, for example, Appendix A). On the other hand, discontinuous space is not useful for the diffusion term because the diffusion term represents particles that go in all directions rather than in a particular direction (convection term). This implies that continuous finite element space is a good choice for discretizing the diffusion term. Therefore, if one only considers diffusive transport for all species and one thereby doesn’t encounter any stability problems when he uses the general continuous (Lagrange polynomial) finite element space. In this work, the continuous space is used for saturation but it requires a stabi- 26 Figure 2.7: Comparison of finite element method between discontinuous Galerkin space and continuous Lagrange space. (see Appendix A or Chueh et al. [3] for further details) lizing term (artificial viscous term) because the general finite element method with continuous space does nothing for upwinding. 2.6 Artificial diffusive stabilization When general continuous finite element discretization is adopted for the saturation transport (advection) equation in two-phase flow problems, spurious and unphysical oscillations may appear in the solution, requiring the introduction of a stabilizing (diffusive) term [21]. However, this type of stabilization results in smearing of sharp fronts and can also cause grid-orientation difficulties [21]. Finding the right balance between preserving accuracy and providing stability is essential to the reliability of the numerical solution of the conservation laws. In this work, we implement the artificial diffusion terms proposed by Guermond and Pasquetti [24]. This entropy-based nonlinear viscosity provides a powerful approach yielding both accuracy and stability. First, the artificial viscosity term acts only in the vicinity of strong gradients in the saturation and other discontinuities [24]; secondly, the term does not affect the solution in smooth regions; and finally the scheme offers higher order accuracy and stability than simple upwind schemes [24]. In this thesis, this approach is combined with an IMPES algorithm and we present an extension of shock-type adaptive refinement to saturation gradients to investigate transient transport phenomena in heterogeneous porous media. The use of this shock-type adaptive refinement technique allows us to provide fine-scale resolution locally and to concentrate numerical efforts near the areas where the two-phase interfaces evolve. 27 Guermond and Pasquetti [24] demonstrate excellent performance and computational results for this scheme and provide details on the derivation. The stabilization term is critical in order to obtain a saturation field that is oscillation free. Spurious oscillations that occur without the stabilization term are illustrated in Chueh et al. [3]. Results discussed in this thesis using the above method are free of such unphysical oscillations. 2.7 Adaptive mesh refinement Numerical solutions are an approximation of the exact solution. In the course of a computation, we may encounter many possible sources of error. There are three kinds of systematic errors involved (Ferziger and Perić [25]): 1. Modelling errors: The exact solution of a mathematical model does not represent the actual flow exactly, as generalizations and assumptions are made to arrive at that model. 2. Iteration errors: They describe the difference between the exact solution of the discretized algebraic equation system and the iterative solution. 3. Discretization errors: They comprise the difference between the exact (analytical) solution of the model equations and the exact solution of the algebraic system of the discretized equations. The effect of modelling errors is that the model equations may be fulfilled exactly while the solution is qualitatively wrong. Modelling errors can only be discovered when solutions, where the iteration and discretization errors are very small, are compared with experimental data. Round-off errors are easier to control and usually not problematic, but nonetheless unavoidable. Last, discretization errors are always present due to the nature of this scheme. They decrease, however, as grids get finer and finer in a convergent scheme. This implies that discretization errors only give a rate at which error decreases as smaller element sizes decline. Adaptive mesh refinement (AMR) techniques can help to minimize the discretization errors. A variety of AMR methods have been proposed depending on the type of physical problem and associated partial differential equations (PDE), and a large body of literature exists for these methods (see, for example, [26, 27, 28, 29] for a 28 general overview, and [30, 31] for overviews in multiphase flows). In general, the following adaptive methods can be categorized (Ellsiepen [30], Hinkelmann [31]): 1. h-adaptive methods: Single elements are refined or coarsened (change of the element size h). This results in a change of the node and element densities at certain locations. During refinement, the element is divided at the midpoint of a side or at the center of mass; during coarsening, the process is the opposite of refinement. The initial elements serve as a reference for the geometry as well as for the associated material properties and therefore must not be coarsened. In the h-adaptive method, the quality of the starting mesh is of great importance, as the angles and aspect ratios of the side lengths of the elements are kept throughout the computation. In some cases, this may be regarded as a disadvantage of this method. Another requirement is as follows: the h-adaptive method needs a dynamic data structure, as the number of elements is constantly changed. 2. p-adaptive methods: The order p of the polynomial test functions is changed for selected elements. As a consequence, the formulation for an element gets more elaborate, which may in essence result in a state where solving cost dramatically increases. Furthermore, this method requires a very high regularity of the solution, which may not be suitable for all kinds of problems (e.g. mixed hyperbolic/parabolic problems). 3. h-p-adaptive methods: As a combination of the two above-mentioned methods, the element size h as well as the order of the polynomial p are adapted to the local behavior of the solution. 4. r-adaptive methods: This method is also called the moving mesh method (see, e.g., Tang and Tang [32], Tan et al. [33, 34], Di et al. [35, 36, 37], Li and Tang [38] and Zhang et al. [39]). The aim is to achieve the best orientation of the mesh with a pre-defined number of degrees of freedom for a user-defined criterion. The nodes of the mesh are moved to the location of the maximum error or in alignment to streamlines, which results automatically in a reduction of nodes in other parts of the domain. An advantage of this method is the simple data storage since the stored structure of the original grids is kept unchanged throughout the computation. On the other hand, however, the radaptive method is less flexible than the other methods mentioned above, as 29 the movement of the nodes can only take place to a certain extent. A further disadvantage lies in the fact that the element matrices have to be computed again at every iteration step, which means that the r-adaptive method is not useful for complex boundaries and should only be used for simple problems. 5. subgrid methods: Arbitrarily orientated quadrilateral grids (subgrids) are superimposed over the original grids [40]. These subgrids can have a smaller element size than the underlying basic grid. As the time step is coupled with the element size, the subgrids are computed with a smaller time step. A great limitation of this method is its inability to handle complex computational domains. Generally, the h- and p-adaptive methods are commonly used in engineering applications. For the two-phase flow problems considered in this work, the h-adaptive method is used. The dynamic data structure provided by deal.II (Bangerth, Hartmann and Kanschat [41]) written in C++ supports this method very well. In order to refine or coarsen the mesh, error criteria are applied. The error evaluation can be divided into two general types: • a priori error evaluation: these estimations are evaluated before the calculation is started. They use exclusively known data, (e.g. initial and boundary conditions), as well as material properties. A priori estimations are rarely used in practice. • a posteriori error evaluation: here, the error is given in terms of the starting data and computed solution after each time step. In the thesis, only a posteriori error evaluation is considered. The a posteriori error evaluation can be implemented in two ways: error estimators and error indicators. The former is based on mathematics and the latter is usually physically motivated and obtained by heuristic (try-and-error) methods. Furthermore, a posteriori error estimators and indicators can be divided into the following classes, which will be explained briefly. A detailed description can be found in Verfürth [27] and Ellsiepen [30]. 1. Residual-based error estimator: With the residual of the strong form of the partial differential equation, the error of the numerical simulation is measured. 30 This can be regarded as an elementwise controlling of whether or not the partial differential equations are fulfilled by substituting computed solutions into them. The basis of this approach, which was first presented by Babuška and Rheinboldt [42, 43], is the estimation of the error in the energy or L2 norm via the residual of the finite element solution in the domain and at the boundary. Other scientists (Johnson and Hansbo [44]) extended this approach. 2. Error estimation by solving local problems: For small element patches, higher-order solutions are used. In these areas, instead of the given problem, a similar, simple one is solved. The solution is then taken as a reference solution for the error evaluation. 3. Hierarchical error estimators: A numerical solution is compared to a solution that was calculated in a relatively higher finite element space (higher order of test functions or finer meshes). The rationale behind introducing this is that the solution in the higher finite element space is expected to be more accurate than in the lower finite element space. For more information, see Ellsiepen [30]. 4. Gradient-based error indicators: This kind of indicator, which was originally developed for structural mechanics, is often referred to as the Z 2 -error indicator, after the initials of the authors that first introduced this idea in 1987 (Zienkiewicz and Zhu [45]). The gradients of FE solutions with linear shape functions are usually continuous over the element edges. For certain gradients (for example the tension σ in the case of the Z 2 indicator or the velocity v in the case of fluid flow), a locally improved solution is calculated by computing a smoothed course of the gradients. With the help of a certain norm of the difference between the gradients of the original and the gradients of the improved solution, the value of the error estimator is calculated. Error estimators which are based on the energy or L2 norm are widespread for parabolic and elliptic problems (e.g. Johnson [46] and Papastavrou [47]). They cannot, however, generally be applied for mixed hyperbolic-parabolic equations. 5. Empirical error indicators: Here, the error criterion is empirically or heuristically derived. For example, steep gradients or large curvature of the solution can serve as criteria. The empirical error indicator is applied in this work. These are shown in further detail in Appendix A-D. 31 After each element has been assigned an error value η by an estimator or indicator, the elements are marked for refinement or coarsening. Generally, the error of the element is computed for each element with tolerances to determine whether or not the elements are refined or coarsened: η > tolerance → ref ine (2.65) η < tolerance → coarsen (2.66) For the choice of tolerances, different possibilities can be categorized (Barlag [48]). For example: • Absolute value: The tolerances are set to fixed values which do not change throughout the simulation. As the magnitude of the errors in the course of simulation is not known and the method is not advisable. • Mean value: The tolerance is given by an arithmetic mean of the errors of all elements. With this method, not only the size of the error, but also the amount of erroneous elements is considered. • Maximum value: The refinement and coarsening tolerances are associated with taking a maximum value of all the indicator values for elements. Figure 2.8 illustrates the principle of refinement and coarsening for the absolutevalue method used in this work. It can be observed that the appropriate choice of refinement and coarsening bounds is very important: if a large peak of the indicator values exists in the domain, other areas with a relatively large indicator value may not be identified. In general, the choice of the values for the refinement and coarsening criteria always depend on the error estimator or indicator as well as on the problem itself. 2.8 Operator splitting techniques The multi-phase fluid flow models usually represent strongly coupled systems of nonlinear partial differential equations. A number of algorithms (e.g. Godlewski and Raviart [49], Holden and Risebro [50], Kröner [51], LeVeque [16], Morton [52] and Toro [53]) for the solution of the nonlinear partial differential equations have been developed over the years. But still there is an acute need for better solution algorithms 32 Figure 2.8: Refinement and coarsening bounds for the absolute-value method 33 as well as mathematical theory which supports them and the models. The different scales of variation appearing in a multi-phase flow model demand an adaptive adjustment of the solution algorithm to the problems. For multi-phase flow in porous media, numerical algorithms which provide local conservation properties are needed. Moreover, the transport part of these models requires accurate pressure and velocity calculations. There is a close relationship between the challenges in mathematical and numerical modelling and the development of mathematical and numerical tools. An example is provided by operator splitting algorithms which calculate an approximate transport in some parts. These algorithms have become an important part of many solution methods for fluid dynamics (e.g. Beale et al. [54], Glowinski and Pironneau [55], Karniadakis and Henderson [56], Pironneau [57] and Tai and Neittaanmäki [58]). In general, the following operator splitting methods can be distinguished: 1. time splitting technique: Because these numerical methods effectively split the time derivative between the advective and dispersive parts, for example, they are collectively referred to as time-splitting techniques. For non-reactive systems, the splitting results in two partial differential equations which are then solved sequentially at each time step (e.g. Espedal and Ewing [59], Dahle [60], Espedal and Karlsen [61] and Karlsen et al. [62]). For reactive transport, an additional splitting can be added. Split operator methods for reactive transport have been used for a number of years (e.g. Cederberg et al. [63], Walter et al. [64], Zysset et al. [65], and Bell and Binning [66], and James and Jawitz [67]). Roughly speaking, one can say that the splitting algorithms simplify the original problem into a hyperbolic problem, a parabolic problem, and an ordinary differential problem (see Figure 2.9), each of which is solved separately by suitable numerical methods. The main feature of the operator splitting algorithms is the ability to use long time steps and, at the same time, keep the implicit numerical diffusion at a minimum. 2. non-time splitting technique: A characteristic of this kind of operator splitting is to separate a non-time-dependent equation from a time-dependent species transport equation. For instance, in two-phase flow in porous media (e.g. Chen et al. [68, 69] and Abreu et al. [70]), there is a non-time-dependent pressurevelocity system appearing. Since the variation of pressure is much slower than that of saturation, a better way is to solve the pressure-velocity part once only 34 Figure 2.9: Illustration of time operator splitting of the general form of a convectiondiffusion equation in a reactive system (C: a scalar variable; ν: a diffusion coefficient; u: a velocity vector; Sr : a reactive source term) every few time steps, resulting in a rise in computational efficiency. At any rate, the two kinds of operator splitting permit independent discretizations which can be applied to the components, allow a great deal of flexibility in selecting appropriate solution methods, and keep numerically implicit diffusion (a computationally expensive part) at a minimum. 2.9 Iterative solution of linear systems The purpose of this section is to briefly present the basic background of iterative solution of linear systems. The section is neither exhaustive nor complete. Readers are referred to the existing literature for a comprehensive presentation (e.g. Golub and van Loan [71]). The general form of a linear system is shown as follows: AX = B (2.67) where A ∈ Rn×n is the linear system, X ∈ Rn×1 the solution column vector, and B ∈ Rn×1 the right hand side column vector. One can distinguish between two different aspects of the iterative solution of a linear system. The first one lies in the particular acceleration technique for a sequence of iteration vectors, which is a technique used to construct a new approximations for 35 the solution with information from previous approximations. This leads to specific iteration methods that are, in general, of Krylov type such as conjugate gradient or GMRES (Saad and Schultz [72]). The second aspect is the transformation of the given system to one that is solved more efficiently by a particular iteration method. This is called preconditioning. A good preconditioner improves the convergence of the iteration method, sufficiently to overcome the extra cost of its construction and application. Indeed, without a preconditioner, the iterative method might even fail to converge in practice. The convergence of iterative methods depends on the spectral properties of the linear system matrix and the algorithm itself. The basic idea is to replace the original system (2.67) by the left preconditioned system: P−1 AX = P−1 B (2.68) or the right preconditioned system AP−1 PX = B (2.69) where P−1 is the linear transformation, called preconditioner, and the above right preconditioned system is then solved via (AP−1 )Y = B and in turn X = P−1 Y. The goal of this preconditioned system is to reduce the condition number of the left or right preconditioned system matrix P−1 A or AP−1 , respectively. The preconditioned matrix P−1 A or AP−1 is almost never explicitly formed. Only the action of applying the preconditioner solve operation P−1 to a given vector need be computed in iterative methods. From a modern perspective, the general problem of finding an efficient preconditioner is to identify a linear operator P with the following properties: • P−1 A is near to the identity matrix or the diagonally unit-valued matrix. • the cost of applying the preconditioner is relatively low. • preconditioning is scalable for parallel algorithms. 36 For example, the following two linear systems are given respectively as: 4 −9 2 x1 2 2 −4 4 x2 = 3 −1 2 2 x3 1 (2.70) and 4 −9 2 x1 2 0 0.5 3 x2 = 2 0 0 4 x3 2.5 (2.71) Apparently, both the systems have the same solution and the only difference is that equation (2.71) is scaled numerically. However, through using iterative methods, equation (2.71) is much easier to solve than equation (2.70) since the matrix A in the linear system (2.71) is closer to the identity matrix (see the zero elements in the lower triangular). Based on this observation, one can say that an efficient preconditioner transforms the original matrix A into one which behaves like the matrix in the linear system (2.71), resulting in a significant rise in computational efficiency. The role of P in the iterative method is simple. At each iteration, it is necessary to solve an auxiliary linear system PZm = Rm for Zm while unnecessary to explicitly invert P. It should be emphasized that computing the inverse of P is not mandatory; in fact, the role of P is to precondition the residual at step m through the solution of the additional system PZm = Rm . This system should be easier to solve than the original system (2.67). A broad class of effective preconditioners consists greatly in incomplete factorization of the linear system matrix. Such preconditioners are often referred to as incomplete lower/upper (ILU) preconditioners. ILU preconditioning techniques lie between direct and iterative methods and provide a balance between numerical efficiency and reliability. ILU preconditioners are constructed in the factorized form P = L̃Ũ, where L̃ and Ũ are the lower triangular and upper triangular matrices, respectively. ILU preconditioners are based on the observation that, even though most matrices A admit an LU factorization A = LU, where L is the unit lower triangular (all main diagonal elements is 1) and U is the upper triangular, the factors L and U often contain too many nonzero terms, making the cost of factorization too expensive in time or memory use, or both. Therefore, ILU preconditioners are used more efficiently 37 than LU preconditioners. 38 Chapter 3 Conclusions and future work 3.1 Conclusions An efficient framework has been presented. This framework is composed of a 2D/3D transient advection-dominated two-phase flow model in heterogeneous porous media and a 2D/3D transient two-phase flow model in heterogeneous porous media with consideration of capillary transport. This framework has three unique features: • it provides an adequate amount of resolution of the saturation field with the use of diffusive stabilization and with no upwinding while keeping the number of degrees of freedom as low as possible; • it is developed using the state-of-the-art numerical algorithms to greatly reduce computational costs; • it is capable of resolving the physical flow representation and analyzing timedependent two-phase transport phenomena in heterogeneous porous media. All contributions in this thesis incorporated 2D/3D code implementation and numerical justification and validation are described in section 1.2. Some of these components were carried out in collaboration with Wolfgang Bangerth, who provided key suggestions and important inputs. Key points are summarized as follows: Diffusive stabilization: The literature on multi-phase flow in porous media does not contain articles that describe stabilization methods that can provide the same amount of accuracy as what has been proposed in this thesis. This is not a surprise: 39 The stability issues surrounding the transport equation have long led people to believe that finite volume schemes (or their modern incarnation in the form of DG methods) combined with the usual set of flux/slope limiters are the only way to go. While they can be combined with adaptive meshes (and frequently have been), the relatively low accuracy leads to an unnecessary smearing of the solution. Furthermore, the discontinuity of the solution often makes more comprehensive modeling of additional physical effects (e.g. surface tension) difficult. Continuous finite element spaces are known to allow simple modeling of additional effects. However, they were considered unstable for the transport equation and there were few good stabilization techniques (streamline diffusion, for example, introduces smearing everywhere, even in regions where this is not necessary). The method that is presented here, therefore, shows a significant step forward: it borrows recent results obtained in entirely different contexts and shows that they lead to attractive methods for multiphase porous media flow problems. Adaptive mesh refinement: To increase computational speed and, at the same time, increase the accuracy of the results, adaptive mesh refinement is used in this thesis. This approach is to refine and coarsen grids at each time step, depending on where saturation discontinuities propagate. The use of adaptive finite elements provides the present framework with the ability to adapt the computational mesh to the physics of two-phase transport phenomena. General block preconditioning: To speed up the convergence of linear systems considered in this thesis, general block preconditioning is used for the linear system of mixed formulation for diffusion. The purpose of the precondtioning is to control the computational time within a reasonable frame increasing applicability and reliability. This approach resulted in a 99 percent reduction of computational time. Adaptive operator splitting: To keep the implicit diffusion (expensive part) at a minimum, operator splitting is used. In addition to this, in order to make the operator splitting adaptive, an a posteriori criterion with a theoretical mathematical proof is used to determine whether or not the computationally expensive part must be solved. This approach resulted in a 91 percent reduction of computational time. In summary, this thesis integrates above-mentioned numerical methods for twophase flow in heterogeneous porous media, providing an efficient framework from which more complicated multi-phase flow problems can be solved. The results are encouraging and show that, with these numerical methods, simulations achieve physically accurate flow representations. However, much work remains to be done in the 40 areas of fuel cell analysis and design before numerical works can achieve their full potential. 3.2 Future work This thesis has focused mainly on numerical improvements to two-phase flow in heterogeneous porous media. However, the two-phase flow problem is just part of PEM fuel cell modelling and reservoir simulation. With this in mind, the future work is vast and full of challenges and opportunities in the areas of PEM fuel cell modeling. In order to further increase the range of applicability of this framework, more complicated fuel cell models need to be developed. In this work, a set of equations has been introduced to describe physical two-phase transport phenomena in heterogeneous porous media with capillary transport, i.e. the material properties of the porous media (GDL) have been considered. But without the consideration of electrochemical reactions at catalyst sites, realistic complex interactions between two fluids cannot be expressed in porous media of PEM fuel cells. The electrochemical reaction modelling should be further developed in order to better understand physical transport phenomena including electron and proton transport and to show the flooding effects caused by electrochemically produced water inside porous media. Many physical problems are required to consider more than two phases in porous media. For instance, in reservoir simulations, water and carbon dioxide both have been used to displace petroleum and to take it out of the ground, requiring the introduction of three phases in porous media. However, in this work, only two phases are taken into account, which is not enough to cover a broad range of physical problems in the real world. In order to increase further the computational efficiency, parallelization of the program needs to be developed to control the amount of computational time within a reasonable time frame. There are several algorithms to achieve this numerical improvement. One potential avenue is the use of a time decomposition method called “Parareal” or parallel algorithms [73, 74, 75]. Such a parallel algorithm has been applied in reservoir simulations [76] and is expected to speed up simulations substantially. A summary of possible avenues of research in multi-phase flow in porous media and numerical improvements includes 41 1. Three phase flow in heterogeneous porous media 2. Electro-chemical reactions in the catalyst sites for PEM fuel cell modelling 3. Parallelization of the program 42 Appendix A Multi-level Adaptive Simulation of Transient Two-phase Flow in Heterogeneous Porous Media Computers & Fluids 39 (2010) 1585–1596 Contents lists available at ScienceDirect Computers & Fluids j o u r n a l h o m e p a g e : w w w . e l s e v i e r . c o m / l o c a t e / c o m p fl u i d Multi-level adaptive simulation of transient two-phase ﬂow in heterogeneous porous media C.C. Chueh a, M. Secanell a, W. Bangerth b, N. Djilali a,* a b Institute for Integrated Energy Systems and Department of Mechanical Engineering, University of Victoria, PO Box 3055 STN CSC, Victoria, BC, Canada V8W 3P6 Department of Mathematics, Texas A&M University, College Station, TX 77843-3368, USA a r t i c l e i n f o Article history: Received 17 November 2009 Received in revised form 6 May 2010 Accepted 17 May 2010 Available online 2 June 2010 Keywords: Two-phase ﬂow Heterogeneous porous media Adaptive mesh reﬁnement Stabilized ﬁnite element method a b s t r a c t An implicit pressure and explicit saturation (IMPES) ﬁnite element method (FEM) incorporating a multi-level shock-type adaptive reﬁnement technique is presented and applied to investigate transient two-phase ﬂow in porous media. Local adaptive mesh reﬁnement is implemented seamlessly with state-of-the-art artiﬁcial diffusion stabilization allowing simulations that achieve both high resolution and high accuracy. Two benchmark problems, modelling a single crack and a random porous medium, are used to demonstrate the robustness of the method and illustrate the capabilities of the adaptive reﬁnement technique in resolving the saturation ﬁeld and the complex interaction (transport phenomena) between two ﬂuids in heterogeneous media. Ó 2010 Elsevier Ltd. All rights reserved. 1. Introduction Modelling of two-phase ﬂow in porous media plays a key role in many engineering areas such as environmental remediation [1,2], oil recovery [3–6] and water management in polymer electrolyte fuel cells [7–12]. In polymer electrolyte fuel cells, which motivated in part the developments described herein, water produced at the cathode as a result of the electrochemical reaction can condense [7,8], and is eventually transported through the porous electrode by a combination of mechanisms, including capillary diffusion. At high reaction rates however, an imbalance between liquid water production and transport can result in ﬂooding of the electrode and, consequently, restricted access of the reactant gases to the reactions sites (catalyst layer); this results in a signiﬁcant performance drop. Understanding of the two-phase transport processes and design of the porous media to mitigate this are therefore crucial and can be facilitated by robust and physically representative simulations. A number of recent publications have addressed some of the modelling challenges associated with two-phase transport in complex porous media. These include the development of improved numerical schemes for simulation of multi-phase, multi-component processes [13]; interface conditions and linearization schemes [14]; advanced numerical procedures based on high-order time integration schemes [15], fractional ﬂow approaches [16], and reduced degrees of freedom [17]. Theoretical investigations based on pore-network models [18], non-oscillation * Corresponding author. Tel.: +1 250 721 6034; fax: +1 250 721 6323. E-mail address: [email protected] (N. Djilali). 0045-7930/$ - see front matter Ó 2010 Elsevier Ltd. All rights reserved. doi:10.1016/j.compﬂuid.2010.05.011 central scheme [19], and multi-scale ﬁnite volume/element methods [20–24] have also been developed. Helmig et al. [25] note that numerical methods have to be able to capture both advection or diffusion/dispersion dominated processes. An excellent review of the recent modelling efforts and current challenges is provided by Gerritsen and Durlofsky [5]. A key challenge remains the robust and accurate resolution of ﬁne-scale localized ﬂow. In transient two-phase ﬂow simulations related to petroleum engineering, the implicit pressure and explicit saturation (IMPES) algorithm, originally developed by Sheldon et al. [26] and Stone and Gardner [27], is widely used. The basic idea of this classical method when applied to two-phase ﬂow in porous media is to separate the computation of pressure from that of saturation. Namely, the coupled system is split into a pressure equation and a saturation equation, and the pressure and saturation equations are solved using implicit and explicit time approximation approaches, respectively. This method is easy to implement and efﬁcient to solve, and requires less memory than other methods such as the simultaneous solution method [28]. Detailed discussions of this method can be found in [26,27], and recent algorithmic improvements are discussed in Chen et al. [29,30]. The numerical simulation of transient two-phase ﬂow transport in heterogeneous porous media (Fig. 1) is computationally expensive, and adequate resolution of complex ﬂow features is not always possible, thus compromising the reliability of the results. Achieving physically representative simulations that resolve all salient length and time scales and localized ﬂow features efﬁciently remains a challenge. An alternative to global mesh reﬁnement which demands very large computing resources, is adaptive mesh 1586 C.C. Chueh et al. / Computers & Fluids 39 (2010) 1585–1596 bility than simple upwind schemes [39]. In this paper, this approach is combined with an IMPES algorithm and we present an extension of shock-type adaptive reﬁnement to saturation gradients to investigate transient transport phenomena in heterogeneous porous media. The use of this shock-type adaptive reﬁnement technique allows us to provide ﬁne-scale resolution locally and to concentrate numerical efforts near the area where the two-phase interfaces evolve. 2. Basic numerical model Let us consider the ﬂow of two incompressible, immiscible ﬂuids in a porous media domain X R2 in which the movement (displacement) of two ﬂuids is dominated by viscous effects and the effects of gravity and capillary pressure are negligible. The two phases are referred to as wetting and non-wetting, and identiﬁed by subscripts w and nw, respectively. Thus in a water–oil system (hydrophilic case), water is the wetting and oil the non-wetting phase; in the and air–water system (hydrophobic case), air is the wetting phase and water the non-wetting phase. The mass-averaged velocity with which each of the two phases moves is determined by Darcy’s law. It states that the velocity is proportional to the pressure gradient [5]: Fig. 1. Schematic of ﬂuid ﬂow in a heterogeneous porous medium. reﬁnement (AMR). A variety of AMR methods have been proposed depending on the type of physical problem and associated partial differential equations (PDE), and a large body of literature [31–33] exists for these methods. One can use a simple reﬁnement indicator, such as those proposed in [34], to reﬁne and coarsen the mesh at each time step, depending on where the discontinuities (phase boundaries in the present context) propagate. Recent work by Noelle et al. [35] shows that a central scheme with AMR can be implemented on non-conforming 3D Cartesian grids to extend the classical hydrodynamics AMR framework [30]. Smoothness indicators for conservation laws were developed by [36]. Another approach to adaption is the use of a moving-mesh method such as that of Tang and Tang [37] to align the mesh with the important features of the ﬂow. In any case, the major advantages of using grid adaption are high-quality resolution of the physical features as they evolve in space and time while simultaneously reducing computational cost by reﬁning only in areas where necessary and coarsening in areas where unnecessarily ﬁne grids exist. Note that in the context of multi-phase ﬂow the porous medium is frequently strongly heterogeneous within the computational domain. However, as we will show below, there is no need to resolve these heterogeneities everywhere unless they interact with ﬂow fronts. Consequently, adaptive mesh reﬁnement has the potential to signiﬁcantly reduce the computational cost of multi-phase ﬂow simulations. Despite these obvious advantages, the literature is relatively limited for transient adaptive methods suitable for multi-phase ﬂow in porous media. When a general continuous ﬁnite element discretization is adopted for the saturation transport (advection) equation in twophase ﬂow problems, spurious and unphysical oscillations appear in the solution, requiring the introduction of a stabilizing (diffusive) term [38]. However, this results in smearing of sharp fronts and can also cause grid-orientation difﬁculties [38]. Finding the right balance between preserving accuracy and providing stability is therefore of great importance in the numerical solution of conservation laws. In this work, we implement the artiﬁcial diffusion terms proposed by Guermond and Pasquetti [39]. This entropy-based nonlinear viscosity provides a powerful approach yielding both accuracy and stability. First, the artiﬁcial viscosity term acts only in the vicinity of strong gradients in the saturation and other discontinuities [39]; secondly, the term does not affect the solution in smooth regions; and ﬁnally the scheme offers higher order accuracy and sta- uj ¼ krj ðSÞ lj K rp; ð1Þ where uj is the velocity of phase j = w, nw, K is the permeability tensor, krj is the relative permeability of phase j, p is the pressure, and lj is the viscosity of phase j. Finally, S is the saturation of the porous media deﬁned as S¼ Vw ; V w þ V nw ð2Þ where Vw and Vnw are the volume fraction of the wetting and nonwetting phases. In this work, the permeability tensor, K, is a secondorder diagonal tensor. After combining Darcy’s law with the mass conservation equation, the following set of equations is obtained [5]: ut ¼ Kkt ðSÞrp; ð3Þ r ut ¼ q; ð4Þ @S þ r ðut FðSÞÞ ¼ 0; @t ð5Þ where kt is the total mobility, is the porosity, F is the fractional ﬂow of the wetting phase, q is a source term, and ut is the total velocity. These are given by: kt ðSÞ ¼ kw þ knw ¼ FðSÞ ¼ krw ðSÞ lw þ krnw ðSÞ lnw ; kw kw krw ðSÞ=lw ¼ ¼ ; kt kw þ knw krw ðSÞ=lw þ krnw ðSÞ=lnw ut ¼ uw þ unw ¼ kt ðSÞK rp: ð6Þ ð7Þ ð8Þ For the sake of simplicity, we consider the case with no source term q. Furthermore the porosity is set to one as it is essentially a scaling factor that does not affect the qualitative behaviour of Eq. (5). For the purpose of this paper, we will assume the following concrete form for the total mobility kt and the fractional ﬂow F(S): kt ðSÞ ¼ FðSÞ ¼ S2 lw þ ð1 SÞ2 lnw S S þ 0:2 ð1 SÞ2 2 ð9Þ ; 2 ; where lw = 0.2 and lnw = 1. ð10Þ 1587 C.C. Chueh et al. / Computers & Fluids 39 (2010) 1585–1596 not contain time derivatives of these variables. Finally, the following pressure boundary condition is used: 2.1. Permeability of the porous media In this and the following section, we will discuss the setup of the numerical examples used in Section 5. We consider a heterogeneous, isotropic porous medium with a permeability tensor K deﬁned as KðxÞ ¼ kðxÞ I ð11Þ where k(x) is a scalar depending on position x, and I is the secondorder unit tensor. In order to demonstrate the robustness of the proposed shock-type adaptive reﬁnement technique we consider the two model porous media used previously by Li and Bangerth [40]. The ﬁrst test case corresponds to a single crack along a sine curve, with a permeability given by ( ) 2 ! y 0:5 0:1 sinð10xÞ ; 0:01 ksm ðxÞ ¼ max exp 0:1 ( ( N X ) ð13Þ l¼1 and 2 ! jx xl j Wl ðxÞ ¼ exp 0:05 i.e. a linear pressure drop is assumed on the boundaries. Boundary conditions for the saturation need only be speciﬁed on the inﬂow part of the boundary given by Cin ðtÞ ¼ fx 2 @ X : n ut < 0g: ð16Þ On the inﬂow boundary, we assume that wetting ﬂuid enters the domain from the left, and consequently prescribe the following saturation values: Sðx; tÞ ¼ 1 on Cin ðtÞ \ fx ¼ 0g; ð17Þ Sðx; tÞ ¼ 0 on Cin ðtÞ n fx ¼ 0g: ð18Þ 3. Finite element approximations and numerical methods ) Wl ðxÞ; 0:01 ; 4 ð15Þ ð12Þ and k(x) in Eq. (11) is replaced by ksm(x) for the ﬁrst test case. Taking the maximum in Eq. (12) ensures boundedness of k(x) from below. The second test case corresponds to a porous medium with random permeability prescribed using krm ðxÞ ¼ min max pðx; tÞ ¼ 1 x on @ X The system of partial differential equations (PDE) Eqs. (3)–(5) that describes two-phase transport in a hydrophilic medium is discretized using a mixed ﬁnite element method [41,38]. The numerical solutions shown below were obtained using a C++ program based on the deal.II library [42]. The implementation discussed here also uses parts of the step-21, step-31 and step-33 tutorial programs of this library [40,43,44] but extends the functionality compared with all of these programs. 3.1. Time discretization ð14Þ where again krm(x) is substituted for k(x) in Eq. (11) for the second test case, and the centers xl are N randomly chosen locations inside the domain. This function models a domain in which there are N = 40 centers of higher permeability, representing regions with cracks embedded in a matrix of intact background rock. The permeability ﬁelds for these two testcases are shown in Fig. 2. 2.2. Initial and boundary conditions A standard implicit pressure and explicit saturation (IMPES) algorithm [26,27] is used for time discretization in conjunction with an implicit Euler method. In this algorithm, the pressure and velocity equations are ﬁrst solved implicitly, and then the saturation equation is solved using an explicit time stepping method. Using this time discretization, we obtain the following set of equations for each time step: ðnþ1Þ ut r The simulations are performed in a computational domain X = [0, 1] [0, 1] for t 2 [0, T]. The initial condition is S(x, 0) = 0, i.e. the reservoir contains only non-wetting ﬂuid. Initial conditions for pressure or velocity are not necessary because the equations do þ kt ðSðnÞ ÞKrpðnþ1Þ ¼ 0; ðnþ1Þ ut ¼ q; Sðnþ1Þ SðnÞ Dt ðnþ1Þ ð19Þ ð20Þ ! ðnþ1Þ þ ut ðnþ1Þ rFðSðnÞ Þ þ FðSðnÞ Þr ut ¼ 0; ð21Þ where superscripts (n) and (n + 1) represent physical quantities existing at times t(n) and t(n+1), respectively, and Dt(n) = t(n+1) t(n) is the length of the nth time step. Fig. 2. Permeability ﬁelds for (a) single crack medium (b) random medium. 1588 C.C. Chueh et al. / Computers & Fluids 39 (2010) 1585–1596 Using the fact that r ut = q, Eq. (21) becomes Sðnþ1Þ SðnÞ Dt ðnþ1Þ ! ðnþ1Þ þ ut rF SðnÞ þ FðSðnÞ Þq ¼ 0: the weak form of the problem reads: ﬁnd u, p so that for all test functions v, w there holds ð22Þ ðnþ1Þ ðKkt ðSðnÞ ÞÞ1 ut ; v ðpðnþ1Þ ; r v ÞX ¼ ðpðnþ1Þ ; n v Þ@ X ; ð24Þ X To ensure stability of this time stepping scheme, the time step has to be chosen in accordance with the spatial discretization and satisfy the Courant–Friedrichs–Lewy (CFL) condition. In our numerical experiments, we choose the time step adaptively as Dtðnþ1Þ ¼ minK hK ðnþ1Þ 7kut kL1 ðXÞ ; ð23Þ where hK denotes the diameter of cell K. This choice is sufﬁcient to satisfy both the CFL condition that results from the advection of the saturation as well as from the artiﬁcial diffusion term discussed below, while our numerical experiments indicate that larger values violate these conditions. Fig. 3 shows the size of the time steps chosen by this criterion for the two testcases considered below, and compares it with the time step chosen in the lower-order method used in [40]. We need to choose our time step smaller since we use a piecewise linear instead of the piecewise constant saturation approximation. The higher spatial order then requires a correspondingly smaller time step for stability. 3.2. Weak form and spatial discretization for the pressure/velocity part By multiplying Eqs. (19) and (20) with test functions v and w respectively and then integrating terms by parts as necessary, ðnþ1Þ ð r ut ; wÞX ¼ ðq; wÞX : ð25Þ Here, n represents the unit outward normal vector to @ X and the pressure p(n+1) can be prescribed weakly on the boundary oX. We use continuous ﬁnite elements to discretize the velocity and pressure equations. Speciﬁcally, we use mixed ﬁnite elements to ensure high order approximation for both vector (e.g. a ﬂuid velocity) and scalar variables (e.g. pressure) simultaneously. For saddle point problems, it is well established that the so-called Babuska–Brezzi or Ladyzhenskaya–Babuska–Brezzi (LBB) conditions [41,38] need to be satisﬁed to ensure stability of the pressure-velocity system. These stability conditions are satisﬁed in the present work by using elements for velocity that are one order higher than for the pressure, i.e. uh 2 Q dpþ1 and ph 2 Qp, where p = 1, d is the space dimension, and Qs denotes the space of tensor product Lagrange polynomials of degree s in each variable. 3.3. Stabilization, weak form and spatial discretization of the saturation transport equation Advection problems such as the transport equation for the saturation are frequently discretized by ﬁnite volume schemes (or their more recent re-formulation in the form of discontinuous Galerkin (DG) ﬁnite element methods [38]). In contrast to this, we use continuous ﬁnite elements to discretize the saturation Fig. 3. Comparison of adaptive time step size between the present and previous work by Li and Bangerth [40]. (a) Time step vs. IMPES cycle for the single crack medium. (b) Cumulative time vs. IMPES cycle for the single crack medium. (c) Time step vs. IMPES cycle for the random medium. (d) Cumulative time vs. IMPES cycle for the random medium. 1589 C.C. Chueh et al. / Computers & Fluids 39 (2010) 1585–1596 equation, i.e. Sh 2 Q1. This choice allows the simple inclusion of a capillary pressure (diffusion) term in the future: The discretization of the diffusion (Laplace) operator using DG methods leads to a signiﬁcant number of additional terms that need to be integrated on each face between cells. Discontinuous Galerkin ﬁnite elements also have the drawback that the use of numerical ﬂuxes introduces an additional numerical diffusion that acts everywhere. These problems can be avoided using a continuous ﬁnite element space, although we still have to add some form of stabilization to make the scheme stable. We add such a stabilization in the form of a nonlinear viscosity to (22), i.e. we solve Sðnþ1Þ SðnÞ Dt ðnþ1Þ ! ðnþ1Þ þ ut ðnþ1Þ rFðSðnÞ Þ rðmðut ; SðaÞ ; SðexÞ ÞrSðnÞ Þ ¼ FðSðnÞ Þq; ð26Þ ðnþ1Þ where m ut ; SðaÞ ; SðexÞ is the artiﬁcial viscosity, S(a) is an ‘‘average” saturation deﬁned as SðaÞ ¼ SðnÞ þ Sðn1Þ 2 Fig. 4. Spurious oscillations in the saturation solution for the random media case in the absence of a stabilization term. ð27Þ and S(ex) is an ‘‘extrapolated” saturation value given by Dt ðnÞ Dt ðnÞ SðexÞ ¼ 1 þ ðn1Þ SðnÞ ðn1Þ Sðn1Þ : Dt Dt ð28Þ Note that we treat both advection as well as the artiﬁcial diffusion term explicitly in time to avoid having to re-assemble the corresponding matrices in each time step. The stabilization factor m uðnþ1Þ ; SðaÞ ; SðexÞ is chosen in such a way that, if the discretized t saturation S satisﬁes the original Eq. (5) exactly, the artiﬁcial diffusion term is zero. In other words, this term acts primarily in the vicinity of discontinuities in S (or other dependent variables) where in any case the numerical approximation becomes less accurate, but does not affect the areas where the saturation varies smoothly and the numerical approximation is accurate. The literature contains a number of approaches to achieve this. Here we adopt a scheme developed by Guermond and Pasquetti [39] which builds on a suitably deﬁned residual and a limiting procedure for the additional viscosity. The artiﬁcial viscosity is a piecewise constant function deﬁned on each cell K with diameter hK as Fig. 5. Illustration of local mesh adaptation process. ðnþ1Þ m uðnþ1Þ ; SðaÞ ; SðexÞ jK ¼ bkut kL1 ðKÞ t 8 9 ðnþ1Þ < kRes ut ; SðaÞ kL1 ðKÞ = a min hK ; hK ðnþ1Þ : ; c u ; SðexÞ t ð29Þ where a is a stabilization exponent that we chose to be a = 1, and b is a user-deﬁned dimensionless stabilization constant that is chosen Fig. 6. Effect of reﬁnement indicator threshold: saturation ﬁeld and adaptive mesh for single crack medium at t = 0.359 s. (a) Cells are coarsened if gK < 1.1 and reﬁned if gK > 1.7 (2608 computational cells). (b) Threshold values for coarsening and reﬁnement are chosen as 0.21 and 0.28 (2938 computational cells). 1590 C.C. Chueh et al. / Computers & Fluids 39 (2010) 1585–1596 as small as possible but as large as necessary to avoid unphysical oscillations in the solution. Following Guermond and Pasquetti [39] as well as Kronbichler and Bangerth and sat [44], the velocity ðnþ1Þ urationglobal normalization constant, c ut ; SðexÞ , and the resid ðnþ1Þ ual Res ut ; SðaÞ are given by ðnþ1Þ ðexÞ ðnþ1Þ a2 ¼ cR kut c ut ;S kL1 ðXÞ varðSðexÞ ÞjdiamðXÞj ; ð30Þ ! ! ðnÞ ðn1Þ S S ðnþ1Þ ðaÞ ðnþ1Þ a1 ¼ Res ut ;S rF SðaÞ þ ðSðaÞ Þq ðSðaÞ Þ ; þ ut Dt ðnÞ ð31Þ where cR is a dimensionless user-deﬁned normalization constant, diam(X) is the diameter of the domain and var(S(ex)) is the range Table 1 Parameters used in the model Parameter Symbol Value Units Porosity Viscosity (wetting) Viscosity (non-wetting) Stabilization exponent Stabilization constant Normalization constant 1.0 0.2 1.0 1.0 0.4 1.0 – kg m1 s1 kg m1 s1 – – – lw lnw a b cR of the extrapolated saturation values in the entire computational domain X, given mathematically by varðSðexÞ Þ ¼ maxX SðexÞ minX SðexÞ : ð32Þ Guermond and Pasquetti [39] demonstrate excellent performance and computational results for this scheme and provide details on the derivation. The stabilization term is critical in order to obtain a saturation ﬁeld that is oscillation free. Spurious oscillations that occur without the stabilization term are illustrated in Fig. 4. Results discussed subsequently using the above method are free of such unphysical oscillations. With the artiﬁcial diffusion term deﬁned as above, we obtain the weak form of our discrete equations by multiplying Eq. (26) with a test function r and integrating by parts as necessary. We then obtain ðnþ1Þ ðnþ1Þ ðSðnþ1Þ ; rÞX Dt ðnþ1Þ FðSðnÞ Þut ; rr þ Dt ðnþ1Þ F SðnÞ n ut ;r X @X ðnþ1Þ ðaÞ ðexÞ ðnÞ ðnÞ ðnþ1Þ ¼ ðS ; rÞX Dt m ut ; S ; S rS ; rr X ðnþ1Þ ðaÞ ðexÞ þ Dt ðnþ1Þ n m ut ;S ;S rSðnÞ ; r : ð33Þ @X In Eq. (33), there are two boundary integral terms corresponding to Dirichlet and Neumann boundary conditions. In the present work, we require only Dirichlet boundary conditions for saturation, Fig. 7. Numerical results for the single crack medium in comparison with previous work of Li and Bangerth [40] at t = 0.154 s. (a) Saturation ﬁeld using discontinuous Galerkin space (previous work). (b) Saturation ﬁeld using continuous space with the stabilized term (present work). (c) Saturation proﬁle along y = 0.5 (d) Saturation proﬁle along x = 0.1. 1591 C.C. Chueh et al. / Computers & Fluids 39 (2010) 1585–1596 Fig. 8. Numerical results for the random medium in comparison with previous work of Li and Bangerth [40] at t = 0.249 s. (a) Saturation ﬁeld using discontinuous Galerkin space (previous work). (b) Saturation ﬁeld using continuous space with the stabilized term (present work). (c) Saturation proﬁle along y = 0.95. (d) Saturation proﬁle along x = 0.05. as is described in Section 2.2, and therefore the Neumann boundary integral term vanishes. Since the Dirichlet boundary conditions for saturation are only imposed on the inﬂow boundaries, the third term on the left hand side of Eq. (33) needs to be split further into two parts: Dtðnþ1Þ FðSðnÞ Þ n uðnþ1Þ ;r t @X ðnÞ ðnþ1Þ ðnÞ ðnþ1Þ ðnþ1Þ ¼ Dt F SðþÞ n utðþÞ ; r þ Dt ðnþ1Þ F SðÞ n utðÞ ; r ; @ XðþÞ @ XðÞ ð34Þ where oX() = {x 2 oX:n ut < 0} and oX(+) = {x 2 oX:n ut > 0} represent inﬂow and outﬂow boundaries, respectively. We choose valðnÞ ðnþ1Þ ues using an upwind formulation, i.e. SðþÞ and utðþÞ correspond to ðnÞ the values taken from the present cell, while the values of SðÞ ðnþ1Þ and utðÞ are those taken from the neighboring boundary oX(). 3.4. Linear system Discretization of Eqs. (24), (25) and (33) yields the following linear system that needs to be solved for time step n + 1: 0 Mu B @ B BT H 0 0 10 1 0 1 0 0 Uðnþ1Þ CB C B C 0 [email protected] Pðnþ1Þ A ¼ @ F2 A; F3 MS Sðnþ1Þ ð35Þ where the individual matrices and vectors are deﬁned as follows using shape functions vi for velocity, and /i for both pressure and saturation: Muij ¼ ððKkt ðSðnÞ ÞÞ1 v i ; v j ÞX ; MSij ¼ ð/i ; /j ÞX ; Bij ¼ ðr v j ; /i ÞX ; Hij ¼ Dt ðnþ1Þ ðnÞ ðFðS Þv i ; r/j ÞX ; ðF2 Þi ¼ ðFðSðnÞ Þq; /i ÞX ; ð36Þ ð37Þ ð38Þ and ðnþ1Þ ðF3 Þi ¼ ðSðnÞ ; /i ÞX Dt ðnþ1Þ ðmðut ; SðaÞ ; SðexÞ ÞrSðnÞ ; r/i ÞX ð39Þ We will solve these equations by ﬁrst computing the updated pressures P(n+1) and then the velocities U(n+1). The ﬁnal step is to solve for updated saturation S(n+1). To this end, we can form the Schur complement (i.e., do a block elimination, see [45]) of the top left 2 2 block of the matrix to obtain BðMu Þ1 BT Pðnþ1Þ ¼ F2 ; u ðnþ1Þ ðM ÞU T ¼ B P ðnþ1Þ : ð40Þ ð41Þ We can therefore obtain the pressure and velocity solution by ﬁrst inverting the Schur complement matrix S = B(Mu)1BT and next the mass matrix Mu on the velocity space. Both matrices are symmetric and positive deﬁnite and therefore amenable to the 1592 C.C. Chueh et al. / Computers & Fluids 39 (2010) 1585–1596 Fig. 9. Comparison of computational mesh distribution and saturation ﬁelds at t = 0.278 s using the continuous discretization. (a) Uniform mesh with 16,384 elements and 165,380 degrees of freedom. (b) Adaptive mesh with 1981 elements and 7924 degrees of freedom. (c) Saturation proﬁle along y = 0.95. (d) Saturation proﬁle along x = 0.15. conjugate gradient method. There are various strategies to precondition the Schur complement solve, using the fact that S is a discrete representation of the Laplace operator. We choose to precondition with e S 1 ¼ ½Bðdiag Mu Þ1 BT 1 since e S is a matrix that is cheap to apply and therefore signiﬁcantly simpler to invert than S. At the same time, the preconditioned matrix e S 1 S has a nearly constant condition number and can consequently be solved in a constant number of iterations, irrespective of the reﬁnement level [46]. An alternative is to precondition with an (approximate) inverse of a matrix obtained from a primal (non-mixed) discretization of the Laplace operator. Once the velocity is available, we can assemble H and F3 (which depend on u(n+1) implicitly) and solve for the saturations as S ðnþ1Þ MS ðnþ1Þ ¼ F3 HU : ð42Þ 4. Adaptive mesh reﬁnement strategy In analogy with widely used schemes in compressible ﬂow problems, the adaptive reﬁnement technique adopted here is based upon the transient saturation gradient. Once a solution S(n) is computed on a given mesh, we compute a reﬁnement indicator gK ¼ jrSpðnþ1Þ ðxK Þj where xK is the cell center. Here, ð43Þ Sðnþ1Þ ¼ SðnÞ þ Dtðnþ1Þ p SðnÞ Sðn1Þ ¼ 2SðnÞ Sðn1Þ Dtðnþ1Þ ð44Þ is a predictor for the saturation proﬁle in the next time step. We choose a predicted saturation proﬁle for our reﬁnement indicator since the mesh so created will be used to discretize future time steps, not the current one: we want to reﬁne ahead of a front, rather than propagating into a coarse set of elements and thereby smearing the saturation solutions. With the reﬁnement indicators gK so deﬁned, reﬁnement proceeds along the following algorithm [33,42]: (1) If gK is larger than a threshold hr, then mark the cell K for reﬁnement if the resulting children will not exceed the chosen maximum reﬁnement level. (2) If gK is smaller than a threshold hc, then mark the cell K for coarsening if the resulting cell is not coarser than the initial mesh. (3) If for a non-active cell not all children are marked for coarsening, then remove coarsening ﬂags from all children. (4) Mark additional cells for reﬁnement to ensure that the resulting mesh has no interfaces between cells that differ in reﬁnement by more than one level. (5) Reﬁne and coarsen all cells marked as above. This adaptive procedure is illustrated graphically in Fig. 5. C.C. Chueh et al. / Computers & Fluids 39 (2010) 1585–1596 1593 Fig. 10. Comparison of computational mesh distribution and saturation ﬁelds at t = 0.488 s using the continuous discretization. (a) Uniform mesh with 16,384 elements and 165,380 degrees of freedom. (b) Adaptive mesh with 3220 elements and 12,880 degrees of freedom. (c) Saturation proﬁle along y = 0.95. (d) Saturation proﬁle along x = 0.15. Fig. 11. Comparison of the number of degrees of freedom in the single crack and random media cases with the corresponding number for uniform grids. The adaptive meshes need between 86% and 96% fewer degrees of freedom. To illustrate the effect of selecting different threshold levels, results obtained for two simulations under otherwise identical conditions are shown in Fig. 6. In the ﬁrst simulation, cells are Fig. 12. CPU time per IMPES step for the adaptive and uniform grid simulations. coarsened if gK < hc = 1.1 and reﬁned if gK > hr = 1.7. In the second, these thresholds are chosen as hc = 0.21 and hr = 0.28. As can be seen, the saturation ﬁelds are essentially identical, but the less stringent, ﬁrst set of threshold values result in more coarsening, 1594 C.C. Chueh et al. / Computers & Fluids 39 (2010) 1585–1596 Fig. 13. Saturation ﬁelds for the single crack medium. (a) t = 0.002 s with 520 elements and 2080 degrees of freedom. (b) t = 0.427 s with 3424 elements and 13,696 degrees of freedom. (c) t = 0.731 s with 5185 elements and 20,740 degrees of freedom. (d) t = 0.979 s with 5551 elements and 22,204 degrees of freedom. particularly along the center of the crack as well as along the inlet boundary. This yields a computational mesh with about 12% less cells. To ensure high accuracy, all following computations were done with the second set of thresholds, however. 5. Results and discussion The simulations presented and analyzed in this section were performed using the spatial permeability distributions given in Section 2.1, and with the input parameters listed in Table 1. It should be noted that in the validation section, the porosity is set to 0.6 rather than the value of 1.0 used in all other cases. Our implementation uses the Open Source ﬁnite element library deal.II [42] written in C++. crack case. Fig. 7c and d shows saturation proﬁles along y = 0.5 and x = 0.1, respectively. The results are essentially identical. In the case of a random medium, there are a couple of small but more noticeable differences as shown in the results at t = 0.249 s presented in Fig. 8. The extent of the penetration of the invading ﬂuid is predicted to be higher in the DG simulations (see top and bottom ﬁngers in Fig. 8a), and there are differences of up to 10% in the saturation as shown in both the longitudinal and transverse proﬁled in Fig. 8c and d. These differences are due to the lower accuracy and higher diffusivity of the low-order DG approximation. In contrast, the discretization used here shows a more pronounced and less diffused appearance, a consequence of the less heavy-handed stabilization even though we use far fewer degrees of freedom compared to the uniformly reﬁned grid used for the DG method. 5.1. Numerical validation 5.2. Comparison of global vs. adaptive reﬁnement Here, for numerical validation, we compare the present results obtained with the adaptive grid method to previous work using uniform grids in which Raviart–Thomas ﬁnite elements are adopted for velocity and discontinuous Galerkin (DG) elements for pressure and saturation [40]. Fig. 7a and b compares saturation contours in the single crack case between these two discretizations at t = 0.154 s in the single Figs. 9 and 10 show the saturation distribution in the random medium obtained using global and locally adaptive reﬁnement at t = 0.278 s and t = 0.488 s respectively. Well resolved saturation distributions that are quasi-identical can be obtained using both reﬁnement techniques. The effectiveness of the adaptive grid method is highlighted by the fact that, at time t = 0.278 s for instance (Fig. 9), only 7924 degrees of freedom (DoFs) are required C.C. Chueh et al. / Computers & Fluids 39 (2010) 1585–1596 1595 Fig. 14. Saturation ﬁelds for the random medium. (a) t = 0.003 s with 544 elements and 2176 degrees of freedom. (b) t = 0.411 s with 2722 elements and 10,888 degrees of freedom. (c) t = 0.755 s with 4744 elements and 18,976 degrees of freedom. (d) t = 1.085 s with 6361 elements and 25,444 degrees of freedom. with local adaptation compared to 165,380 DoFs for the globally reﬁned uniform grid. The total number of degrees of freedom for the local adaptive method increases with time: as the wetting phase (water) gradually invades the areas initially occupied by the non-wetting phase (oil) a correspondingly larger part of the computational domain is reﬁned. As the gradients abate in the water invaded portion of the domain, the mesh is coarsened again. Overall, the required number of DoFs was reduced by 86 to 96% (t = 0 and t = 1) for both single crack and random media as shown in Fig. 11. Fig. 12 compares the computing (CPU) time per IMPES step as a function of the process simulation time; signiﬁcant computational performance gains are achieved with the locally adaptive method, resulting in an overall reduction of the aggregate CPU time for the entire simulation of 42% without any reduction in accuracy in the solution. Experience shows that the savings in both number of unknowns as well as CPU time would be even larger for three dimensional simulations. 5.3. Saturation distribution in a domain with a single crack Having established the accuracy of the adaptive mesh twophase ﬂow method, further analysis of the single crack simulations with the permeability given by Eq. (12) are presented here. Such simulations can be considered an idealized representation of situations arising in fuel cell ﬁbrous media when carbon ﬁbres break due to over-compression [47–49]; in geo-science, a porous medium with a single crack distribution can be found in sandstone reservoir rocks [5,2]. The saturation distribution as a function of time is shown in Fig. 13. The mobile ﬂuid slowly meanders its way along the central areas where permeability is highest. In this case, due to the higher saturation gradients in the central area, locally reﬁned cells are concentrated in the middle of the domain and propagate in time with the saturation front. 5.4. Saturation distribution in a porous medium with random permeability Simulations presented in this section were performed for a medium with a permeability distribution given by Eq. (13), see Fig. 2. The saturation distribution is shown in Fig. 14. Fig. 14b shows that the more mobile displacing ﬂuid seeks pathways formed by inter-connected high-permeability zones, faults and fractures. The ﬂuid appears to form ﬁngers, a phenomenon frequently found in both oil reservoirs and also reported in porous diffusion media of fuel cells [50]. 1596 C.C. Chueh et al. / Computers & Fluids 39 (2010) 1585–1596 6. Conclusions and future work A numerical method allowing high resolution simulations of two-phase ﬂow in porous media was presented. The method is based on a ﬁnite element discretization using continuous elements. It incorporates a new entropy based stabilizing term that ensures accuracy while providing stability, and locally adaptive reﬁnement allowing highly resolved time dependent simulations. The effectiveness of the numerical method was demonstrated by performing simulations corresponding to two-phase ﬂow in two types of porous media (single crack and heterogeneous). The implementation used an implicit pressure and explicit saturation (IMPES) formulation. Compared to a simple ﬁnite volume (or DG scheme), the higher order of approximation used for the saturation variable, in conjunction with the stabilizing dissipative term, makes the standard CFL restriction (i.e. Dt 6 h/juj) no longer suitable for evaluating the adaptive time step for the modiﬁed Eq. (26). In order to further improve computational efﬁciency, future work will focus on the development and implementation of more efﬁcient time stepping schemes, and a particularly attractive avenue is the use of an adaptive time stepping strategy that takes advantage of the slower variation of pressure compared to saturation [29,30], and allows larger time steps for the computationally costly pressure equation. Such an algorithm would make it more practical to perform 3D simulations including enhanced physical modelling, such as capillary diffusion, that would enhance the applicability of the method to a broader range of multi-phase transport problems of practical interest. Acknowledgments The work of the ﬁrst, second and fourth authors was funded through the Canada Research Chairs Program and the MITACS Network of Centres of Excellence. Parts of the work by the third author (WB) were funded through Award No. KUS-C1-016-04, made by the King Abdullah University of Science and Technology, and through an Alfred P. Sloan Research Fellowship. Thanks are due to Dr. Zhangxin Chen (University of Calgary) for his invaluable insights on ﬁnite element theory and to Mrs. HsiaoYun Janette Cheng (PhD candidate, University of Shefﬁeld), for helping with the graphics. References [1] Bear J. Dynamics of ﬂuids in porous media. American Elsevier; 1972. [2] Nield DA, Bejan A. Convection in porous media. New York: Springer; 2006. [3] Peaceman DW. Fundamentals of numerical reservoir simulation. Amsterdam: Elsevier; 1977. [4] Aziz K, Settari A. Petroleum reservoir simulation. London: Applied Science Publishers Ltd.; 1979. [5] Gerritsen MG, Durlofsky LJ. Modeling ﬂuid ﬂow in oil reservoirs. Annu Rev Fluid Mech 2005;37(1):211–38. [6] Branets LV, Ghai SS, Lyons SL, Wu XH. Challenges and technologies in reservoir modeling. Commun Computat Phys 2009;6(1):1–23. [7] Lister S, Djilali N. Two-phase transport in porous gas diffusion electrodes. In: Faghri M, Sunden B, editors. Southampton (UK): WIT Press; 2005. [8] Djilali N. Computational modelling of polymer electrolyte membrane (PEM) fuel cells: challenges and opportunities. Energy 2007;32(4):269–80. [9] Djilali N, Sui PC. Transport phenomena in fuel cells: from microscale to macroscale. Int J Computat Fluid Dynam 2008;22(1–2):115–33. [10] Kumbur EC, Sharp KV, Mench MM. Validated Leverett approach for multiphase ﬂow in PEFC diffusion media. J Electrochem Soc 2007;154(12):B1295–304. [11] Kumbur EC, Sharp KV, Mench MM. Validated Leverett approach for multiphase ﬂow in PEFC diffusion media. J Electrochem Soc 2007;154(12):B1305–14. [12] Kumbur EC, Sharp KV, Mench MM. Validated Leverett approach for multiphase ﬂow in PEFC diffusion media. J Electrochem Soc 2007;154(12):B1315–24. [13] Niessner J, Helmig R. Multi-scale modeling of three-phase-three-component processes in heterogeneous porous media. Adv Water Resour 2007;30(11):2309–25. [14] Niessner J, Helmig R, Jakobs H, Roberts JE. Interface condition and linearization schemes in the newton iterations for two-phase ﬂow in heterogeneous porous media. Adv Water Resour 2005;28(7):671–87. [15] Kees CE, Miller CT. Higher order time integration methods for two-phase ﬂow. Adv Water Resour 2002;25(2):159–77. [16] Binning P, Celia MA. Practical implementation of the fractional ﬂow approach to multi-phase ﬂow simulation. Adv Water Resour 1999;22(5):461–78. [17] Tseng PH, Zyvoloski GA. A reduced degree of freedom method for simulating non-isothermal multi-phase ﬂow in a porous medium. Adv Water Resour 2000;23(7):731–45. [18] Piri M, Blunt MJ. Three-dimensional mixed-wet random pore-scale network modeling of two- and three-phase ﬂow in porous media. I. Model description. Phys Rev E 2005;71(2):026301. [19] Christov I, Popov B. New non-oscillatory central schemes on unstructured triangulations for hyperbolic systems of conservation laws. J Computat Phys 2008;227(11):5736–57. [20] Hou T, Wu XH. A multiscale ﬁnite element method for elliptic problems in composite materials and porous media. J Computat Phys 1997;134(1):169–89. [21] Durlofsky LJ, Efendiev Y, Ginting V. An adaptive local–global multiscale ﬁnite volume element method for two-phase ﬂow simulations. Adv Water Resour 2007;30(3):576–88. [22] Efendiev Y, Ginting V, Hou T, Ewing R. Accurate multiscale ﬁnite element methods for two-phase ﬂow simulations. J Computat Phys 2006;220(1):155–74. [23] Efendiev Y, Hou T. Multiscale ﬁnite element methods for porous media ﬂows and their applications. Appl Numer Math 2007;57(5-7):577–96. [24] Jenny P, Lee SH, Tchelepi HA. Multi-scale ﬁnite-volume method for elliptic problems in subsurface ﬂow simulation. J Computat Phys 2003;187(1):47–67. [25] Helmig R, Niessner J, Class H. Recent advances in ﬁnite element methods for multi-phase ﬂow processes in porous media. Int J Computat Fluid Dynam 2006;20(3/4):245–52. [26] Sheldon JW, Zondek B, Cardwell WT. One-dimensional, incompressible, noncapillary, two-phase ﬂuid ﬂow in a porous medium. Trans SPE AIME 1959;216:290–6. [27] Stone HL, Garder Jr. Analysis of gas-cap or dissolved-gas reservoirs. Trans SPE AIME 1961;222:92–104. [28] Douglas Jr J, Peaceman DW, Rachford Jr HH. A method for calculating multidimensional immiscible displacement. Trans SPE AIME 1961;216:297–306. [29] Chen Z. Computational methods for multi-phase ﬂows in porous media. SIAM 2006. [30] Chen Z, Huan G, Li B. An improved IMPES method for two-phase ﬂow in porous media. Transport Porous Med 2004;54:361–76. [31] Ainsworth M, Oden JT. A posteriori error estimation in ﬁnite element analysis. John Wiley and Sons; 2000. [32] Verfürth R. A review of a posteriori error estimation and adaptive mesh reﬁnement techniques. New York, Stuttgart: Wiley/Teubner; 1996. [33] Carey GF. Computational grids: generation, adaptation and solution strategiess. Taylor & Francis; 1997. [34] Kröner D. Numerical schemes for conservation laws. Wiley/Teubner; 1997. [35] Noelle S, Rosenbaum W, Rumpf M. 3D adaptive central schemes: part I. Algorithms for assembling the dual mesh. Appl Numer Math 2006;56(6):778–99. [36] Karni S, Kurganov A, Petrova G. A smoothness indicator for adaptive algorithms for hyperbolic systems. J Computat Phys 2002;178(2):323–41. [37] Tang H, Tang T. Adaptive mesh methods for one-and two-dimensional hyperbolic conservation laws. SIAM J Numer Anal 2003;41(2):487. [38] Chen Z. Finite element methods and their applications. Springer; 2005. [39] Guermond JL, Pasquetti R. Entropy-based nonlinear viscosity for fourier approximations of conservation laws. CR Math 2008;346(13–14):801–6. [40] Li Y, Bangerth W. The deal.II tutorial: step-21. <http://dealii.org/developer/ doxygen/deal.II/step_21.html>. [41] Brezzi F, Fortin M. Mixed and hybrid ﬁnite element methods. Springer-Verlag; 1991. [42] Bangerth W, Hartmann R, Kanschat G. deal.II – a general purpose object oriented ﬁnite element library. ACM Trans Math Softw 2007;33(4):24/1–24/ 27. [43] Kronbichler M, Bangerth W. The deal.II tutorial: step-31. <http://dealii.org/ developer/doxygen/deal.II/step_31.html>. [44] Neckels D, Bangerth W. The deal.II tutorial, step-33. <http://dealii.org/ developer/doxygen/deal.II/step_33.html>. [45] Zhang F. The Schur complement and its applications. Springer; 2005. [46] Bangerth W. The deal.II tutorial: step-20. <http://dealii.org/developer/ doxygen/deal.II/step_20.html>. [47] Nitta I, Hottinen T, Himanen O, Mikkola M. Inhomogeneous compression of PEMFC gas diffusion layer: part I. Experimental. J Power Source 2007;171(1):26–36. [48] Hottinen T, Himanen O, Karvonen S, Nitta I. Inhomogeneous compression of PEMFC gas diffusion layer: part II. Modeling the effect. J Power Source 2007;171(1):113–21. [49] Bazylak A, Sinton D, Liu ZS, Djilali N. Effect of compression on liquid water transport and microstructure of PEMFC gas diffusion layers. J Power Source 2007;163(2):784–92. [50] Lister S, Sinton D, Djilali N. Ex situ visualization of liquid water transport in PEM fuel cell gas diffusion layers. J Power Source 2006;154(1):95–105. 43 Appendix B An H-adaptive Operator Splitting Method for Two-phase Flow in 3D Heterogeneous Porous Media An H-adaptive Operator Splitting Method for Two-phase Flow in 3D Heterogeneous Porous Media C.C. Chueh a , W. Bangerth b,∗ , N. Djilali a,∗ a Institute for Integrated Energy Systems and Department of Mechanical Engineering, University of Victoria, PO Box 3055 STN CSC, Victoria, BC, Canada, V8W 3P6 b Department of Mathematics, Texas A&M University, College Station, TX 77843-3368, USA Abstract The simulation of multiphase flow in porous media is a ubiquitous problem, but it is computationally costly. This paper presents an interconnected set of algorithms which we show can accelerate computations by more than two orders of magnitude compared to traditional techniques. Our method uses: an adaptive operator splitting technique based on an a posteriori criterion to separate the flow from the transport equations; adaptive meshing to reduce the size of the discretized problem; efficient block preconditioned solver techniques for fast solution of the discrete equations; and a recently developed artificial diffusion strategy to stabilize the numerical solution of the transport equation. We demonstrate the accuracy and efficiency of our approach using numerical experiments in 2D and 3D. Key words: Adaptive mesh refinement; Stabilized finite element method; Operator splitting; Preconditioning; Two-phase flow; Heterogeneous porous media; Fuel Cells ∗ Corresponding authors. Email addresses: [email protected] (W. Bangerth), [email protected] (N. Djilali). Preprint submitted to Communications in Computational Physics 15 September 2010 1 Introduction Multiphase flow models in porous media are used in a wide variety of fields such as oil reservoirs [1–3], the flow of magma in the earth crust [4] or transport processes in fuel cells [5,6]. In the latter example, current interest is primarily focused on polymer electrolyte membrane (PEM) fuel cells in which the gas diffusion layer (GDL) provides pathways for gaseous fuel to reach the catalyst sites, for electron produced electrochemically at the catalyst sites [7] to be conducted to the current collector, and, very importantly, for excess liquid water to exit the system. Excess water can curtail transport of reactant gases [8] as well as exacerbate degradation [9]. Improvements in PEM fuel cells are therefore contingent upon advancements in water management, which can be facilitated by the simulation of realistic, complex two-phase transport phenomena in 3D heterogeneous porous media. For fuel cells as well as other applications involving porous media, the bottleneck for simulations is the speed with which complex three-dimensional problems can be solved. In this regard, classical finite element (FE) and finite volume (FV) methods – while having the potential to accurately represent all the salient physics – do not always compare favorably against other methods such as pore network modelling [10–14] or Lattice Boltzmann Method (LBM) [15,16]. Increasing the computational efficiency of the FE/FV numerical methods while retaining their accuracy remains a central challenge. There are at least five areas which a high performance simulator needs to address to improve computational speed for a given level of accuracy: • Higher order spatial discretizations can yield the same accuracy at smaller computational cost, but need to incorporate stabilization mechanisms for hyperbolic problems such as those representing multiphase flow; • Adaptive mesh refinement that can vastly reduce the number of cells required to resolve 2 the flow field; • Adaptive time stepping methods that allow the use of the large time step limited solely by the physical time scale rather than numerical stability; • Operator splitting methods for coupled problems to transform a complex problem into a sequence of simpler problems for which more efficient solver techniques are available; • Efficient solver and preconditioning methods that can accelerate the solution of the linear problems. In this paper, we discuss a framework that addresses all of these issues and demonstrate that, with judicious algorithm choice, we can accelerate the numerical simulation of multiphase flow problems by more than two orders of magnitude, making possible the simulation previously unaccessible scenarios. The implementation of these methods is described in detail and the associated code is made available as part of the widely used Open Source finite element library deal.II [17,18]. To place the proposed techniques into their proper context, in the remainder of this introduction, we summarize the main contributions of this paper and provide an overview of the related literature. The mathematical formulation and algorithm description are discussed in the following Sections. Higher order discretizations and stabilization issues. Stability issues arising from the discretization of advection-dominated problems have long led to the belief that finite volume or upwinding schemes [19] (or their modern incarnation in the form of discontinuous Galerkine (DG) finite element methods [20]) combined with the usual set of flux/slope limiters are the only choice; in other words, upwinding schemes should be preferred to the introduction of artificial diffusion (see, e.g., Kröner [21]). The primary reason for this belief is that diffusive stabilization often excessively smoothes out sharp fronts (e.g. Helmig 3 [22] and Paul [23]). On the other hand, it is difficult to derive upwind schemes of higher order, and finite volume methods lack a systematic framework to derive high order discretizations that finite element theory provides. Higher order methods are attractive because – up to a certain point – they typically provide the same accuracy with fewer degrees of freedom and less numerical work. Consequently, the development of stabilization methods for higher order methods applied to transport dominated problems is an important step to achieving higher computational efficiency. We have previously validated and demonstrated an artificial diffusion method that, when used with a general continuous finite element discretization for the saturation transport (advection) equation in two-phase flow in porous media, ensures stability and accuracy of the solution [24]. The method uses an entropybased diffusion term, proposed by Guermond and Pasquetti [25], and is able to efficiently damp unphysical oscillations while providing the same amount of resolution of saturation field as a low-order DG method [26] without upwinding. The trick is to ensure that the artificial viscosity term acts only in the vicinity of strong gradients in the saturation and other discontinuities, while disabling it in regions where the solution is smooth. The scheme offers higher order accuracy at least in smooth regions while providing stability where necessary [25]. Adaptive mesh refinement. In many engineering problems involving fluid dynamics, structural mechanics etc, automated adaptive mesh refinement (AMR) has been used to obtain numerical solutions with higher accuracy and resolution, while requiring less memory and shorter computational times. Adaptivity, which can be traced back to the late 1970s [27], is based on the idea that, in order to improve numerical accuracy, a fine mesh is not necessarily required everywhere but only in areas where the solution is eventful. A variety of AMR methods have been proposed depending on the type of 4 physical problem and associated partial differential equations (PDE), and a large body of literature exists for these methods (see, for example, [28–31] for a general overview, and [32,33] for overviews in multiphase flows). Adaptive methods can be grouped into a number of categories: h-adaptive methods change the local element size h in response to smoothness properties of the solution; p-adaptive methods vary the local polynomial order p of the finite element space; hp-adaptive methods combine the previous two methods; r-adaptive methods move mesh points (see, e.g., Tang and Tang [34], Tan et al. [35,36], Di et al. [37–39], Li and Tang [40] and Zhang et al. [41]); and subgrid methods superimpose finer meshes over the original grid where necessary [42]. Despite this variety, h-adaptive methods are the most commonly used in engineering applications today. We note that the literature on the use of adaptive meshes remains relatively limited for transient multiphase flow in porous media. Adaptivity is driven by refinement indicators. These may be based on error estimates for the underlying partial differential equation [28,29,31]; however, for many applications, simpler error indicators based on the smoothness of the solution, such as those proposed in [21], are often sufficient to refine and coarsen the mesh at each time step. For hyperbolic problems, most choice of refinement criterion will yield fine grids and consequently high accuracy of physical features such as sharp fronts as they evolve in space and time, while simultaneously reducing computational cost by keeping the mesh coarse in areas where fine meshes are not required. For the purpose of this work, we use a relatively simple refinement criterion that is based on the gradient of the saturation. This obviously ensures the accurate resolution of sharp fronts in the saturation profile but also ensures good resolution of the other variables due to the strong couplings. 5 Operator splitting techniques. Multi-phase porous media flow is a coupled problem in which the flow and pressure fields affect the transport of individual phases, but the phase composition also nonlinearly affects the flow and pressure fields. Such couplings complicate significantly the numerical solution. Operator splitting methods alleviate the problem by breaking up the coupled problem into a sequence of simpler problems whose solution can, if necessary, be iterated until sufficient accuracy is reached. Operator splitting techniques have a long history. Since alternating-direction methods were introduced by Douglas, Peaceman and Rachford [43–47] and fractional step methods by D’jakonov and Yanenko [48,49], these procedures have been applied in the numerical simulation of many important problems. In the context of non-reactive systems of multi-phase flow in porous media, two kinds of operator splitting are typically used: splitting the pressure-velocity calculation from the saturation calculation, and splitting the saturation calculation into convection and diffusion components. The latter strategy has been developed and applied in Espedal and Ewing [50], Dahle [51], Espedal and Karlsen [52] and Karlsen et al. [53] and is motivated by the fact that it is easy to combine modern methods developed within the hyperbolic community (convection) for tracking discontinuous solutions, with efficient methods (e.g. multi-grid) for the implicit discretization of the parabolic (diffusive) part. Splitting the velocity and pressure equations from the equation for the saturation also has a long history. The time stepping schemes most commonly used are of IMPES (implicit pressure, explicit saturation) type and date back to Sheldon et al. [54] and Stone and Gardner [55]). In these schemes, one first solves the implicit, time independent pressure/velocity system with the current saturation values, and then uses an explicit time stepping scheme to advance the saturation by one time step. While this effectively decouples the two equations, one is left with the important problem that solving the equations for flow velocity and pressure is much more expensive than solving that for the saturation. 6 On the other hand, the effect of the saturation on the flow field is typically weak, i.e. the flow field only evolves slowly while the saturation changes significantly at each time step. Consequently, we will here explore the possibility of not solving the computationally expensive flow equations at every time step but only when necessary, thereby significantly reducing computing time. Such methods have previously been developed (see, for example, Chen et al. [56,57] and Abreu et al. [58]) but with a fixed number of saturation time steps between each solution of the flow field. We will here make the timing of solving the flow equations adaptive based on an a posteriori criterion. Finally, we note that for reactive transport, an additional splitting can be added to incorporate general reaction terms as a system of coupled ordinary differential equations [59–63] which also often have their own time scales independent of the flow or saturation fields. Solver and preconditioner techniques The result of operator splitting methods is a sequence of linear systems – frequently ill-conditioned, non-symmetric and/or indefinite – that need to be solved efficiently. Their size typically leaves Krylov subspace methods as the only viable choice, hence requiring good preconditioners for efficient solution. In the context of the mixed formulation of porous media flow, the saddle point structure of the flow problem presents a particular complication. The literature discussing solutions for this problem is vast; to name only a few, Rusten and Winther [64] developed a preconditioned iterative method for saddle point problems; Arnold, Falk and Winther [65] recommended a block diagonal preconditioner; and more recently, Powell and Silvester [66,67] conceived a parameter-free preconditioning method. We will here adapt a method originally proposed for the Stokes system by Silvester and Wathen [68] that leads to very efficient and adjustable preconditioners. 7 Overview of the paper. The remainder of the paper presents the mathematical formulation of the methods outlined above and shows how they can be combined to form a method that achieves a speed-up of more than two orders of magnitude compared to a traditional two-phase porous medium solver. Section 2 presents the mathematical flow model, followed in Section 3 by a discussion of the time stepping, discretization, operator splitting and stabilization methods; Section 4 introduces a numerical test case; Section 5 presents numerical results related to the accuracy and efficiency of our methods, and discusses the implications. We conclude in Section 6. The code that implements our methods is available as part of the deal.II library [17], together with detailed documentaion and a tutorial to allow further developments by others. 2 Mathematical model of two-phase porous media flow We consider the flow of a two-phase immiscible, incompressible fluid. Capillary and gravity effects are neglected, and that viscous effects are assumed dominant. The governing equations for such a flow are then [3] ut = −Kλt (S) ∇p, (1) ∇ · ut = q, (2) ∂S + ∇ · (ut F (S)) = 0, ∂t (3) where S is the saturation (volume fraction) of the second (wetting) phase, p is the pressure, K is the permeability tensor, λt is the total mobility, is the porosity, F is the fractional flow of the wetting phase, q is the source term and ut is the total velocity. The total 8 mobility, fractional flow of the wetting phase and total velocity are respectively given by krw (S) krnw (S) + , µw µnw λw λw krw (S)/µw F (S) = = = , λt λw + λnw krw (S)/µw + krnw (S)/µnw λt (S) = λw + λnw = ut = uw + unw = −λt (S)K · ∇p, (4) (5) (6) where subscripts w, nw represent the wetting and non-wetting phases, respectively. For convenience, the porosity in equation (3), which can be considered a scaling factor, is set to one. Following a commonly used prescription for the dependence of the relative permeabilities krw and krnw on saturation, we use krnw = (1 − S)2 . krw = S 2 , (7) Equations (1)–(3) are augmented by initial conditions for the saturation and boundary conditions for the pressure. Since saturation and the gradient of the pressure uniquely determine the velocity, no boundary conditions are necessary for the velocity. Since the flow equations do not contain time derivatives, initial conditions for the velocity and pressure variables are not required. The flow field separates the boundary into inflow or outflow parts. Specifically, Γin (t) = {x ∈ ∂Ω : n · ut < 0} , (8) and we arrive at a complete model by also imposing boundary values for the saturation variable on the inflow boundary Γin . 9 3 Numerical methods As noted in the Introduction, the numerical solution of equations (1)–(3) is computationally costly. Efficient state-of-the-art algorithms are described in detail in the following subsections. 3.1 Adaptive operator splitting and time stepping The time stepping schemes most commonly used to solve equations (1)–(3) of the kind are of IMPES (implicit pressure, explicit saturation) type in which one first solves the implicit pressure/velocity system (1)–(2) with the current saturation values, and then uses an explicit time stepping scheme to advance the saturation by one time step using (3). The vast majority of computing time in such schemes is spent in the implicit solver for the pressure and velocity variables. Computing efforts may be significantly reduced by noting that the pressure and velocity fields depend only weakly on the saturation, and therefore do not change significantly between time steps, whereas saturation fronts typically move by one cell in each step. Intuitively, a net reduction in computing time should be achievable by rebalancing the computing efforts between the saturation and the pressure/velocity system. An operator splitting approach to achieve this consists of solving for the saturation at every time step, and only updating the velocity and pressure whenever necessary (we will call the intervals between such updates “macro timesteps”). Such a method is described by Abreu et al. in [58] where the pressure system is only solved once per fixed number of saturation time steps. A better approach would let the length of the macro timesteps depend adaptively on the changes incurred in the saturation since the last update. To derive such a scheme, let superscripts in parentheses denote the number of the time 10 step at which a quantity is defined. Furthermore, let np < n be the last step at which we actually computed the velocity and pressure variables, and npp < np be the next-to-last step at which this happened. For the coupling in the saturation equation, we only need (n) (n) the velocity ut ; however, we don’t want to compute ut at each time step but rather use a quantity already computed. Consequently, we need a criterion that tells us when (n) this approximation becomes inadequate, i.e. we need to estimate kut (np ) − ut k without (n) actually computing ut . We will not attempt to derive such an estimate at the level of the original partial differential equation. Rather, let us assume (as discussed further down below) that we have discretized the velocity-pressure equations with one of the usual finite element methods. Then, if we were to solve for the discretized pressure and velocity in time step n, they would have to satisfy the system of equations U(n) BT 0 u (n−1) M (S ) B 0 (n) P = , (n) (9) F2 where B, BT correspond to the operators −div and ∇, respectively, and Mu (S) corresponds to K−1 λt (S)−1 . Obviously, U(np ) , P(np ) have to satisfy a corresponding set of equations. Then we have the following lemma: Lemma 1 Let U(np ) , P(np ) and U(n) , P(n) be solutions to (9) at time steps np and n, (np ) respectively, and assume that the source terms are constant in time, i.e. F2 (n) = F2 = F2 . Then there exists a constant C so that (n) U − U(np ) ≤ C Mu (S (n−1) ) − Mu (S (np −1) ) for any vector norm on the left hand side and associated matrix norm on the right. 11 (10) Proof Let A(S) = u M (S) B BT 0 , V= U , G= P 0 F2 . Then V(n) = A(S (n−1) )−1 G and V(np ) = A(S (np −1) )−1 G. Consequently, (n) U − U(np ) ≤ V(n) − V(np ) h i = A(S (n−1) )−1 − A(S (np −1) )−1 G ≤ A(S (n−1) )−1 − A(S (np −1) )−1 kGk h i = A(S (n−1) )−1 A(S (np −1) ) − A(S (n−1) ) A(S (np −1) )−1 kGk ≤ A(S (n−1) )−1 A(S (np −1) )−1 A(S (np −1) ) − A(S (n−1) ) kGk . The claim follows by observing that among the components of A only M u depends on the saturation, i.e. A(S (np −1) ) − A(S (n−1) ) = M u (S (np −1) ) − M u (S (n−1) ), and setting C = supS kA(S)−1 k2 kF2 k, assuming uniform boundedness of A(S) as a function of saturation S. Since the preceding lemma holds for any vector and associated matrix norm, we may choose one that allows for the convenient evaluation of the above expression. This leads to the following statement: Theorem 2 Under the same assumptions as in the previous lemma, we have (n) U (n) U − U(np ) 1 − U(np ) ∞ ≤ ≤ 1 1 −1 C1 max |κ| − kK k ∞ , 1 λt (S (n−1) ) L (κ) κ∈T λt (S (np −1) ) L∞ (κ) 1 1 −1 − kK k , C∞ max |κ| ∞ ∞ λt (S (n−1) ) L (κ) κ∈T λt (S (np −1) ) ∞ (11) (12) L (κ) Proof Recall that Mu (S)ij = (Kλt (S))−1 vi , vj element shape functions, we have P j Ω . Furthermore, for all common finite vj = e with e = (1, 1)T in 2D and similar in 3D. 12 Then u (n−1) M (S ) − Mu (S (np −1) ) = ∞ = −1 −1 X (np −1) (n−1) vi , vj − Kλt S Kλt S max i Ω j # Z " 1 1 max − eT K−1 vi dΩ. (n−1) (n −1) p i λt (S ) λt (S ) Ω By our choice of finite element space, each of the shape functions vi is nonzero in only one vector component. Furthermore, it is nonzero only on a patch ωi ⊂ Ω that is the union of a number of cells. Let nv be the maximal number of cells meeting at any one vertex of the triangulation T, then u (n−1) M (S ) − Mu (S (np −1) ) ∞ ≤ ≤ max i 1 ωi λt (S (n−1) ) Z 1 nv max |κ| κ∈T λt (S (n−1) ) − − kK−1 k1 dωi (n −1) p λt (S ) 1 −1 kK k ∞ . 1 L (κ) λt (S (np −1) ) ∞ 1 (13) L (κ) The first statement of the theorem follows from this by the previous lemma, combining the norm dependent constant C and nv into C1 . The second claim of the theorem is proven in exactly the same way. Remark 3 Intuitively, one would expect U(n) − U(np ) to grow with the distance of 1 S (n−1) from S (np −1) but be more or less independent of the spatial discretization. On the other hand, the previous theorem seems to indicate that the difference in velocities decreases with the size of mesh cells κ ∈ T since hd = |κ| appears on the right hand side (with d = dim Ω). This latter conclusion is a fallacy, however: the constants C in the previous lemma contains grows like h−d , canceling this factor. Consequently, it is indeed the change in inverse mobilities λ−1 t (S) along with the permeability that determines the change in velocities. 13 Following this reasoning, let us define the following indicator function derived from the first estimate of the theorem above: θ(n, np ) = 1 max λt (S (n−1) ) κ∈T − (n −1) p λt (S ) 1 L∞ (κ) kK−1 k1 L∞ (κ) . (14) (Due to the symmetry of K, we have kK−1 k1 = kK−1 k∞ and the second estimate of the theorem yields the same formula.) This quantity is easily and cheaply evaluated in each time step n. We then update the velocities and pressures by solving (9) whenever we find that θ(n, np ) ≥ θ∗ with θ∗ a user-provided threshold. Remark 4 When using adaptive meshes, one could argue that the constant C and the cell size |κ| in the estimates of the theorem do not cancel, but instead should combine to form an indicator of the kind θ(n, np ) = max κ∈T hd κ 1 1 −1 kK k ∞ , − 1 L (κ) ĥd λt (S (n−1) ) λt (S (np −1) ) L∞ (κ) (15) where hκ = diam κ and ĥ is either an average cell diameter or the diameter of the smallest cell in the domain. Such an indicator function does make sense: it deemphasizes changes in the mobility due to changes in the saturation on small cells since small cells have less influence on the global flow field. On the other hand, one can argue that we care more about small changes on small cells since we refined them adaptively in the first place. Following this latter line of reasoning, our code uses the original criterion (14). Remark 5 In the common case of a diagonal permeability tensor K(x) = k(x)1 the evaluation of (14) can be simplified using kkK−1 k1 kL∞ (κ) = kk −1 kL∞ (κ) . In summary, the algorithm outlined above allows us to perform a number of saturation time steps of length ∆t(n) until criterion (14) tells us to re-compute velocity and pressure c 14 variables, leading to a macro time step of length ∆tp(n) = n X ∆t(i) c . i=np +1 We choose the length of (micro) steps subject to the Courant-Friedrichs-Lewy (CFL) restriction according to the criterion ∆tc = minK hK , 7kut kL∞ (Ω) (16) which we have confirmed to be stable for the choice of finite element and time stepping scheme for the saturation equation discussed below (hK denotes the diameter of cell K). The result is a scheme where neither micro nor macro time steps are of uniform length, and both are chosen adaptively. As an implementation detail, we note that we always solve the pressure-velocity part in the first three micro time steps to ensure accuracy at the beginning of computation, and to provide starting data to linearly extrapolate previously computed velocities to the current time step. A detailed description of the overall algorithm is shown in Algorithm 1. 15 Algorithm 1 Adaptive operator splitting for time steps n ≥ 3 npp ← 1; np ← 2; for n ← 3 to l do Compute the indicator θ(n, np ) for recomputing ut , p from (14); if θ > θ∗ then (n) Solve the pressure-velocity system for ut , p(n) ; (n) u∗t ← ut ; npp ← np ; np ← n; else (np ) Compute u∗t by linear exptrapolation to t(n) of ut (npp ) , ut defined at t(np ) , t(npp ) ; end Solve the saturation transport equation for S (n) using u∗t ; end 3.2 Spatial discretization and adaptive mesh refinement strategy The IMPES scheme described above requires the separate solution of velocity/pressure and saturation equations. We discretize these on the same mesh composed of quadrilaterals or hexahedra, using continuous Q2 elements for the velocity and Q1 elements for the pressure; this choice satisfies the usual Ladyzhenskaya-Babuska-Brezzi (LBB) conditions [69,20]. We use continuous Q1 finite elements to discretize the saturation equation. As mentioned in the introduction, choosing meshes adaptively to resolve sharp saturation fronts is an essential ingredient to achieve efficiency in our algorithm. Here, we use the same shock-type refinement approach used in [24] to select those cells that should be refined or coarsened. The refinement indicator for each cell K of the triangulation is 16 computed by ηK = |∇Sh (xK )| (17) where Sh (xK ) is the discrete saturation variable evaluated at the center of cell K. This approach is analogous to ones frequently used in compressible flow problems, where density gradients are used to indicate refinement. Cells are coarsened if ηK < θc = 1.1 and refined if ηK > θr = 1.7, see also [24]. Meshes resulting from this choice can be seen, for example, in Figures 2 and 5 below. 3.3 Artificial diffusion stabilization of the saturation equation The chosen Q1 elements for the saturation equation do not lead to a stable discretization without upwinding or other kinds of stabilization, and spurious oscillations will appear in the numerical solution. Adding an artificial diffusion term is is one approach to eliminating these oscillations [20]. On the other hand, adding too much diffusion smears sharp fronts in the solution and suffers from grid-orientation difficulties [20]. To avoid these effects, we use the artificial diffusion term proposed by Guermond and Pasquetti [25] and already validated in [24]. This method modifies the (discrete) weak form of the saturation equation (3) to read ! ∂Sh + (ν(Sh )∇Sh , ∇ϕh ) = 0 , ϕh − (ut F (Sh ) , ∇ϕ) + n · ut F̂ (Sh ) , ϕ ∂Ω ∂t ∀ϕh , (18) where ν is the artificial diffusion parameter and F̂ is an appropriately chosen numerical flux on the boundary of the domain (we choose the obvious full upwind flux for this). Following Guermond and Pasquetti [25], we use the parameter as a piecewise constant 17 function set on each cell K with the diameter hK as ( ν(S)|K = βkut kL∞ (K) min kRes(S)kL∞ (K) hK , hαK c(ut , S) ) (19) where α is a stabilization exponent and β is a dimensionless user-defined stabilization constant. Following Guermond and Pasquetti [25] as well as Kronbichler and Bangerth [70], the velocity and saturation global normalization constant, c(ut , S), and the residual Res(S) are respectively given by c(ut , S) = cR kut kL∞ (Ω) var(S)|diam(Ω)|α−2 (20) and ! ∂S + ut · ∇F (S) + F (S)q · S α−1 Res(S) = ∂t (21) where cR is a second dimensionless user-defined constant, diam(Ω) is the diameter of the domain and var(S) = maxΩ S − minΩ S is the range of the present saturation values in the entire computational domain Ω. This stabilization scheme has a number of advantages over simpler schemes such as finite volume (or discontinuous Galerkin) methods or streamline upwind Petrov Galerkin (SUPG) discretizations. In particular, the artificial diffusion term acts primarily in the vicinity of discontinuities since the residual is small in areas where the saturation is smooth. It therefore provides for a higher degree of accuracy. On the other hand, it is nonlinear since ν depends on the saturation S. We avoid this difficulty by using an explicit Euler time stepping method, which leads to the following fully discrete problem at time step n: (n) (n−1) Sh , ϕh = Sh (n−1) , ϕh + ∆t(n) u∗t F Sh c (n−1) n · u∗t F̂ Sh − ∆t(n) c ,ϕ , ∇ϕ (n−1) ∂Ω − ∆t(n) c (ν(Sh (np ) where u∗t is the velocity linearly extrapolated from ut 18 (n−1) )∇Sh , ∇ϕh ) (npp ) and ut ∀ϕh , (22) to the current time (n) t(n) (see Algorithm 1). Consequently, the equation is linear in Sh and all that is required is to solve with a mass matrix on the saturation space. 3.4 Linear system and its preconditioning Following the discretization of the governing equations (1)–(3) discussed above, we obtain a linear system of equations in time step (n) of the following form: U(n) BT 0 u M B (n) 0 P S (n) 0 H S 0 M = 0 F2 (23) F3 where the individual matrices and vectors are defined as follows using shape functions vi for velocity, and φi for both pressure and saturation: Muij = Kλt S (n−1) −1 vi , vj , Ω (24) Hij = −∆t(n) F S (n−1) vi , ∇φj c Bij = − (∇ · vj , φi )Ω , (F2 )i = − F S (n−1) q, φi MSij = (φi , φj )Ω Ω , (25) Ω (26) and F3 as given in (22). The linear system above is of block triangular form if we consider the top left 2 × 2 panel of matrices as one block. We can therefore first solve for the velocity and pressure (unless we decide to use U(np ) in place of the velocity, as discussed in Section 3.1) followed by a 19 solve for the saturation variable. The first of these steps requires us to solve U(n) BT 0 u M B 0 (n) P = F2 (27) We apply the Generalized Minimal Residual (GMRES) method (Saad and Schultz [71]) to this linear system. The ideal preconditioner for the system (27) is P= u M 0 B −S P−1 = , (Mu )−1 −1 S B (Mu )−1 0 −1 (28) −S where S = B (Mu )−1 BT is the Schur complement [72] of the system. This preconditioner is optimal since u M −1 P B BT 0 = I (Mu )−1 BT 0 , I (29) and consequently all eigenvalues are equal to one. GMRES with this preconditioner would then converge in one iteration. However, we cannot of course expect to use exact inverses of the velocity mass matrix and the Schur complement. We therefore follow the approach by Silvester and Wathen [68] originally proposed for the Stokes system. Adapting it to the current set of equations yield the preconditioner P̃−1 = ^ u )−1 (M g ^ u )−1 S−1 B(M 0 −1 −Sg (30) where a tilde indicates an approximation of the exact inverse matrix. In particular, since 20 (Mu )−1 = (Kλt )−1 vi , vj Ω is a sparse symmetric and positive definite matrix, we choose ^ u )−1 a single application of a sparse incomplete Cholesky decomposition of this for (M matrix [73]. We note that the Schur complement that corresponds to the porous media flow operator in non-mixed form, −∇ · [Kλt (S)]∇ and S̃ = ((Kλt ) ∇φi , ∇φj )Ω should be a good approximation of the actual Schur complement matrix S. Since both of these matrices are again symmetric and positive definite, we use an incomplete Cholesky decomposition −1 . It is important to note that S̃ needs to be built with Dirichlet boundary of S̃ for Sg conditions to ensure its invertibility. Once the velocity is available U(n) ≡ u∗t (see operator splitting Algorithm 1), we can assemble H and F3 and solve for the saturations using MS S(n) = F3 − HU(n) . (31) where the mass matrix MS is solved by the conjugate gradient method, using an incomplete Cholesky decomposition as preconditioner once more. 4 Numerical test cases We have implemented our methods in a program based on the C++ deal.II library [17,18]. The implementation discussed here uses and extends parts of the step-21, step-31 and step-33 tutorial programs of this library [26,74,70]. We use the implementation of the incomplete Cholesky decomposition provided by the Trilinos library [75]. In the Introduction, we show numerical results that illustrate the efficiency and accuracy of our combined methods in solving Equations (1)–(3) augmented by appropriate initial and boundary in conjunction with two different choices of the permeability model. In the problems considered, there is no internal source term (q = 0). 21 For simplicity, we choose Ω = [0, 1]d , d = 2, 3, though all methods (as well as our implementation) should work equally well on general unstructured meshes. 4.1 Initial and boundary conditions Initial conditions are only required for the saturation variable, and we choose S(x, 0) = 0, i.e. the porous medium is initially filled by the non-wetting phase. We prescribe a linear pressure on the boundaries: p(x, t) = 1 − x on ∂Ω × [0, T ]. (32) As discussed in Section 2, pressure and saturation uniquely determine a velocity, and the velocity determines whether a boundary segment is an inflow or outflow boundary. On the inflow part of the boundary, Γin (t), we impose S(x, t) = 1 on Γin (t) ∩ {x = 0} , (33) S(x, t) = 0 on Γin (t)\ {x = 0} . (34) In other words, the domain is flooded by the wetting phase from the left. No boundary conditions for the saturation are required for the outflow parts of the boundary. 4.2 Absolute permeability model In Section 5, we consider heterogeneous but isotropic porous media, i.e. we choose the permeability tensor as K (x) = k(x) · 1. 22 (35) We consider the two porous medium models used previously by Li and Bangerth [26]. The first test case corresponds to a single crack along a sine curve: y − 0.5 − 0.1 · sin (10x) k(x) = ksm (x) = max exp − 0.1 !2 , 0.01 . (36) The second test case corresponds to a porous medium with random permeability prescribed using ( k(x) = krm (x) = min max (N X ) Ψl (x), 0.01 , 4 , l=1 ) |x − xl | Ψl (x) = exp − 0.05 !2 (37) . The N centers xl of high permeability regions are randomly chosen in Ω. We will present results for N = 50, and N = 200. The corresponding three permeability fields are shown in Figure 1. The two permeability fields are truncated from above and below to ensure a reasonable limit on the heterogeneous contrast. All the numerical and physical parameters used for the 3D cases are listed in Table 1. 5 Results and discussion In this section, we first validate the methods by solving a two-dimensional test case and comparing solutions to those previously obtained with a simple finite element method. We then demonstrate the approach for three-dimensional computations and in particular show the speedup obtained from our methods. 23 Table 1 Parameters used in the model PARAMETER SYMBOL VALUE UNIT 1.0 - Viscosity (wetting) µw 0.2 kg · m−1 · sec−1 Viscosity (nonwetting) µnw 1.0 kg · m−1 · sec−1 Stabilization exponent α 1.0 - Stabilization constant β 0.27 - Normalization constant cR 1.0 - Number of high-permeability regions N 50; 200 - Operator splitting threshold θ∗ 5.0 - Porosity 5.1 2D validation We compare results obtained with the adaptive grid and operator splitting methods to previous work using uniform grids in which Raviart-Thomas finite elements [76] are used for velocity and piecewise constant, discontinuous Galerkin (DG) elements for pressure and saturation. This combination satisfies the usual stability condition [69]. The results were obtained by the program used in [26]. We consider the 2D version of the first test case laid out in the previous section. Parameters used in our program are those listed in Table 1 except that the stabilization constant β which is chosen as 0.3. 24 First, consider the case when the pressure-velocity system is solved once every 10 saturation time steps (fixed operator splitting). Figures 2a and 2b compare saturation contours in the single crack case between these two discretizations at t = 0.589 in the single crack case. Figures 2c and 2d show saturation profiles along y = 0.5 and x = 0.2, respectively. The results are essentially identical. Figure 3 shows the same saturation profiles but where the pressure-velocity system is solved only once every 30, 60, and 90 saturation time steps; it is obvious that the errors are getting more noticeable as the frequency of solving the pressure-velocity part decreases. In contrast to this, when we drive the operator splitting by criterion (14) with θ∗ = 5, the difference between the two methods vanishes (see Figure 4), justifying our proposed indicator for operator splitting. 5.2 3D experiments We now consider three-dimensional simulations. The number of the cells in each direction is initially set to 8 (512 total cells) and the number of degrees of freedom (DoFs) is 16, 197 in this simulation. Figures 5 and 6 show the saturation distribution and their corresponding adaptive grids as simulations progress. Due to the heterogeneity of the porous media, only a few areas of higher wetting-phase saturation are formed in highpermeability regions. Figures 7 and 8 show volume renderings of the invading wetting phase using iso-surface contours. 5.3 Performance comparison The number of saturation time steps after which the velocity and pressure variables should be solved again is shown in Figure 9 as determined by criterion (14) for two different values 25 of the threshold θ∗ . Not surprisingly, choosing a larger value for the threshold relaxes the constraints and leads to more saturation time steps between macro solves. In both cases these numbers increase as the simulation progresses. This can be explained by observing that flow initially happens along only a few fingers but then spreads out across higher permeability areas; the average velocity of the front therefore declines, leading to smaller saturation changes per time step. To illustrate the performance of our combination of h-adaptive meshes, adaptive operator splitting, and block matrix preconditioning methods, we compare the run time of different combinations of these methods (adaptive mesh, adaptive mesh + adaptive operating splitting, and adaptive mesh + adaptive operating splitting + block matrix preconditioning) in 2D and 3D simulations. The number of degrees of freedom ranges from 2, 176 to 41, 732 in 2D, and from 63, 490 to 449, 999 in 3D. All other conditions, including the use of the same CPU specifications, are identical between simulations, and we use the same parameters as well as the same minimum element size h. The base line code uses a uniform mesh, solves the velocity/pressure system in each saturation time step, and uses a Schur complement solver for this [26]. Table 2 shows run times for the various combinations. Mesh adaptivity alone improves performance in the 2D/3D cases by about 43%. Operator splitting plus adaptive grids (third column), the case in Table 2 shows an up to 92% reduction in computing time compared with using uniform grids and solving the velocity/pressure system in each time step. Finally, the combination of all methods considered herein reduces compute time by a factor of 160–180, making computations possible that would otherwise be unachievable. Using well known techniques, these excellent compute times could be further accelerated by parallelizing operations across multiple cores of a single computer, or across the nodes of a cluster. 26 Table 2 Comparison of performance (testing total wall clock time from t = 0 to t = 2 in the case of N = 200 and θ∗ = 5) between four numerical combinations: Uniform Mesh (“UM”), Adaptive Mesh (“AM”), Adaptive Mesh plus Adaptive Operator Splitting (“AM+AOS”) and Adaptive Mesh plus Adaptive Operator Splitting plus Block Preconditioning (“AM+AOS+BP”). UM AM AM+AOS AM+AOS +BP 6 Compute time in 2D (days) 7.2 4.2 0.2 0.04 Compute time in 3D (days) 96.5 55.9 7.5 0.58 Conclusions and Future Work Motivated by computational expense of the methods that are traditionally used for this task, we have presented efficient integrated numerical methods allowing high-resolution simulation of two-phase flow in porous media. The methods are based on a finite element discretization using continuous elements, and consist of (i) an adaptive operator splitting method that only recomputes the velocity and pressure variables whenever necessary, as determine by a newly proposed objective indicator; (ii) block matrix preconditioning methods that greatly reduce the compute time needs; (iii) an entropy-based stabilizing term that preserves accuracy and ensures stability; (iv) locally adaptive refinement allowing highly resolved time dependent simulations. The robustness and effectiveness of the numerical methods were demonstrated through 2D/3D simulations and comparing both the accuracy of solutions as well as the required CPU time. More complex multiphase flows involve additional physical processes, such as multiple interacting phases or capillary effects with a capillary pressure relationship that is fundamen27 tally dependent on material properties and operating conditions, saturation, wettability, and other material properties [77–79]. The addition of such terms obviously complicates the computation of solutions, but we believe that the techniques described herein can readily be extended to such problems. In particular, following a similar mathematical procedure to that described in Section 3.1, it should be possible to extend our operator splitting indicator to these more complex situations. 7 Acknowledgments The work of the first and third authors was funded through the Canada Research Chairs Program and the MITACS Network of Centres of Excellence. Parts of the work by the second author were funded through Award No. KUS-C1-016-04, made by the King Abdullah University of Science and Technology, and through an Alfred P. Sloan Research Fellowship. Some computational resources used here were also funded by NSF award DMS-0922866. Thanks are due to Dr. Zhangxin Chen (University of Calgary) for his invaluable insights on finite element theory, to Dr. Sergey Mashchenko (McMaster University) for installing the relevant libraries, and to the first author’s wife, Mrs. Hsiao-Yun Janette Cheng (PhD candidate, University of Sheffield), for helping with the graphics. Access to the Shared Hierarchical Academic Research Computing Network (SHARCNET, http://www.sharcnet.ca) and Compute/Calcul Canada is gratefully acknowledged. References [1] K Aziz and A Settari. Petroleum Reservoir Simulation. Applied Science Publishers LTD, London, 1979. 28 [2] DW Peaceman. Fundamentals of Numerical Reservoir Simulation. Elsevier, Amsterdam, 1977. [3] MG Gerritsen and LJ Durlofsky. Modeling fluid flow in oil reservoirs. Annual Review of Fluid Mechanics, 37(1):211–238, 2005. [4] D McKenzie. The extraction of magma from the crust and mantle. Earth Planet. Sc. Letters, 74:81–91, 1985. [5] J Larminie and A Dicks. Fuel Cell Systems Explained. Wiley, 2006. [6] MM Mench. Fuel Cell Engines. Wiley, 2008. [7] N Djilali. Computational modelling of polymer electrolyte membrane (PEM) fuel cells: challenges and opportunities. Energy, 32(4):269–280, 2007. [8] T Berning and N Djilali. A 3D, multiphase, multicomponent model of the cathode and anode of a PEM fuel cell. Journal of The Electrochemical Society, 150(12):A1589–A1598, 2003. [9] A Taniguchi, T Akita, K Yasuda, and Y Miyazaki. Analysis of electrocatalyst degradation in PEMFC caused by cell reversal during fuel starvation. Journal of Power Sources, 130(12):42–49, 2004. [10] M Piri and MJ Blunt. Three-dimensional mixed-wet random pore-scale network modeling of two- and three-phase flow in porous media. I. Model description. Phys. Rev. E, 71(2):026301, Feb 2005. [11] M Piri and MJ Blunt. Three-dimensional mixed-wet random pore-scale network modeling of two- and three-phase flow in porous media. II. Results. Phys. Rev. E, 71(2):026302, Feb 2005. [12] MJ Blunt. Flow in porous media – pore-network models and multiphase flow. Current Opinion in Colloid and Interface Science, 6(3):197–207, 2001. 29 [13] B Markicevic, A Bazylak, and N Djilali. Determination of transport parameters for multiphase flow in porous gas diffusion electrodes using a capillary network model. Journal of Power Sources, 171(2):706–717, 2007. [14] A Bazylak, V Berejnov, B Markicevic, D Sinton, and N Djilali. Numerical and microfluidic pore networks: Towards designs for directed water transport in GDLs. Electrochimica Acta, 53(26):7630–7637, 2008. [15] DA Wolf-Gladrow. Lattice-Gas Cellular Automata and Lattice Boltzmann Models: An Introduction. Lecture Notes in Mathematics, Springer-Verlag, 2000. [16] S Succi. The Lattice Boltzmann Equation for Fluid Dynamics and Beyond. Oxford Science Press, 2001. [17] W Bangerth, R Hartmann, and G Kanschat. deal.II – a general purpose object oriented finite element library. ACM Trans. Math. Softw., 33(4):24/1–24/27, 2007. [18] W Bangerth, R Hartmann, and G Kanschat. deal.II Differential Equations Analysis Library, Technical Reference, 2010. http://www.dealii.org/. [19] B van Leer. Upwinding and high-resolution methods for compressible flow: from donor cell to residual-distribution schemes. Communications in Computational Physics, 1:192–206, 2006. [20] Z Chen. Finite Element Methods and Their Applications. Springer, 2005. [21] D Kröner. Numerical Schemes for Conservation Laws. Wiley/Teubner, 1997. [22] R Helmig. Multiphase Flow and Transport Processes in the Subsurface. Springer-Verlag, Heidelberg, 1997. [23] M von Paul. Simulation of Two-phase Flow Processes in Heterogeneous Porous Media with Adaptive Methods. Dissertation, Universität Stuttgart, Institut für Wasserbau, 2003. 30 [24] CC Chueh, M Secanell, W Bangerth, and N Djilali. Multi-level adaptive simulation of transient two-phase flow in heterogeneous porous media. Computers and Fluids, 39:1585– 1596, 2010. [25] JL Guermond and R Pasquetti. Entropy-based nonlinear viscosity for fourier approximations of conservation laws. Comptes Rendus Mathematique, 346(13-14):801–806, 2008. [26] Y Li and W Bangerth. The deal.II tutorial manual: step-21. http://dealii.org/developer/doxygen/deal.II/step 21.html. [27] I Babuška and WC Rheinboldt. Error estimates for adaptive finite element computations. SIAM Journal on Numerical Analysis, 15(4):736–754, 1978. [28] M Ainsworth and JT Oden. A Posteriori Error Estimation in Finite Element Analysis. John Wiley and Sons, 2000. [29] R Verfürth. A Review of A Posteriori Error Estimation and Adaptive Mesh Refinement Techniques. Wiley/Teubner, New York, Stuttgart, 1996. [30] GF Carey. Computational Grids: Generation, Adaptation and Solution Strategies. Taylor & Francis, 1997. [31] W Bangerth and R Rannacher. Adaptive Finite Element Methods for Differential Equations. Birkhäuser Verlag, 2003. [32] P Ellsiepen. Zeit- und ortsadaptive Verfahren angewandt auf Mehrphasenprobleme por̈oser Medien. Dissertation, Universität Stuttgart, Institut für Mechanik, Lehrstuhl II, 1999. [33] R Hinkelmann. Efficient Numerical Methods and Information-Processing Techniques in Environment Water. Habilitation, Universität Stuttgart, 2002. [34] H Tang and T Tang. Adaptive mesh methods fo one-and two-dimensional hyperbolic conservation laws. SIAM Journal on Numerical Analysis, 41(2):487, 2003. [35] Z Tan, Z Zhang, Y Huang, and T Tang. Moving mesh methods with locally varying time steps. Journal of Computational Physics, 200(1):347–367, 2004. 31 [36] Z Tan, T Tang, and Z Zhang. A simple moving mesh method for one- and two-dimensional phase-field equations. Journal of Computational and Applied Mathematics, 190(1-2):252– 269, 2006. [37] Y Di, R Li, T Tang, and P Zhang. Moving mesh finite element methods for the incompressible Navier-Stokes equations. SIAM Journal on Scientific Computing, 26(3):1036–1056, 2005. [38] Y Di, R Li, T Tang, and P Zhang. Moving mesh methods for singular problems on a sphere using perturbed harmonic mappings. SIAM Journal on Scientific Computing, 28(4):1490– 1508, 2006. [39] Y Di, R Li, and T Tang. A general moving mesh framework in 3d and its application for simulating the mixture of multi-phase flows. Communications in Computational Physics, 3:582–602, 2008. [40] R Li and T Tang. Moving mesh discontinuous galerkin method for hyperbolic conservation laws. Journal of Scientific Computing, 27:347–363, 2006. [41] YB Zhang, H Wang, and T Tang. Simulating two-phase viscoelastic flows using moving finite element methods. Communications in Computational Physics, 7:333–349, 2010. [42] MJ Berger and P Colella. Local adaptive mesh refinement for shock hydrodynamics. Journal of Computational Physics, 82(1):64–84, 1989. [43] DW Peaceman and HH Rachford. The numerical solution of parabolic and elliptic equations. J. Soc. Indust. Appl. Math., 3:28–41, 1955. [44] J Douglas. On the numerical integration of ∂2u ∂x2 + ∂2u ∂y 2 = ∂u ∂t . J. Soc. Indust. Appl. Math., 3:42–65, 1955. [45] J Douglas and DW Peaceman. Numerical solution of two-dimentional heat flow problems. American Institute of Chemical Engineering Journal, 1:505–512, 1955. [46] J Douglas and DW Peaceman. On the numerical solution of heat conduction problems in two and three space variables. Transaction of the American Mathematical Society, 82:421–439, 32 1960. [47] J Douglas, DW Peaceman, and HH Rachford. A method for calculating multi-dimentional immiscible displacement. Trans. of AIME, 216:297–308, 1959. [48] EG D’yakonov. On an iterative method for the solution of a system of finite-difference equations. DAN SSSR, 143:522–525, 1961. [49] NN Yanenko. Méthode a Pas Fractionnaires. Librairie Armand Colin, Paris, 1968. [50] MS Espedal and RE Ewing. Characteristic petrov-galerkin subdomain methods for twophase immiscible flow. Computer Methods in Applied Mechanics and Engineering, 64(13):113–135, 1987. [51] HK Dahle. Operator Splitting Techniques for Convection-Dominated Diffusion Problems in One and Two Space Dimensions. PhD Thesis, Department of Mathematics, University of Bergen, Norway, 1988. [52] MS Espedal and KH Karlsel. Numerical Simulation of Reservoir Flow Models Based on Large Time Step Operator Splitting Algorithms, volume 1734. Lecture Notes in Mathematics (Springer-Verlag, New York), 2000. [53] KH Karlsen, KA Lie, JR Natvig, HF Nordhaug, and HK Dahle. Operator splitting methods for systems of convection-diffusion equations: Nonlinear error mechanisms and correction strategies. Journal of Computational Physics, 173(2):636–663, 2001. [54] JW Sheldon, B Zondek, and WT Cardwell. One-denmensional, incompressible, non-capillary, two-phase fluid flow in a porous medium. T. SPE AIME, 216:290–296, 1959. [55] HL Stone and Jr. Garder. Analysis of gas-cap or dissolved-gas reservoirs. T. SPE AIME, 222:92–104, 1961. [56] Z Chen. Computational Methods for Multi-phase Flows in Porous Media. SIAM, 2006. [57] Z Chen, G Huan, and B Li. An improved impes method for two-phase flow in porous media. Transport in Porous Media, 54:361–376, 2004. 33 [58] E Abreu, J Douglas, F Furtado, and F Pereira. Operating splitting for three-phase flow in heterogeneous porous media. Communications in Computational Physics, 6:72–84, 2009. [59] GA Cederberg, RL Street, and JO Leckie. A groundwater mass transport and equilibrium chemistry model for multicomponent systems. Water Resources Research, 21(8):1095–1104, 1985. [60] AL Walter, EO Frind, DW Blowes, CJ Ptacek, and JW Molson. Modeling of multicomponent reactive transport in groundwater 1. model development and evaluation. Water Resources Research, 30(11):3137–3148, 1994. [61] A Zysset, F Stauffer, and T Dracos. Modeling of chemically reactive groundwater transport. Water Resources Research, 30(7):2217–2228, 1994. [62] LSJ Bell and PJ Binning. A split operator approach to reactive transport with the forward particle tracking eulerian lagrangian localized adjoint method. Advances in Water Resources, 27(4):323–334, 2004. [63] AI James and JW Jawitz. Modeling two-dimensional reactive transport using a godunovmixed finite element method. Journal of Hydrology, 338(1-2):28–41, 2007. [64] T Rusten and R Winther. A preconditioned iterative method for saddlepoint problems. SIAM Journal on Matrix Analysis and Applications, 13(3):887–904, 1992. [65] DN Arnold, RS Falk, and R Winther. Preconditioning H(div) and applications. Mathematics of Computation, 66:957–984, 1997. [66] CE Powell and D Silvester. Optimal preconditioning for raviart–thomas mixed formulation of second-order elliptic problems. SIAM Journal on Matrix Analysis and Applications, 25(3):718–738, 2003. [67] CE Powell. Parameter-free H(div) preconditioning for a mixed finite element formulation of diffusion problems. IMA J Numer Anal, 25(4):783–796, 2005. 34 [68] D Silvester and A Wathen. Fast iterative solution of stabilised Stokes systems part ii: Using general block preconditioners. SIAM Journal on Numerical Analysis, 31(5):1352–1367, 1994. [69] F Brezzi and M Fortin. Mixed and Hybrid Finite Element Methods. Springer-Verlag, 1991. [70] D Neckels and W Bangerth. The deal.II tutorial manual, step-33. http://dealii.org/developer/doxygen/deal.II/step 33.html. [71] Y Saad and MH Schultz. Gmres: A generalized minimal residual algorithm for solving nonsymmetric linear systems. SIAM Journal on Scientific and Statistical Computing, 7(3):856–869, 1986. [72] F Zhang. The Schur Complement and its Applications. Springer, 2005. [73] GH Golub and CF van Loan. Matrix Computations. 3rd Edition, Johns Hopkins, 1996. [74] M Kronbichler and W Bangerth. The deal.II tutorial manual: step-31. http://dealii.org/developer/doxygen/deal.II/step 31.html. [75] MA Heroux, RA Bartlett, VE Howle, RJ Hoekstra, JJ Hu, TG Kolda, RB Lehoucq, KR Long, RP Pawlowski, ET Phipps, AG Salinger, HK Thornquist, RS Tuminaro, JM Willenbring, A Williams, and KS Stanley. An overview of the trilinos project. ACM Trans. Math. Softw., 31(3):397–423, 2005. [76] PA Raviart and JM Thomas. A Mixed Finite Element Method for 2nd Order Elliptic Problems, volume 606. In: Mathematical Aspects of the Finite Element Method Lecture Notes in Mathematics (Springer-Verlag, Berlin), 1977. [77] EC Kumbur, KV Sharp, and MM Mench. Validated leverett approach for multiphase flow in pefc diffusion media I. Hydrophobicity effect. Journal of The Electrochemical Society, 154(12):B1295–B1304, 2007. [78] EC Kumbur, KV Sharp, and MM Mench. Validated leverett approach for multiphase flow in pefc diffusion media II. Compression effect. Journal of The Electrochemical Society, 154(12):B1305–B1314, 2007. 35 [79] EC Kumbur, KV Sharp, and MM Mench. Validated leverett approach for multiphase flow in pefc diffusion media III. Temperature effect and unified approach. Journal of The Electrochemical Society, 154(12):B1315–B1324, 2007. Fig. 1. Permeability fields of random porous media (top: 3D contours, bottom: surface contours inside the entire 3D domain at x = 0.5 of Y − Z plane, y = 0.5 of X − Z plane, z = 0.5 of X − Y plane) (a) N = 50. (b) N = 200. 36 Fig. 2. Numerical results for the single crack medium in comparison with previous work of Li and Bangerth [26] at t = 0.589 when the pressure-velocity system is solved once every 10 saturation time steps (fixed operator splitting). (a) Saturation field using discontinuous Galerkin space (previous work). (b) Saturation field using continuous space with the stabilizing term and operator splitting (present work). (c) Saturation profile along y = 0.5. (d) Saturation profile along x = 0.2. 37 Fig. 3. Saturation profiles along y = 0.5 (left) and along x = 0.2 (right) for the single crack medium in comparison with previous work of Li and Bangerth [26] at t = 0.589 when the pressure-velocity system is solved once every (a) 30, (b) 60, or (c) 90 saturation time steps (fixed operator splitting). 38 Fig. 4. Numerical results for the same situation as in Fig. 2 but when the decision to solve the pressure-velocity system is made adaptively using criterion (14) with θ∗ = 5. 39 Fig. 5. Saturation distribution contours in a random porous medium (eq. (37), N = 50) with corresponding adaptive grids at t = 2.58 with 7, 820 elements and 242, 771 degrees of freedom: (a) 3D contour. (b) Surface contours of X − Y plane at z = 0.0, 0.5, 1.0. (c) Surface contours of X − Z planes at y = 0.0, 0.5, 1.0. Fig. 6. Saturation distribution contours in a random porous medium (eq. (37), N = 200) with corresponding adaptive grids at t = 0.75 with 8, 464 elements and 262, 949 degrees of freedom: (a) 3D contour. (b) Surface contours of X − Y plane at z = 0.0, 0.5, 1.0. (c) Surface contours of X − Z planes at y = 0.0, 0.5, 1.0. 40 Fig. 7. Time evolution of the invading wetting phase front saturation into a random porous medium (eq. (37), N = 50) initially filled with non-wetting phase (a) t = 0.64. (b) t = 1.28. (c) t = 1.92. (d) t = 2.59. 41 Fig. 8. Time evolution of the invading wetting phase front saturation into a random porous medium (eq. (37), N = 200) initially filled with non-wetting phase (a) t = 0.19. (b) t = 0.38. (c) t = 0.57. (d) t = 0.74. Fig. 9. Numbers of saturation time steps between two solutions of the velocity-pressure system (i.e. between np and npp ) for two different thresholds (θ∗ = 5 and θ∗ = 8) in criterion (14). 42 44 Appendix C Saturation and Permeability Gradient Effects in Two-phase Flows in Heterogeneous Porous Media Saturation and Permeability Gradient Effects in Two-phase Flows in Heterogeneous Porous Media C.C. Chueh a , N. Djilali a,∗ , W. Bangerth b a Institute for Integrated Energy Systems and Department of Mechanical Engineering, University of Victoria, PO Box 3055 STN CSC, Victoria, BC, Canada, V8W 3P6 b Department of Mathematics, Texas A&M University, College Station, TX 77843-3368, USA Abstract In this work, there are two major aspects that we are trying to improve for numerical simulation of two-phase flow in heterogeneous porous media: one for the numerical part and the other for the modeling part. For the numerical part, when the mixture model of two-phase flow in porous media is used in places where there is a small amount of capillary transport, the saturation transport reduces to an advection-dominated problem, with saturation discontinuities, which is difficult to solve numerically. Without appropriate numerical methods, it is hard for scientists or engineers in the field of two-phase flow in heterogeneous porous media to better understand the formation mechanisms of complex transport phenomena. For the modeling part, there is no paper dealing with the effect of the permeability gradient on capillary transport; however, this factor is critical in order to provide realistic predictions for two-phase fluid flow in porous media. Based on these two important issues, we implement a combination of the effects of the saturation gradient and permeability gradient on capillary pressure while also considering the immobile or irreducible saturation by using state-of-the-art numerical methods. The numerical methods (the stabilized finite element method, adaptive operator splitting, adaptive mesh refinement and block matrix preconditioning) we use here maintain accuracy and stability, resolve fine-scale flow behaviors in heterogeneous porous media and reduce the computational cost. Along with Preprint submitted to Preprint for Submission 20 December 2010 our numerical predictions, for the first time, we discuss the complex two-phase interactions in heterogeneous porous media as well as the effects of different capillary intensities. In addition, physical explanations are given for the formation of complex transport phenomena. Key words: Adaptive mesh refinement; Stabilized finite element method; Operator splitting; Preconditioning; Two-phase flow; Heterogeneous porous media; Fuel cells 1 Introduction There are several natural systems and industrial applications that involve the two-phase flow in heterogeneous structures of porous media. One of the examples on which current interest is primarily focused is polymer electrolyte membrane (PEM) fuel cells in which effective water management is vital for the successful operation, performance and durability. However, achieving an optimal level of water requires a delicate balance in PEM fuel cells. Water produced from the electrochemical reactions combined with water from humidified inlet gases contribute towards necessary membrane hydration. However, the accumulation of excess liquid water in the gas diffusion layer (GDL) and gas flow channels leads to oxidant starvation and performance loss [1]. In addition to these mass transport limitations, excess liquid water can also lead to non-homogeneous current density [2], ineffective heat removal, and membrane swelling [3]. Therefore, liquid water within the fuel cells must be managed well, which can be facilitated by the simulation of realistic, complex two-phase flow process in heterogeneous porous media. Simulations can help scientists or engineers give a prognosis of whether or not a porous medium with its own material properties has the capibilities in making excess liquid water ∗ Corresponding author. Email address: [email protected] (N. Djilali). 2 flow out of it more efficiently and then, based on the results obtained from the simulations, provide useful suggestions on manufacturing process of the porous media of PEM fuel cells. As we will show below, one possible way to achieve this is to simulate two-phase flow in a porous medium with a certain permeability gradient effect generating additional capillary forces to make excess water exit the system. Despite the obvious advantage, in the existing literature, to the best of our knowledge no one has already dealt with this issue that may be crucial because, for the most part, a heterogeneous porous medium considered is constituted by a few different patches with different constant permeability values (i.e. ∇k = 0). Based on what has been mentioned above, the current study is motivated by the need to understand the effects of saturation and permeability gradients on capillary transport in heterogeneous porous media. The objective of the present work is to develop a transient, adaptive model to help predict and understand the physical formation of two-phase complex transport phenomena in heterogeneous porous media by using a state-of-the-art numerical combination of adaptive mesh refinement (AMR), adaptive operator splitting, block preconditioning and a stabilization approach, which numerical combination has been developed for an advection-dominated two-phase flow problem in our previous papers [4,5]. This paper is structured as follows: Section 2 presents the governing equations, boundary conditions and numerical method. Section 5 presents insights from the results about the dependence of capillary pressure on saturation and permeability. Finally, the paper is concluded in Section 6. 3 2 Mixture Model of Two-phase Flow in Heterogeneous Porous Media In the following, let us first derive the governing equations of the mixture model used here, taking into account in particular the heterogeneity of the rock matrix. We will also provide physical and mathematical interpretations; define relevant physical parameters, coefficients, boundary and initial conditions; introduce an absolute permeability model. All of the involved parameters are listed in Table 1. 2.1 Mixture model formulation Neglecting gravitational effects, a two-phase immiscible, incompressible, isothermal fluid can be described through mass balance equations for wetting and nonwetting phases: ∂ (ρw Sw ) + ∇ · (ρw uw ) = ρw qw , ∂t ∂ (ρnw Snw ) + ∇ · (ρnw unw ) = ρnw qnw . ∂t (1) (2) Here, S is the saturation (volume fraction) indicating the composition of the mixture of fluids and ρ is the density, is the porosity, q is the source term, u is the velocity. Subscripts w and nw denote the wetting and non-wetting phases, respectively. We will assume incompressibility, i.e., ρw , ρnw are both constant. We model the velocities uw and unw by Darcy’s Law, krw K∇pw = −λw K∇pw , µw krnw =− K∇pnw = −λnw K∇pnw , µnw uw = − unw (3) (4) where λ is the fluid mobility, kr is the relative permeability, µ is the viscosity and p is the pressure. We assume that the pore space is completely filled by the mixture, yielding the closure relation Sw + Snw = 1. K is the permeability tensor and we will in the following 4 assume isotropic permeabilities of the form K = kI. Furthermore, the two pressures are related by the capillary pressure, pc = pnw − pw . Our goal is to derive a single equation for the saturation by eliminating Snw = 1 − Sw . Since we then only deal with a single saturation variable, Sw , we will henceforth drop the index to simplify notation and refer to it by S. Then, let us define the total mobility λt and fractional flow F of the wetting phase by krw (S) krnw (S) + , µw µnw λw (S) λw (S) krw (S)/µw F (S) = = = . λt (S) λw (S) + λnw (S) krw (S)/µw + krnw (S)/µnw λt (S) = λw (S) + λnw (S) = (5) (6) Combining the equations above then yields (see also [6]) ut = −λt (S)K∇pw − λnw (S)K∇pc , ∇ · ut = qw + qnw , ∂S + ∇ · (F (S)ut ) + ∇ · (λnw (S)F (S)K∇pc ) = qw . ∂t (7) (8) (9) There remains the task of modeling the capillary pressure, pc . We follow a suggestion by Leverett [7,8] to use the so-called Leverett J-function and set pc = σc cos (θc ) (k/)1/2 J (Se ) , (10) where σc is the surface tension, k is the permeability and θc is the contact angle which varies between 0◦ and 90◦ for the hydrophilic case and between 90◦ and 180◦ for hydrophobic case. Se is the effective saturation [9–11], defined as Se = S − Sirr 1 − Sirr (11) where Sirr is the so-called immobile or irreducible saturation [9,12], representing the amount of entrapped liquid fluid. It can be regarded as a threshold point below which the liquid remains immobile. The immobile or irreducible saturation depends on the pore 5 Fig. 1. General form of the capillary pressure curve of hydrophilic porous media. structure of the medium [12] and the ratio of viscous to surface tension forces (often uinv ·µ σc expressed as the capillary number Ca = where uinv is an invading phase velocity, see [13,10]). For hydrophilic porous media, the general form of the capillary pressuresaturation curve is shown in Figure 1 [9,10]. In this work, we use the J-function proposed in [11]: J (Se ) = 1.417 (1 − Se ) − 2.120 (1 − Se )2 + 1.263 (1 − Se )3 (12) Using this model for pc , we can express equations (7)–(9) in their final form as ut = −λt (S)K∇pw − λnw (S)K ∂pc ∂pc ∇S − λnw (S)K ∇k, ∂S ∂k (13) ∇ · ut = qw + qnw , " ∂S ∂pc + ∇· F (S) ut + λnw (S)K ∇k ∂t ∂k Note that 2.2 ∂pc ∂S (14) !# ! + ∇ · λnw (S)F (S)K ∂pc ∇S = qw . ∂S (15) < 0, ensuring well-posedness of the last equation. Physical and mathematical interpretation Capillary forces act on the movement of both phases through the dependence of the total velocity ut on the capillary pressure in (13) and the dependence of the saturation S in equation (15). More specifically, however, we see from equations (1) and (3) that the 6 transport of the wetting phase is entirely determined by the wetting phase pressure pw . In models without capillary pressure, pw is determined by boundary values and the source term qw +qnw . However, in the presence of capillary forces, pnw = pw +pc takes on this role. Consequently, the forces driving the motion of the wetting fluid result from the difference pw = pnw −pc of externally applied forces and capillary pressure. The wetting fluid velocity is then given by " # ∂pc ∂pc ∇S + ∇k . uw = −λw K∇pw = −λw K∇pnw + λw K ∂S ∂k Since both partial derivatives of pc are negative, this equation implies transport (i) from high to low pressure, (ii) from high saturation areas to low saturation areas, and (iii) from areas with high permeability into areas of low permeability. The second of these effects gives rise to the diffusion term in (15). While block wise heterogenous permeabilities have been considered in the literature through interface conditions [14], we have been unable to find references that would describe differentiably heterogenous media as we have done above. Our formulation generalizes that found elsewhere in that a discontinuous permeability k would lead to a delta-like contribution to the velocity field. An alternative viewpoint is that there is an entry pressure that has to be overcome before fluids can enter one medium from another. This is in accordance with, for example, the discussion in [14]. 3 Numerical Methods We use the finite element method to solve equations (13)–(15) and follow the general outline of the algorithms described and validated in [4] and [5]. In particular, we use (i) a stable choice of continuous elements for all variables [15,16], (ii) the nonlinear artificial viscosity method by Guermond and Pasquetti’s [17] to stabilize the transport equation, 7 (iii) adaptive mesh refinement to resolve regions with large gradients, (iv) block preconditioners to accelerate the solution of the velocity-pressure system, (v) an adaptive operator split method that only recomputes the pressure and velocity whenever necessary while solving for the saturation in every step. Our implementation of these methods is based on the deal.II library [18,19] and uses parts of the step-21, step-31 and step-33 tutorial programs of this library [20–22]. 4 Numerical Testcases In the following, let us briefly describe the general setup of the testcases we will use in the numerical experiments shown in Section 5. 4.1 Relative permeabilities and other coefficients To close the system of partial differential equations (13), (14), (15) we need to define the relative permeabilities. For the purpose of this paper, we choose them as follows [23]: krw (Se ) = Se3 , krnw (Se ) = (1 − Se )3 . The fractional flow of the wetting phase F in (6) then becomes F = Se3 µw Se3 µw 3 e) + (1−S µnw = 1 1+ (1−Se )3 µw Se3 µnw . All the other physical parameters used in our computations are shown in Table 1. 8 Table 1 Parameters used in the model Parameter Symbol Value Units 0.6 - Viscosity (wetting) µw 0.2 g · cm−1 · sec−1 Viscosity (nonwetting) µnw 1.0 g · cm−1 · sec−1 Immobile or irreducible saturation Sirr 0.0 or 0.18 - Surface tension σc 10−4 or 10−2 g · sec−2 Contact angle θc 72◦ - Number of high-permeability centers Np 40 - Permeability magnitude scaling factor γm 100 - Bandwidth Bw 0.05 - Number of source/sink terms Ns 1 or 4 - The i-th wetting-phase source/sink intensity qw 2.0 sec−1 Porosity 4.2 (i) Source terms We here use the following form for the source terms qw and qnw in equations (14)–(15): qw = Ns X i=1 qw(i) χA(i) (x) , qnw = 0, s where qw(i) indicates the volume density of the fluid produced or injected per unit time at the i-th source/sink, Ns is the number of the sources/sinks and χA(i) (x) is the indicator s 9 function of the i-th sub-domain As(i) , i.e. χA (x) = 1 if x ∈ A and χA (x) = 0 otherwise. In our numerical examples, we use qw(i) = 2 (1/sec), Ns = 1 or Ns = 4, and each set (i) (1) A(i) s equal to circles of radius 0.125 cm centered at xc . If N = 1, then xc = (0.5, 0.5); (4) (3) (2) for Ns = 4, we use x(1) c = (0.25, 0.25), xc = (0.75, 0.25), xc = (0.25, 0.75), and xc = (0.75, 0.75). 4.3 Absolute permeability model In many fields, realistic media are often modeled by generating random permeabilities [24]. Following [20], we choose an isotropic permeability K = kI, where Np X k(x) = γm min max Ψl (x), 0.01 , 4 l=1 (16) with |x − xl | Ψl (x) = exp − Bw !2 . (17) Here, γm is a magnitude scaling factor. The centers xl are Np randomly chosen locations inside the domain and Bw is the bandwidth of the exponential function. This function models a domain in which there are Np regions of higher permeability embedded in a matrix of more pristine, unperturbed background rock. The permeability function is bounded both above and below to limit the size of the condition number. Figure 2 shows this permeability field with Np = 40. 4.4 Computational domain, initial and boundary conditions We perform simulations on the domain Ω = [0, 1]2 ⊂ R2 for t ∈ [0, T ]. The initial conditions are Sw (x, 0) = 0, i.e. the reservoir is filled by the non-wetting phase. The boundary conditions for the velocity/pressure equations (13) and (14) are given on all the boundaries 10 Fig. 2. Permeability field used in the present work with a fixed gauge pressure of the wetting phase as pw (x, t) = 0 on ∂Ω (18) The boundary conditions for the saturation transport equation (9) are only imposed on inflow boundaries: S(x, t) = 0 5 on Γin (t) = {x ∈ ∂Ω : n · ut < 0} . (19) Numerical Results and Discussion At the beginning, we first show the numerical validation of an advection-dominated twophase flow in uniform porous media. Then, we discuss and compare five different effects in the following order: the effect of the dependence of capillary pressure on S with Sirr = 0, the effect of the dependence of capillary pressure on S with Sirr = 0.18, the effect of the dependence of capillary pressure on S and k with Sirr = 0, the effect of the dependence of capillary pressure on S and k with Sirr = 0.18, and the effect of different capillary intensities. It is noted that, since we employ more than one value for three parameters: irreducible saturation Sirr , surface tension σc , the number of source/sinks Ns , these three 11 parameters are indicated at the beginning of sections 5.2–5.5. All other parameters are shown in Table 1. 5.1 Numerical validation of an advection-dominated two-phase flow in uniform media Table 2 Parameters used in the Buckley-Leverett problem PARAMETER SYMBOL VALUE UNIT 1.0 - Viscosity (wetting) µw 0.2 g · cm−1 · sec−1 Viscosity (nonwetting) µnw 1.0 g · cm−1 · sec−1 permeability (constant) k 0.1 cm2 Sirr 0.0 - Porosity Immobile or irreducible saturation Here, for numerical validation, we compare the present results obtained with the adaptive grid method to previous work using uniform grids in which Raviart-Thomas finite elements are adopted for velocity and discontinuous Galerkin (DG) elements for pressure and saturation [20]. The parameters used in this validation are shown in Table 2. Initial conditions are only required for the saturation variable, and we choose S(x, 0) = 0, i.e. the porous medium is initially filled by the non-wetting phase. We prescribe a linear pressure on the boundaries: p(x, t) = 1 − x on ∂Ω × [0, T ]. (20) Pressure and saturation uniquely determine a velocity, and the velocity determines whether a boundary segment is an inflow or outflow boundary. On the inflow part of the boundary, 12 Γin (t), we impose S(x, t) = 1 on Γin (t) ∩ {x = 0} , (21) S(x, t) = 0 on Γin (t)\ {x = 0} . (22) In other words, the domain is flooded by the wetting phase from the left. No boundary conditions for the saturation are required for the outflow parts of the boundary. Following a commonly used prescription for the dependence of the relative permeabilities krw and krnw on saturation, we use krnw = (1 − Se )2 . krw = Se2 , (23) As shown in Figure 3, results obtained from the simulation for the Buckley-Leverett problem are essentially identical to those in the work of Li and Bangerth [20]. Since the Buckley-Leverett problem has been recognized as one of the shock-type problems, both simulations have a saturation shock or discontinuity around x = 0.58. This agreement shows that the diffusive stabilization, proposed by Guermond and Pasquetti [17], has the powerful ability to efficiently damp unphysical oscillations while ensuring the accuracy of the solutions with no upwinding. For more validation about this diffusive scheme, the reader is referred to previous works [4,5]. 5.2 Effect of the dependence of capillary pressure on S only with Sirr = 0 For this case, Ns = 1 as described in section 4.1. The immobile saturation Sirr is set to zero, the surface tension σc is set to 10−2 g · sec−2 and the one permeability gradient term appearing in both equations (13) or (15) is not considered. Thus, there is no permeability gradient effect but only a saturation gradient effect on capillary transport. Figure 4 shows the time evolution of wetting-phase saturation contours with their cor13 Fig. 3. Numerical results for uniform media in comparison with previous work of Li and Bangerth [20] at t = 2.78 sec when the pressure-velocity system is solved adaptively saturation time steps (adaptive operator splitting: θ∗ = 1.0). (a) Saturation field using discontinuous Galerkin space (previous work). (b) Saturation field using continuous space with the stabilizing term and operator splitting (present work). (c) Saturation profile along y = 0.5. (d) Saturation profile along y = 0.9. responding adaptive refinement meshes. The wetting-phase fluid is injected into a hydrophilic sample initially filled with the non-wetting phase fluid. There is a distorted maple leaf shaped high-saturation formation which appears in Figure 4b. As time passes, the formation gets bigger gradually and eventually becomes a calabash-like formation in Figure 4c. In addition, it is clearly seen that our adaptive grids change in response to transient two-phase transport phenomena. In fact, we refine only the areas where wetting-phase 14 Fig. 4. Time evolution of wetting-phase saturation contours (right) with their corresponding grids (left) for capillary pressure (Ns = 1, σc = 10−2 g · sec−2 and Sirr = 0) dependent on S only at (a) t = 0.016 sec with 1240 cells and 13068 DoFs (b) t = 10.189 sec with 6166 cells and 63480 DoFs (c) t = 19.095 sec with 8380 cells and 85994 DoFs 15 saturation solutions are not continuous, rather than globally refining the entire computational domain. The number of degrees of freedom (DoFs) is greatly reduced, resulting in an increase in computational efficiency. Figure 5 is used to explain the mechanism of complex interactions between two gradients: the wetting-phase pressure and the wetting-phase saturation (no permeability gradient effects considered in the present case). Consider the two fluids together (equations (13) and (14)). The pressure forces push the two-phase fluid forward (from high to low pressure) while the saturation gradient effect forces it backward (from low to high saturation). The pressure gradient forces (Figure 5c) overwhelm the saturation gradient effect (Figure 5d) in three directions: approximately 90◦ East of North, North and 90◦ West of North from the wetting-phase source’s position (0.5, 0.5). This makes the two-phase fluid move in the three ways. It is noted, though, that the quantities of the pressure gradients (Figure 5c) do not appear to be large enough to overcome the saturation gradients (Figure 5d). The reason for this counter-intuition is that in equation (13), the pressure gradient term is multiplied by the total mobility λt but the saturation gradient term is multiplied by a scaling factor (∂pc /∂S) · λnw . Therefore, based on the fact, i.e. λt > (∂pc /∂S) · λnw , pressure gradient effect is stronger than saturation gradient effect in the three directions. Consider the wetting-phase fluid alone (equation (15)). As mentioned in a previous subsection, the wetting-phase fluid advances using two kinds of movement: convective and diffusive transport. The convective part is determined by the total velocity and the diffusive term by the capillary pressure. Those two kinds of transport are restricted by porous heterogeneities. The wetting-phase fluid flows only through high-permeability regions: Figure 5d and Figure 5e together show that the wetting-phase fluid goes mainly in three directions in which the high-permeability regions take place. 16 Fig. 5. Capillary pressure dependent on S only with Ns = 1, σc = 10−2 g · sec−2 and Sirr = 0 at t = 1.038 sec on the sub-domain [x, y] ∈ [0.4, 0.7] × [0.4, 0.7] (a) adaptive mesh (b) total velocity vector field (c) wetting-phase pressure contour (d) wetting-phase saturation contour (e) permeability field 17 In addition, it is clearly seen in Figure 5b that two vortices appear around (0.6, 0.55) and (0.6, 0.45) on the sub-domain [x, y] ∈ [0.4, 0.7] × [0.4, 0.7]. In fact, these vortex phenomena are caused by a combination of the heterogeneity of porous media and the complex interaction between the wetting-phase pressure and saturation gradients. The heterogeneity of porous media directs the two-phase fluid together to flow mainly through high permeability areas (Figure 5e). The wetting-phase pressure gradient effect pushes the two-phase fluid to move together forward (from high to low pressure) while, due to capillary effect, the wetting-phase saturation gradient effect pushes the two-phase fluid to move together backward (from low to high saturation). For instance, in the wetting-phase pressure contour (Figure 5c), the pressure gradient effect around (0.6, 0.5) is stronger than those near its top and bottom and therefore forces caused by pressure gradient effect push the twophase fluid to move to the right side. However, in the saturation contour (Figure 5d), capillary forces push the two-phase fluid near (0.55, 0.55) from the northeast to southwest, and near (0.55, 0.45) from the southeast to northwest. Thus, after a combination of pressure and capillary forces considered together in the porous media, the two vortices form in the porous domain. 5.3 Effect of the dependence of capillary pressure on S and k both with Sirr = 0 For this case, Ns = 1. The immobile saturation Sirr is set to zero, the surface tension σc is set to 10−2 g · sec−2 , and the permeability gradient effect appearing in both equations (13) and (15) is considered. Consider the wetting-phase transport alone. In this case, capillary diffusive transport consists of two mechanisms: saturation and permeability gradients. As mentioned several times before, saturation and permeability gradients push the wetting-phase fluid to advance from high to low values of S and k. When considering the permeability gradient, 18 Fig. 6. Time evolution of wetting-phase saturation contours (right) with their corresponding grids (left) for capillary pressure (Ns = 1, σc = 10−2 g · sec−2 and Sirr = 0) dependent on both S and k at (a) t = 0.016 sec with 1240 cells and 13068 DoFs (b) t = 3.079 sec with 2437 cells and 25538 DoFs (c) t = 5.882 sec with 4261 cells and 44518 DoFs 19 there is a special phenomenon which doesn’t happen in any previous case: isolation of the wetting-phase fluid in heterogeneous porous media. In Figure 6, the wetting-phase fluid surrounded by three high-permeability areas on the top, left and right sides of (0.5, 0.5) passes through a throat-like passageway around (0.45, 0.55) at the beginning and then reaches a triangle-shaped area around (0.39, 0.65) surrounded by few high-permeability regions. After that, the wetting-phase fluid accumulates inside this triangular area. In fact, during the process, the wetting-phase fluid doesn’t flow through high-permeability regions but rather through low-permeability areas (Figure 2 and 6c), which appears counterintuitive. The reason for this phenomenon is that the saturation gradient effect directs the fluid to flow in three directions (i.e. top, left and right directions) while the permeability gradient effect pushes it to flow in the opposite direction: as a result, those two effects counter-balance each other (i.e. the fluid is hard to move forward via capillary diffusion). Consequently, even though areas have lower permeability values, the wetting-phase fluid is forced by a combination of pressure, saturation and permeability gradient effects to flow through them. Consider the two-phase fluid transport together. Its total velocity consists of three gradients: wetting-phase pressure, saturation and permeability gradients. Again, the wettingphase pressure gradient directs the two-phase fluid to flow from high to low values while saturation and permeability gradients push it to advance from low to high values of S and k. Complex interactions among the three gradients is explained in Figure 7. In the areas of ∇S ≈ 0 (Figure 7d), the two-phase fluid is mainly governed by pressure and permeability gradient effects. For example, on the one hand, one high-permeability effect near (0.64, 0.52) attracts the surrounding two-phase fluid to flow towards its highest permeability center (0.64, 0.52). On the other hand, the pressure accumulates or gradually increases inside that circle-shaped region during the process caused by the permeability gradient effect. In other words, the accumulating pressure creates an opposing force to 20 keep the fluid from further moving towards the high-permeability area. According to the fact, each of the high-permeability areas surrounded by low-permeability regions has the high-pressure effect as well, as shown in Figure 7c. Furthermore, the velocity vector field is complicated by a combination of permeability and pressure gradients (Figure 7b) in those areas. 5.4 Effect of the dependence of capillary pressure on S and k both with Sirr = 0.18 The parameters for this case are the same as those in section 5.3 except for one parameter, Sirr , which is set to a value of 0.18 for comparison. Below the threshold of Sirr , the fractional flow F in equation (15) and capillary pressure pc in equations (13) and (15) are both set to zero, representing no advective flow and capillary transport when the liquid fluid remains immobile. Compare Figures 7 and 8 at the same time t = 1.038 (sec). Figure 8a demonstrates a maple leaf formation of adaptive grids while Figure 7a displays a circle formation. This implies that in the case of Sirr = 0.0 more wetting-phase fluid flows to the areas where saturation gradients are relatively large compared to the case of Sirr = 0.18. With the influence of the irreducible saturation threshold, Figure 8b shows the discontinuities in the total velocity vector field along the iso-Sirr line as well as vortex transport phenomena, as elucidated in sections. In Figure 8c, there is little wetting-phase pressure gradient around which ∇S ≈ 0, but there are three small spots representing the low pressure regions. These three small low-pressure areas are caused by a fact that there are interfaces between low and high permeability values. Finally, the saturation contour (Figure 8d) shows a footballlike formation. Below the irreducible threshold (no capillary transport), the flow behaviour is the same as that in Figure 8d. 21 Fig. 7. Capillary pressure dependent on both S and k with Ns = 1, σc = 10−2 g · sec−2 and Sirr = 0.0 at t = 1.038 sec on the sub-domain [x, y] ∈ [0.4, 0.7] × [0.4, 0.7] (a) adaptive mesh (b) total velocity vector field (c) wetting-phase pressure contour (d) wetting-phase saturation contour (e) permeability field 22 Fig. 8. Capillary pressure dependent on both S and k with Ns = 1, σc = 0.2 g · sec−2 and Sirr = 0.18 at t = 1.038 sec on the sub-domain [x, y] ∈ [0.4, 0.7] × [0.4, 0.7] (a) adaptive mesh (b) total velocity vector field (c) wetting-phase pressure contour (d) wetting-phase saturation contour (e) permeability field 23 Fig. 9. Comparison of adaptive grids (Ns = 4 and Sirr = 0.18) dependent on both S and k (left column: σc = 10−2 g · sec−2 ; right column: σc = 10−4 g · sec−2 ) (a) at t = 2.182 sec with 5491 cells and 57718 DoFs (b) at t = 2.182 sec with 4264 cells and 45248 DoFs (c) at t = 4.364 sec with 9109 cells and 94778 DoFs (d) at t = 4.364 sec with 7015 cells and 73542 DoFs 5.5 Effect of different capillary intensities For this case, Ns = 4. The immobile saturation Sirr is set to 0.18, the surface tension σc is set to more than one value (i.e. 10−2 and 10−4 g · sec−2 ) for comparison, and the permeability gradient effect appearing in both equations (13) and (15) is considered. Figure 9 shows the time evolution of the adaptive refinement meshes. Apparently, since four wetting-phase sources are placed in the computational domain, more grids are needed 24 to accurately capture the complex spatiotemporal flow behavior as time passes. Again, our numerical implementation demonstrates its adaptive ability to accurately resolve the important flow features in each time step, while increasing the computational efficiency with the aid of adaptive mesh refinement/coarsening. Consider the wetting-phase transport alone. The mechanism of the wetting-phase transport can be split into two parts: one governed by two-phase mixing convection (i.e. the second term in (15)) and the other by capillary diffusive transport (i.e. the third term in (15)). Those two mechanisms pushes the wetting-phase fluid to advance. But those two different ways produce different flow patterns. The saturation contours are shown in Figure 10. When capillary diffusion is stronger than convection (see the left column of Figure 10), capillary diffusion significantly smears sharp fronts produced by convection. This can be viewed as a diffusion-dominated case. In contrast, when convection acts stronger than capillary transport (see the right column of Figure 10), the wetting-phase fluid goes in a particular direction (convection) rather than going in all direction (diffusion). The different flow patterns need to be numerically treated in different ways to satisfy the individual physical meaning. This is a reason why people need to use an upwind scheme for the convection term instead of adopting a central difference scheme. 6 Conclusions and future work In conclusion, there are two major improvements in the present work: one for a numerical issue and the other for the physical modelling. For numerical part, an integrated numerical method was presented to investigate the combined effects of two-phase advective transport and capillary transport with consideration of heterogeneities and, with the aid of grid adaptation, we can obtain the numerical results quickly. Most importantly, it incorporates a recently developed stabilization for continuous finite element discretization allowing both 25 Fig. 10. Comparison of wetting-phase saturation fields in the case of capillary pressure dependent on both S and k with Ns = 4 and Sirr = 0.18 (left column: σc = 10−2 g · sec−2 ; right column: σc = 10−4 g · sec−2 ) (a) at t = 1.452 sec (b) at t = 1.452 sec (c) at t = 2.904 sec (d) at t = 2.904 sec (e) at t = 4.357 sec (f) at t = 4.375 sec 26 higher order accuracy and stability both, which has been discussed and validated in [4,5]. For modelling part, the method coupled with the consideration of irreducible or immobile saturation has made our modelling more representative of realistic physical problems. In addition, the permeability gradient effect illustrates the effect of porous heterogeneities on fluid behaviours. Here, we compare and discuss the different effects acting on capillary transport (i.e. Cp (S) and Cp (S, k)) as well as the effects of the amount of immobile saturation on spatiotemporal two-phase fluid behaviours. This is done, even though the standard Leverett J function relationship to correlate capillary pressure with saturation and permeability is unable to accurately display transport phenomena in heterogeneous porous media primarily because it is an inherently volume-averaged function. It might be problematic when highly inhomogeneous media are considered or when it is used to account for flow behaviours through variable porous structures. Therefore, a better, accurate relationship will be considered in future work. 7 Acknowledgments The work of the first and second authors was funded through the Canada Research Chairs Program and the MITACS Network of Centres of Excellence. Parts of the work by the third author were funded through Award No. KUS-C1-016-04, made by the King Abdullah University of Science and Technology, and through an Alfred P. Sloan Research Fellowship. Some computational resources used here were also funded by NSF award DMS-0922866. Thanks are due to Dr. Zhangxin Chen (University of Calgary) for his invaluable insights on finite element theory, to Dr. Sergey Mashchenko (McMaster University) for installing the relevant libraries, and to the first author’s wife, Mrs. Hsiao-Yun Janette Cheng (PhD candidate, University of Sheffield), for helping with the graphics. 27 References [1] MM Mench. Fuel Cell Engines. Wiley, 2008. [2] H Li, Y Tang, Z Wang, Z Shi, S Wu, D Song, J Zhang, K Fatih, J Zhang, H Wang, Z Liu, R Abouatallah, and A Mazza. A review of water flooding issues in the proton exchange membrane fuel cell. Journal of Power Sources, 178(1):103 – 117, 2008. [3] R Mosdale, G Gebel, and M Pineri. Water profile determination in a running proton exchange membrane fuel cell using small-angle neutron scattering. Journal of Membrane Science, 118(2):269 – 277, 1996. [4] CC Chueh, M Secanell, W Bangerth, and N Djilali. Multi-level adaptive simulation of transient two-phase flow in heterogeneous porous media. Computers and Fluids, 39:1585– 1596, 2010. [5] CC Chueh, W Bangerth, and N Djilali. An h-adaptive operator splitting method for two-phase flow in 3D heterogeneous porous media. Submitted to Communications in Computational Physics. [6] Z Chen, G Huan, and B Li. An improved impes method for two-phase flow in porous media. Transport in Porous Media, 54:361 – 376, 2004. [7] MC Leverett. Capillary behaviour in porous solids. AIME Trans., 142:152 – 169, 1941. [8] JH Nam and M Kaviany. Effective diffusivity and water-saturation distribution in singleand-two layer pemfc diffusion medium. International Journal of Heat and Mass Transfer, 46:4595 – 4611, 2003. [9] J Bear. Dynamics of Fluids in Porous Media. American Elsevier, 1972. [10] S Lister and N Djilali. Two-phase transport in porous gas diffusion electrodes (Eds. M. Faghri & B. Sunden). WIT Press, Southampton, UK, 2005. 28 [11] KS Udell. Heat transfer in porous media considering phase change and capillary - the heat pipe effect. International Journal of Heat and Mass Transfer, 28(2):485 – 495, 1985. [12] M Kaviany. Principles of Heat Transfer in Porous Media. Springer-Verlag, New York, 1991. [13] JF App and KK Mohanty. Gas and condensate relative permeability at near-critical conditions: capillary and reynolds number dependence. Journal of Petroleum Science and Engineering, 36(1-2):111 – 126, 2002. [14] A Papafotiou, H Sheta, and R Helmig. Numerical modeling of two-phase hysteresis combined with an interface condition for heterogeneous porous media. Computational Geosciences, 14:273–287, 2010. [15] F Brezzi and M Fortin. Mixed and Hybrid Finite Element Methods. Springer-Verlag, 1991. [16] Z Chen. Finite Element Methods and Their Applications. Springer, 2005. [17] JL Guermond and R Pasquetti. Entropy-based nonlinear viscosity for fourier approximations of conservation laws. Comptes Rendus Mathematique, 346(13-14):801 – 806, 2008. [18] W Bangerth, R Hartmann, and G Kanschat. deal.II – a general purpose object oriented finite element library. ACM Trans. Math. Softw., 33(4):24/1–24/27, 2007. [19] W Bangerth, R Hartmann, and G Kanschat. deal.II Differential Equations Analysis Library, Technical Reference, 2010. http://www.dealii.org/. [20] Y Li and W Bangerth. The deal.II tutorial manual: step-21. http://dealii.org/developer/doxygen/deal.II/step 21.html. [21] M Kronbichler and W Bangerth. The deal.II tutorial manual: step-31. manual, step-33. http://dealii.org/developer/doxygen/deal.II/step 31.html. [22] D Neckels and W Bangerth. The deal.II tutorial http://dealii.org/developer/doxygen/deal.II/step 33.html. [23] M Honarpour, L Koederitz, and AH Harvey. Relative Permeability of Petroleum Reservoirs. First edition, CRC Press, 1986. 29 [24] JA Trangenstein. Multi-scale iterative techniques and adaptive mesh refinement for flow in porous media. Advances in Water Resources, 25(8-12):1175 – 1213, 2002. 30 45 Appendix D Numerical Analysis of Transient Two-phase Flow in Hydrophobic Heterogeneous Porous Media Numerical Analysis of Transient Two-phase Flow in Hydrophobic Heterogeneous Porous Media C.C. Chueh a , N. Djilali a,∗ , W. Bangerth b a Institute for Integrated Energy Systems and Department of Mechanical Engineering, University of Victoria, PO Box 3055 STN CSC, Victoria, BC, Canada, V8W 3P6 b Department of Mathematics, Texas A&M University, College Station, TX 77843-3368, USA Abstract This paper presents numerical analysis of two-phase flow in heterogeneous porous media with hydrophobic capillary transport. The analysis is conducted using an efficient, accurate set of algorithms which has been recently developed and validated for an advection-dominated case with no capillary transport in our previously published papers [1,2]. We focus more on the solution of one numerical issue (saturation shocks or discontinuities) that is hard to numerically solve and causes faulty saturation fronts commonly happening in mixture PEM fuel cell two-phase flow modelling. Most importantly, we provide a solution approach using a recently developed artificial diffusive stabilization term which is added into the saturation transport equation to eliminate unphysical oscillations while ensuring the accuracy of solutions. In addition to this, we also demonstrate complex transport phenomena between two fluids in heterogeneous porous media with consideration of capillary effects. Key words: Adaptive mesh refinement; Stabilized finite element method; Operator splitting; Preconditioning; Two-phase flow; Heterogeneous porous media; Fuel cells Preprint submitted to Preprint for Submission 20 December 2010 1 Introduction The simulation of two-phase flow in porous media plays a decisive part in polymer electrolyte membrane (PEM) fuel cells [3–5] but it faces many difficult problems that need to be surmounted. One of the problems is caused by excessive amounts of water, which is produced electrochemically at the catalyst sites of PEM fuel cells. Large amounts of water can hinder reactant gas transport, resulting a poor cell performance. Improvements in PEM fuel cells are therefore contingent upon advancements in water management, which can be facilitated by the simulation of realistic, complex two-phase transport phenomena in heterogeneous porous media. However, getting correct solutions is not easy since discontinuities or shocks of any physical quantity caused by flow advection increase the difficulty of solving the transport equations without an appropriate numerical scheme. We have previously validated and demonstrated an artificial diffusion method that, when used with a general continuous finite element discretization for the saturation transport (advection) equation in two-phase flow in porous media, ensures stability and accuracy of the solution [1,2]. The method uses an entropy-based diffusion term, proposed by Guermond and Pasquetti [6], and is able to efficiently damp unphysical oscillations while providing the same resolution of the saturation field as a low-order DG method [7] without upwinding. The trick is to ensure that the artificial viscosity term acts only in the vicinity of strong saturation gradients and other discontinuities, while disabling it in regions where the solution is smooth. The scheme offers higher order accuracy in smooth regions while providing stability where necessary [6]. There is one unresolved problem in the field of PEM fuel cell modelling: when a mix∗ Corresponding author. Email address: [email protected] (N. Djilali). 2 Fig. 1. Schematic showing simulation with respect to PEMFC geometry: (a) diagram of PEMFC (b) computational domain of a simulated diffusion medium ture multi-phase model is employed to simulate the transport phenomena of PEM fuel cells, some important mass and momentum transport is not considered in the model as reported in [8]. The authors in [8] note that this problem originates from the mixture model’s inability to correctly capture the complex mass and momentum transport compared to multi-fluid modelling. However, this problem is mostly caused by a numerical issue. When advective flow is considered in the formulation of the mixture multi-phase flow, solution discontinuities are created, leading to wrong or faulty solutions if an inappropriate numerical scheme is used. The current study is motivated by the need to solve the numerical issue mentioned above and provide a solution approach to advection-dominated flow to the field of mixture multi-phase fuel cell modelling. The solution uses a recently developed artificial diffusive stabilization to effectively damp unphysical oscillations while retaining the accuracy of the simulation. To demonstrate the powerful capability of this diffusive scheme, we first show numerical validation of an advection-dominated two-phase flow (with no capillarity) in uniform porous media using real physical parameters (i.e. air and water viscosity). Next, to demonstrate numerical results which consider capillary transport, we use the two3 dimensional cross-section representation of the membrane electrolyte assembly including half of the gas channel and half of the current collector, as shown in Figure 1. We also adopt a recently developed relationship [9] between capillary pressure and saturation which is representative of material properties of PEMFC diffusion media. 2 Mixture Model of Two-phase Flow in Heterogeneous Porous Media In this section, we derive the governing equations of a mixture model for a hydrophilic case, define relevant physical parameters and coefficients, boundary and initial conditions as well as introduce an absolute permeability model. All of the involved parameters are shown in Table 1. 2.1 Governing equations Here a two-phase immiscible, incompressible, isothermal fluid is considered and gravity effects are neglected. The governing equations for the fluid flowing in hydrophobic porous media are expressed in terms of the nonwetting phase pressure and saturation. General governing equations The mass balance equations for wetting and nonwetting phases are respectively ∂ (ρw Sw ) + ∇ · (ρw uw ) = ρw qw ∂t ∂ (ρnw Snw ) + ∇ · (ρnw unw ) = ρnw qnw ∂t (1) (2) where S is the saturation (volume fraction) indicating the composition of mixture of fluids and subscripts w and nw denote the wetting and non-wetting phase respectively, ρ is the density, is the porosity, q is the source term and u is the velocity. The velocities uw and 4 unw are modeled by Darcy’s Law krw K∇pw = −λw K∇pw µw (3) krnw K∇pnw = −λnw K∇pnw µnw (4) uw = − unw = − where K is the permeability tensor, λ is the fluid mobility, kr is the relative permeability, µ is the viscosity and p is the pressure. In addition to the equations shown above, the constraint for the saturation is Sw + Snw = 1 (5) and the two pressures are related by a capillary pressure function pc = pnw − pw (6) The total mobility λt and fractional flow of the wetting phase F are respectively defined by krw krnw + µw µnw krw /µw = krw /µw + krnw /µnw λt = λw + λnw = F = λw λw = λt λw + λnw (7) (8) Hydrophobic case In this case, ut , pnw and Snw are unknown variables and therefore all other variables can be expressed in terms of these three unknown variables. After a lengthy derivation process similar to that described for the hydrophilic case in [10], the transport of two fluids in hydrophobic porous media is governed by the following set of equations ut = −λt K∇pnw + λw K∇pc (9) ∇ · ut = qw + qnw (10) ∂Snw + ∇ · (1 − F ) ut − ∇ · (λnw F K∇pc ) = qnw ∂t (11) 5 The capillary pressure pc in equations (9) and (11) is correlated as a function of the saturation. This relationship, proposed by Leverett [11,12], is the so-called Leverett Jfunction: pc J (Se ) = σc cos (θc ) k !1/2 (12) where σc is the surface tension, k is the permeability, θc is the contact angle varying between 90◦ and 180◦ for the hydrophobic case, and Se is the effective saturation [13,3,14], defined as Se = Snw − Sirr 1 − Sirr (13) where Sirr is the so-called immobile or irreducible saturation [13,15], which stands for the amount of entrapped liquid fluid. It can be regarded as a threshold point below which liquid remains immobile. Here we use a validated J capillary relationship developed by Kumbur et al. [9] for PEMFC diffusion media between capillary pressure and saturation as K (Snw ) = 2 3 wt% (0.0469 − 0.00152(wt%) − 0.0406Snw + 0.143Snw ) + 0.0561 ln Snw if 0 < Snw < 0.5 3 2 ) + 3.416 ln Snw + 18.824Snw wt% (1.534 − 0.0293(wt%) − 12.68Snw if 0.5 ≤ Snw ≤ 0.65 2 3 wt% (1.7 − 0.0324(wt%) − 14.1Snw + 20.9Snw ) + 3.79 ln Snw if 0.65 < Snw < 1.0 where wt% represents PTFE (one hydropbobic material coating carbon fibers) weight percentage in PEMFC diffusion media. Moreover, the relationship represents physical properties of PEMFC diffusion media [9]. Here, since the validated J-function K (Snw ) already incorporates the wettability of air and water inside equation (14), we can cancel 6 the contact angle θc in the original Leverett-J relation (12) and then rearrange it as pc = σc (k/)1/2 K (Snw ) (14) Furthermore, in order to make the system well-posed physically and mathematically, ∂pc /∂Snw has to have a positive sign so that the capillary diffusion term in equation (11) is always negative. Its positive slope can be proved by checking the form of equation (14) in Figure 2. Fig. 2. A validated J function (K(Snw ) vs Snw ) with wt% = 5 for PEMFC diffusion media developed by Kumbur et al. [9] Then, ∇pc in equations (9) and (11) is further obtained: 1 d (K (Snw )) 1 3 ∇pc = ∇Snw + σc K (Snw ) 2 − k − 2 ∇k 1/2 dSnw 2 (k/) σc (15) When the above equation is substituted into equations (9) and (11) respectively, we obtain the final governing equations considered herein. The considered heterogeneous porous media are set to be isotropic. Thus, K(x) = γm · 7 krm (x) · I, where krm which is a scalar function of x represents a randomly distributed medium, I is the second-order unit tensor and γm is a magnitude scaling factor of permeability. In order to demonstrate the robustness of this proposed shock-type adaptive refinement technique, one permeability model already used in one tutorial program implemented by Li and Bangerth [7] is introduced into this work. The permeability model is defined to be krm (x) Np X krm (x) = min max l=1 Ψl (x), 10−10 , 3.0 × 10−8 (16) where |x − xl | Ψl (x) = exp − Bw !2 (17) where the centres xl are Np randomly chosen locations inside the domain and Bw is the band width of the exponential function. This function models a domain in which there are Np centres of higher permeability in the cracked region of the rock embedded in a matrix of more pristine, unperturbed background rock. The permeability function is bounded both above and below to limit the size of the condition number [7]. Figure 3 shows the permeability field contour with Np = 15 used in the present work. Here, the permeability that is confined to a range of O (10−8 ) to O (10−10 ) cm2 satisfies the permeability range for PEMFC diffusion media. 2.2 Computational Domain and Initial and Boundary Conditions The simulations in the hydrophobic case are performed on the computational domain Ω = [0, L] × [0, L] in two dimensions for t ∈ [0, T ] where L is set to 0.025. The initial condition is set to Snw (x, 0) = 0 in the non-wetting phase reservoir picture. The boundary 8 Fig. 3. Permeability contour used in this work conditions for the velocity/pressure equations (9) and (10) in two dimensions are set to pnw (x, t) = 0 for (x, y) ∈ {x = [0, L/2]} × {y = L} , (18) ut = 0 for (x, y) ∈ {x = [L/2, L]} × {y = L} , (19) ut = 0 for (x, y) ∈ {x} × {y = 0} , (20) ut · n = 0 for (x, y) ∈ {x = 0} × {y} , (21) ut · n = 0 for (x, y) ∈ {x = L} × {y} (22) 9 The boundary conditions for the saturation transport equation (11) in two dimensions are set to Snw (x, t) = 0 on Γin (t) for (x, y) ∈ {x = [0, L/2]} × {y = L} , (23) n · ∇Snw = 0 for (x, y) ∈ {x = [L/2, L]} × {y = L} , (24) n · ∇Snw = 0 for (x, y) ∈ {x} × {y = 0} , (25) n · ∇Snw = 0 for (x, y) ∈ {x = 0} × {y} , (26) n · ∇Snw = 0 for (x, y) ∈ {x = L} × {y} (27) Fig. 4. Boundary conditions imposed in this work The arrangement of these boundaries (see Figure 4) in the hydrophobic case is meant to ideally construct the configuration of the gas diffusion layer (GDL) of PEM fuel cells. The boundary at (x, y) ∈ {x = [0, L/2]} × {y = L} in two dimensions represents the gas channel-GDL interface and the boundary at (x, y) ∈ {x = [L/2, L]} × {y = L} in two dimensions denotes the current collector-GDL interface. The boundary at (x, y) ∈ {x} × {y = 0} in two dimensions stands for the GDL-catalyst layer interface. 10 2.3 Numerical Methods and Implementations Adaptive operator splitting and time stepping The time stepping schemes most commonly used to solve equations (9)–(11) of the kind are IMPES (implicit pressure, explicit saturation) type where one first solves the implicit pressure/velocity system (9)– (10) with the current saturation values, and then uses an explicit time stepping scheme to advance the saturation by one time step using (11). The vast majority of computing time in such schemes is spent in the implicit solver for the pressure and velocity variables. Computing efforts may be significantly reduced by noting that the pressure and velocity fields depend only weakly on the saturation, and therefore do not change significantly between time steps, whereas saturation fronts typically move by one cell in each step. To deal with this point, we have developed an adaptive operator splitting with an a posteriori criterion for advection-dominated two-phase flow [2]. This criterion is still used in this study and is given as θ(n, np ) = 1 max (n−1) κ∈T λt Snw − 1 (n −1) λt Snwp kK−1 k1 L∞ (κ) . (28) L∞ (κ) where superscripts in parentheses denote the number of the time step at which a quantity is defined and np < n is the last step at which we actually computed the velocity and pressure variables. Readers are referred to our previous paper for a more detailed algorithm [2]. Space discretization for velocity/pressure part Continuous finite elements are used to discretize the velocity and pressure fields. In order to approximate both a vector variable (e.g. a fluid velocity) and one scalar variable (e.g. pressure) simultaneously and to give a high order approximation of these variables, mixed finite elements are used. For the mixed finite element spaces, it is well established that the so-called Babuska-Brezzi or Ladyzhenskaya-Babuska-Brezzi (LBB) conditions [16,17] need to be satisfied to ensure 11 the stability of the pressure-velocity system. These stability conditions are satisfied in the present work by using elements for velocity that are one order higher than for the pressure, i.e. uh ∈ Qdp+1 and ph ∈ Qp , where p = 1, d is the space dimension, and Qs denotes the space of tensor product Lagrange polynomials of degree s in each variable. Space discretization of saturation transport equation Continuous finite elements are used to discretize the saturation field, i.e. Sh ∈ Q1 . This was chosen even though discontinuous Galerkin (DG) finite element methods have become more popular for advection problems [17] primarily because we have a capillary pressure (diffusion) term. The discretization of the Laplace operator (or diffusion term) using DG methods leads to a significant number of additional terms that need to be integrated on each face between cells. Discontinuous Galerkin finite elements also have the drawback that the use of numerical fluxes introduces an additional numerical diffusion that acts everywhere. In order to avoid the cumbersome problems associated with DG finite element space, an alternative method is to add a stabilization term in the form of a nonlinear viscosity into the saturation transport equation (11), i.e. ∂Snw + ∇ · ((1 − F ) ut ) − ∇ · (λnw F K∇pc ) − qw − ∇ · (ν (Snw ) ∇Snw ) = 0 ∂t (29) where ν (Sw ) is the amount of artificial viscosity. The stabilization factor ν is chosen in such a way that, if the discretized saturation Snw satisfies the original equation (11), the artificial diffusion term is zero. In other words, this term acts primarily in the vicinity of discontinuities (or other dependent variables) where our numerical approximation is not very accurate, and does not affect the areas where the saturation varies smoothly and our numerical approximation is accurate. The literature contains a number of approaches to achieve this. Here we adopt a scheme developed by Guermond and Pasquetti [6] which builds on a suitably defined residual and a limiting procedure for the additional viscosity. The artificial viscosity is a piecewise constant function defined on each cell K with 12 diameter hK as ( ν(ut , Snw )|K = βkut kL∞ (K) min kRes(ut , Snw )kL∞ (K) hK , hαK c(ut , Snw ) ) (30) where α is a stabilization exponent that we chose to be α = 1, and β is a user-defined dimensionless stabilization constant that is chosen to be as small as possible but as large as necessary to avoid unphysical oscillations in the solution [1]. Following Guermond and Pasquetti [6] as well as Kronbichler and Bangerth [18], the velocity and saturation global normalization constant, c(ut , Snw ), and the residual Res(ut , Snw ) are respectively given by c(ut , Snw ) = cR kut kL∞ (Ω) var(Snw )|diam(Ω)|α−2 (31) where cR is the dimensionless user-defined constant, diam(Ω) is the diameter of the domain and var(Snw ) is the range of the average saturation values in the entire computational domain Ω, given mathematically by var(Snw ) = maxΩ Snw − minΩ Snw (32) Res(ut , Snw ) = DR · (Snw )α−1 (33) and where DR = ∂Snw + ∇ · ((1 − F ) ut ) − ∇ · (λnw F K∇pc ) − qw ∂t (34) Guermond and Pasquetti [6] demonstrate excellent performance and computational results for this scheme and provide details on the derivation. The stabilization term is critical in order to obtain a saturation field that is oscillation free. Results already discussed and validated in [1] using the above method are free of unphysical oscillations. Adaptive mesh refinement The same shock-type refinement approach used in [1] is adopted in an attempt to reduce the number of degrees of freedom, resulting in a significant increase in computational efficiency and fine-scale resolution. The refinement indicator for 13 each cell centre represents the scale of the saturation gradient and is computed by ηK = |∇Snw | (35) This is analogous to a compressible flow problem, where density gradients are used to indicate refinement. In this work, the refinement indicator is computed for each cell and the refinement operations are performed by the following criteria; if a cell has a indicator value greater than 1.7, the cell is refined; if a cell has an indicator less than 1.1, the cell is agglomerated. For more information regarding the implementation of mesh refinement readers are referred to [19,20]. Block matrix preconditioning Following the discretization of the governing equations (9)–(11) discussed above, we obtain a linear system of equations in time step (n) of the following form: u M B H BT R 0 0 0 MS + Y (n) U (n) P (n) = F1 F2 (36) F3 Snw where the individual matrices and vectors are defined as follows using shape functions vi for velocities and φi for both pressures and saturations: Muij = Kλt (n−1) Snw −1 vi , vj (37) Ω Bij = − (∇ · vj , φi )Ω (38) ∂pc ∇φi , vj ∂Snw ! −1 (n−1) (n−1) ∂pc (F1 )i = Iλt Snw λnw Snw ∇k, vi ∂k Ω Rij = − (n−1) Iλt Snw −1 (F2 )i = − (qw + qnw ) , φi (n−1) λnw Snw Ω 14 ! (39) Ω (40) (41) and MSij = (φi , φj )Ω Yij = (42) ∆t λnw S (n−1) F S (n−1) K nw Hij = −∆t nw (n−1) 1 − F Snw (n−1) (F3 )i = Snw , φi vi , ∇φj ∂pc ∇φi , ∇φj ∂Snw Ω (44) Ω ! Ω (43) (n−1) (n−1) + ∆t (qnw , φi )Ω − ∆t να Snw ∇Snw , ∇φi Ω (n−1) (n−1) + ∆t∇ · λnw Snw F Snw K ∂pc ∇k , φi ∂k (45) Ω To use a linear solver implemented in our previous paper [2], we have to move the block matrix R to the right hand side of (36). The linear system above is in block triangular form if we consider the top left 2 × 2 panel of matrices as one block. We can therefore first solve for the velocity and pressure (unless we decide to use U(np ) in place of the velocity, as discussed in [2] followed by a solve for the saturation variable. The first of these steps requires us to solve u M B (n) U BT 0 (n) P = F1 (46) F2 We apply the Generalized Minimal Residual (GMRES) method (Saad and Schultz [21]) to this linear system. The ideal preconditioner for the system (46) is P= u M 0 B −S , P−1 = (Mu )−1 −1 S B (Mu )−1 0 −1 (47) −S where S = B (Mu )−1 BT is the Schur complement [22] of the system. This preconditioner 15 is optimal since u M P−1 B BT 0 = I (Mu )−1 BT 0 , I (48) and consequently all eigenvalues are equal to one. GMRES with this preconditioner would then converge in one iteration. However, we cannot of course expect to use exact inverses of the velocity mass matrix and the Schur complement. We therefore follow the approach by Silvester and Wathen [23] originally proposed for the Stokes system. Adapting it to the current set of equations yield the preconditioner P̃−1 = ^ u )−1 (M g ^ u )−1 S−1 B(M 0 g −1 −S (49) where a tilde indicates an approximation of the exact inverse matrix. In particular, since (Mu )−1 = (Kλt )−1 vi , vj Ω is a sparse symmetric and positive definite matrix, we choose ^ u )−1 a single application of a sparse incomplete Cholesky decomposition of this for (M matrix [24]. We note that the Schur complement that corresponds to the porous media flow operator (without capillary transport) in non-mixed form, −∇ · [Kλt (Snw )]∇ and S̃ = ((Kλt ) ∇φi , ∇φj )Ω should be a good approximation of the actual Schur complement matrix S. Since both of these matrices are again symmetric and positive definite, we use −1 . It is important to note that S̃ needs an incomplete Cholesky decomposition of S̃ for Sg to be built with Dirichlet boundary conditions to ensure its invertibility. Once the velocity is available, we can assemble Y, H and F3 and solve for the saturations 16 using (n) = F3 − HU(n) − YS(n) MS Snw nw . (50) where the mass matrix MS is solved by the conjugate gradient method, using an incomplete Cholesky decomposition as preconditioner once more. 2.4 Coefficients and Parameters In the present work, there are four quantities that need to be defined. The two relative permeability curves are estimated by the following equations [25]: krw (Se ) = Se3 (51) krnw (Se ) = (1 − Se )3 (52) And the source/sink terms qw and qnw in equations (10) and (11) are respectively defined as qw = Ns X qw(i) HA(i) (x) i=1 (53) s qnw = 0 (54) where qw(i) indicates the volume of the fluid produced or injected per unit time at the i-th source/sink, Ns is the number of the sources/sinks and HA(i) (x) is an indicator s function at the i-th sub-domain A(i) s , defined as HA(i) (x) = 1 if x lies inside the i-th s sub-domain and HA(i) (x) = 0 if x lies outside the i-th sub-domain. In the present work, s the source qw(i) for each individual sub-domain has equal magnitude, which is set to a constant value of 100 (1/sec), every sub-domain is a circle with a constant radius of 10−3 (1) cm and Ns is set to a value of four. Their four locations are at (x(1) c , yc ) = (0.005, 0.002), (1) (1) (1) (1) (1) (x(1) c , yc ) = (0.010, 0.002), (xc , yc ) = (0.015, 0.002), and (xc , yc ) = (0.020, 0.002). 17 All the sub-domains considered do not overlap each other according to their specifications described above. All the other parameters are shown in Table 1. Among them, we choose two parameters – µw = 2.075 × 10−4 g · cm−1 · sec−1 for air (wetting phase) and µnw = 3.55 × 10−3 g · cm−1 · sec−1 for water (non-wetting phase) – as actual physical quantities. 3 Numerical Results and Discussion At the beginning, we first show the numerical validation of an advection-dominated twophase flow in uniform porous media. Then, numerical results witch consider capillary transport are shown in a computational domain. 3.1 Validation of the Buckley-Leverett problem in uniform porous media Here, for numerical validation, we compare the present results obtained with the adaptive grid method to a previous work using uniform grids in which Raviart-Thomas finite elements are adopted for velocity and discontinuous Galerkin (DG) elements for pressure and saturation [7]. The used parameters in this validation are shown in Table 2. Initial conditions are only required for the saturation variable, and we choose Snw (x, 0) = 0, i.e. the porous medium is initially filled by the non-wetting phase. We prescribe a linear pressure on the boundaries: p(x, t) = 1 − x on ∂Ω × [0, T ]. (55) The pressure and saturation uniquely determine a velocity, and the velocity determines whether a boundary segment is an inflow or outflow boundary. On the inflow part of the 18 boundary, Γin (t), we impose Snw (x, t) = 1 on Γin (t) ∩ {x = 0} , (56) Snw (x, t) = 0 on Γin (t)\ {x = 0} . (57) In other words, the domain is flooded by the wetting phase from the left. No boundary conditions for the saturation are required for the outflow parts of the boundary. Following a commonly used prescription for the dependence of the relative permeabilities krw and krnw on saturation, we use krnw = (1 − Se )2 . krw = Se2 , (58) Figure 5 shows the present numerical results in comparison with the work of Li and Bangerth [7]. In this numerical simulation where the ratio of µnw to µw is up to 17.11, in order to efficiently damp unphysical oscillations, we need to increase the amount of stabilization by increasing the value of β to 0.38 since numerical instabilities arise due to physical flow instabilities (µnw /µw >> 1)(see, for example, Wooding and Morel-Seytoux [26], and Bear [13]). Figure 5c shows a good agreement of both the cases; however, Figure 5d shows noticeable differences in the saturation around the top and bottom corners. The differences are due to the lower accuracy and higher diffusivity of the low-order DG approximation. This approximation makes the solutions rough around complicated flow areas, resulting in the inaccuracy of the solutions. 3.2 Numerical experiments with considering capillary transport In this section, the four circle-shaped source terms for qnw are placed around the bottom of the computational domain Ω. Figure 6 shows time-evolution saturation contours with their corresponding adaptive grids. 19 Fig. 5. Numerical results for uniform media in comparison with previous work of Li and Bangerth [7] at t = 14.27 sec when the pressure-velocity system is solved adaptively saturation time steps (adaptive operator splitting: θ∗ = 1.0). (a) Saturation field using discontinuous Galerkin space (previous work). (b) Saturation field using continuous space with the stabilizing term and operator splitting (present work). (c) Saturation profile along y = 0.5. (d) Saturation profile along y = 0.9. The non-wetting phase fluid is injected into a hydrophobic porous medium initially filled with the wetting-phase fluid. The simulation refines and coarsens the meshes, depending on where discontinuities propagate. Therefore, the simulation reaches clear levels of resolution of flow field while keeping the numbers of degrees of freedom as low as possible. 20 Fig. 6. Time evolution saturation contours with their corresponding adaptive grids (Sirr = 0.18) (a) at t = 3.71×10−5 sec with 2452 cells and 26126 DoFs (b) at t = 2.4×10−2 sec with 4105 cells and 42442 DoFs (c) at t = 4.7 × 10−2 sec with 5594 cells and 64539 DoFs (d) at t = 7.1 × 10−2 sec with 6758 cells and 90074 DoFs. 4 Conclusions Motivated by a problem that fuel cell two-phase mixture models are facing, we demonstrate that our validated diffusive scheme has a powerful ability to handle highly sharp concentration gradients while maintaining accuracy with no upwinding. The diffusive scheme that we adapt here is believed to solve the problem in the field of two-phase mixture model of PEMFC. In addition to this, this numerical combination [1,2] we present includes an adaptive operator splitting with an a posteriori criterion that avoids solving a transport 21 equation at every time step, block matrix preconditioning that greatly makes an improvement in the solution of linear systems, and adaptive mesh refinement that can refine and coarsen areas that are eventful. Overall, to improve the numerical efficiency in all aspects, the numerical algorithms we use in the present work can be extended to a broad range of complex transport problems. 5 Acknowledgments The work of the first and second authors was funded through the Canada Research Chairs Program and the MITACS Network of Centres of Excellence. Parts of the work by the third author were funded through Award No. KUS-C1-016-04, made by the King Abdullah University of Science and Technology, and through an Alfred P. Sloan Research Fellowship. Some computational resources used here were also funded by NSF award DMS-0922866. Thanks are due to Dr. Zhangxin Chen (University of Calgary) for his invaluable insights on finite element theory, to Dr. Sergey Mashchenko (McMaster University) for installing the relevant libraries, and to the first author’s wife, Mrs. Hsiao-Yun Janette Cheng (PhD candidate, University of Sheffield), for helping with the graphics. References [1] CC Chueh, M Secanell, W Bangerth, and N Djilali. Multi-level adaptive simulation of transient two-phase flow in heterogeneous porous media. Computers and Fluids, 39:1585– 1596, 2010. [2] CC Chueh, W Bangerth, and N Djilali. An h-adaptive operator splitting method for two-phase flow in 3D heterogeneous porous media. Computational Physics. 22 Submitted to Communications in [3] S Lister and N Djilali. Two-phase transport in porous gas diffusion electrodes (Eds. M. Faghri & B. Sunden). WIT Press, Southampton, UK, 2005. [4] N Djilali. Computational modelling of polymer electrolyte membrane (pem) fuel cells: challenges and opportunities. Energy, 32(4):269 – 280, 2007. [5] N Djilali and PC Sui. Transport phenomena in fuel cells: from microscale to macroscale. International Journal of Computational Fluid Dynamics, 22(1-2):115 – 133, 2008. [6] JL Guermond and R Pasquetti. Entropy-based nonlinear viscosity for fourier approximations of conservation laws. Comptes Rendus Mathematique, 346(13-14):801 – 806, 2008. [7] Y Li and W Bangerth. The deal.II tutorial manual: step-21. http://dealii.org/developer/doxygen/deal.II/step 21.html. [8] V Gurau and JA Mann Jr. A critical overview of computational fluid dynamics multiphase models for proton exchange membrane fuel cells. SIAM Journal on Applied Mathematics, 70(2):410 – 454, 2009. [9] EC Kumbur, KV Sharp, and MM Mench. Validated leverett approach for multiphase flow in pefc diffusion media I. Hydrophobicity effect. Journal of The Electrochemical Society, 154(12):B1295–B1304, 2007. [10] CC Chueh and N Djilali. Numerical analysis of two-phase flow in heterogeneous porous media using a mixture model. Submitted to Physical Review E. [11] MC Leverett. Capillary behaviour in porous solids. AIME Trans., 142:152 – 169, 1941. [12] JH Nam and M Kaviany. Effective diffusivity and water-saturation distribution in singleand-two layer pemfc diffusion medium. International Journal of Heat and Mass Transfer, 46:4595 – 4611, 2003. [13] J Bear. Dynamics of Fluids in Porous Media. American Elsevier, 1972. [14] KS Udell. Heat transfer in porous media considering phase change and capillary - the heat pipe effect. International Journal of Heat and Mass Transfer, 28(2):485 – 495, 1985. 23 [15] M Kaviany. Principles of Heat Transfer in Porous Media. Springer-Verlag, New York, 1991. [16] F Brezzi and M Fortin. Mixed and Hybrid Finite Element Methods. Springer-Verlag, 1991. [17] Z Chen. Finite Element Methods and Their Applications. Springer, 2005. [18] D Neckels and W Bangerth. The deal.II tutorial manual, step-33. http://dealii.org/developer/doxygen/deal.II/step 33.html. [19] GF Carey. Computational Grids: Generation, Adaptation and Solution Strategies. Taylor & Francis, 1997. [20] W Bangerth, R Hartmann, and G Kanschat. deal.II – a general purpose object oriented finite element library. ACM Trans. Math. Softw., 33(4):24/1–24/27, 2007. [21] Y Saad and MH Schultz. Gmres: A generalized minimal residual algorithm for solving nonsymmetric linear systems. SIAM Journal on Scientific and Statistical Computing, 7(3):856–869, 1986. [22] F Zhang. The Schur Complement and its Applications. Springer, 2005. [23] D Silvester and A Wathen. Fast iterative solution of stabilised Stokes systems part II: Using general block preconditioners. SIAM Journal on Numerical Analysis, 31(5):1352–1367, 1994. [24] GH Golub and CF van Loan. Matrix Computations. 3rd Edition, Johns Hopkins, 1996. [25] M Honarpour, L Koederitz, and AH Harvey. Relative Permeability of Petroleum Reservoirs. First edition, CRC Press, 1986. [26] RA Wooding and HJ Morel-Seytoux. Multi-phase fluid flow through porous media. Annual Review of Fluid Mechanics, 8:233 – 274, 1976. 24 Table 1 Parameters used in the model PARAMETER SYMBOL VALUE UNIT 0.6 - Air viscosity (wetting) µw 2.075 × 10−4 g · cm−1 · sec−1 Water viscosity (nonwetting) µnw 3.55 × 10−3 g · cm−1 · sec−1 Immobile or irreducible saturation Sirr 0.18 - σc 10−4 or 10−2 g · sec−2 wt% 5 - Number of high-permeability centres Np 15 - Permeability magnitude scaling factor γm 10−7 - Band width Bw 0.0013 - Number of source/sink terms Ns 4 - The i-th wetting-phase source/sink intensity qw (i) 100 sec−1 Stabilization exponent α 1.0 - Stabilization constant β 0.03 - Normalization constant cR 1.0 - Operator splitting threshold θ∗ 2.0 - Porosity Surface tension PTFE weight percentage 25 Table 2 Parameters used in the Buckley-Leverett problem PARAMETER SYMBOL VALUE UNIT 1.0 - Air viscosity (wetting) µw 2.075 × 10−4 g · cm−1 · sec−1 Water viscosity (nonwetting) µnw 3.55 × 10−3 g · cm−1 · sec−1 k 0.1 cm2 Sirr 0.0 - Stabilization exponent α 1.0 - Stabilization constant β 0.38 - Normalization constant cR 1.0 - Operator splitting threshold θ∗ 1.0 - Porosity permeability (constant) Immobile or irreducible saturation 26 46 Bibliography [1] SE Buckley and MC Leverett. Mechanism of fluid displacements in sands. AIME Trans., 146:107 – 116, 1942. [2] RA Wooding and HJ Morel-Seytoux. Multi-phase fluid flow through porous media. Annual Review of Fluid Mechanics, 8:233 – 274, 1976. [3] CC Chueh, M Secanell, W Bangerth, and N Djilali. Multi-level adaptive simulation of transient two-phase flow in heterogeneous porous media. Computers and Fluids, 39:1585 – 1596, 2010. [4] J Larminie and A Dicks. Fuel Cell Systems Explained. Wiley, 2006. [5] MM Mench. Fuel Cell Engines. Wiley, 2008. [6] J Bear. Dynamics of Fluids in Porous Media. American Elsevier, 1972. [7] A Scheidegger. The Physics of Flow Through Porous Media. University of Toronto Press, Toronto and Buffalo, 3rd Edition, 1974. [8] R Helmig. Multiphase Flow and Transport Processes in the Subsurface. SpringerVerlag, Heidelberg, 1997. [9] S Lister and N Djilali. Two-phase transport in porous gas diffusion electrodes (Eds. M. Faghri & B. Sunden). WIT Press, Southampton, UK, 2005. [10] M von Paul. Simulation of Two-phase Flow Processes in Heterogeneous Porous Media with Adaptive Methods. Dissertation, Universität Stuttgart, Institut für Wasserbau, 2003. [11] MC Leverett. Capillary behaviour in porous solids. AIME Trans., 142:152 – 169, 1941. 47 [12] JH Nam and M Kaviany. Effective diffusivity and water-saturation distribution in single-and-two layer pemfc diffusion medium. International Journal of Heat and Mass Transfer, 46:4595 – 4611, 2003. [13] V Gurau and JA Mann Jr. A critical overview of computational fluid dynamics multiphase models for proton exchange membrane fuel cells. SIAM Journal on Applied Mathematics, 70(2):410 – 454, 2009. [14] M Honarpour, L Koederitz, and AH Harvey. Relative Permeability of Petroleum Reservoirs. First edition, CRC Press, 1986. [15] L Lake. Enhanced Oil Recovery. Prentice-Hall, Inc., Englewood Cliffs, New Jersey, 1989. [16] RJ LeVeque. Numerical Methods for Conservation Laws. Birkhäuser-Verlag, Basel, 1992. [17] R Helmig. Theorie und Numerik der Mehrphasenströmungen in geklüftet-porösen Medien. Dissertation, Universität Hannover, Institut für Strömungsmechanik und Elektron. Rechnen im Bauwesen, 1993. [18] C Hirsch. Numerical Computation of Internal and External Flows – Volume 1: Fundamentals of Numerical Discretization. John Wiley and Sons, 1988. [19] OC Zienkiewicz, RL Taylor, and P Nithiarasu. The Fintie Element Method for Fluid Dynamics. Kindle Edition, Elsvier, 2005. [20] A Ern and JL Guermond. Theory and Practice of Finite Elements. Springer, 2004. [21] Z Chen. Finite Element Methods and Their Applications. Springer, 2005. [22] GH Golub and JM Ortega. Scientific Computing and Differential Equations – An Introduction to Numerical Methods. Academic Press, 1992. [23] V Komkov. Variational principles of continuum mechanics with engineering applications: Critical points theory, volume 1. D. Reidel Publishing Co., Dordrecht, 1986. 48 [24] JL Guermond and R Pasquetti. Entropy-based nonlinear viscosity for fourier approximations of conservation laws. Comptes Rendus Mathematique, 346(1314):801 – 806, 2008. [25] JH Ferziger and M Perić. Computational Methods for Fluid Dynamics. Springer, Berlin, Heidelberg, New York, 2002. [26] M Ainsworth and JT Oden. A Posteriori Error Estimation in Finite Element Analysis. John Wiley and Sons, 2000. [27] R Verfürth. A Review of A Posteriori Error Estimation and Adaptive Mesh Refinement Techniques. Wiley/Teubner, New York, Stuttgart, 1996. [28] GF Carey. Computational Grids: Generation, Adaptation and Solution Strategies. Taylor & Francis, 1997. [29] W Bangerth and R Rannacher. Adaptive Finite Element Methods for Differential Equations. Birkhäuser Verlag, 2003. [30] P Ellsiepen. Zeit- und ortsadaptive Verfahren angewandt auf Mehrphasenprobleme por̈oser Medien. Dissertation, Universität Stuttgart, Institut für Mechanik, Lehrstuhl II, 1999. [31] R Hinkelmann. Efficient Numerical Methods and Information-Processing Techniques in Environment Water. Habilitation, Universität Stuttgart, 2002. [32] H Tang and T Tang. Adaptive mesh methods fo one-and two-dimensional hyperbolic conservation laws. SIAM Journal on Numerical Analysis, 41(2):487, 2003. [33] Z Tan, Z Zhang, Y Huang, and T Tang. Moving mesh methods with locally varying time steps. Journal of Computational Physics, 200(1):347 – 367, 2004. [34] Z Tan, T Tang, and Z Zhang. A simple moving mesh method for one- and two-dimensional phase-field equations. Journal of Computational and Applied Mathematics, 190(1-2):252 – 269, 2006. [35] Y Di, R Li, T Tang, and P Zhang. Moving mesh finite element methods for the incompressible navier–stokes equations. SIAM Journal on Scientific Computing, 26(3):1036–1056, 2005. 49 [36] Y Di, R Li, T Tang, and P Zhang. Moving mesh methods for singular problems on a sphere using perturbed harmonic mappings. SIAM Journal on Scientific Computing, 28(4):1490 – 1508, 2006. [37] Y Di, R Li, and T Tang. A general moving mesh framework in 3d and its application for simulating the mixture of multi-phase flows. Communications in Computational Physics, 3:582 – 602, 2008. [38] R Li and T Tang. Moving mesh discontinuous galerkin method for hyperbolic conservation laws. Journal of Scientific Computing, 27:347 – 363, 2006. [39] YB Zhang, H Wang, and T Tang. Simulating two-phase viscoelastic flows using moving finite element methods. Communications in Computational Physics, 7:333 – 349, 2010. [40] MJ Berger and P Colella. Local adaptive mesh refinement for shock hydrodynamics. Journal of Computational Physics, 82(1):64 – 84, 1989. [41] W Bangerth, R Hartmann, and G Kanschat. deal.II – a general purpose object oriented finite element library. ACM Trans. Math. Softw., 33(4):24/1–24/27, 2007. [42] I Babuška and WC Rheinboldt. A-posteriori error estimates for the finite element method. International Journal of Numerical Methods in Engineering, 12(4):1597–1615, 1978. [43] I Babuška and WC Rheinboldt. Error estimates for adaptive finite element computations. SIAM Journal on Numerical Analysis, 15(4):736–754. [44] C Johnson and P Hansbo. Adaptive finite element methods in computational mechanics. Computer Methods in Applied Mechanics and Engineering, 101(13):143 – 181, 1992. [45] OC Zienkiewicz and JZ Zhu. A simple error estimator and adaptive procedure for practical engineerng analysis. International Journal for Numerical Methods in Engineering, 24(2):337–357, 1987. [46] C Johnson. Adaptive finite element methods for diffusion and convection problems. Computer Methods in Applied Mechanics and Engineering, 82(1-3):301 – 50 322, 1990. Proceedings of the Workshop on Reliability in Computational Mechanics. [47] A Papastavrou. Adaptive Finite Element Methoden für KonvektionsDiffusionsprobleme. Dissertation, Ruhr-Universität Bochum, 1998. [48] C Barlag. Adaptive Methoden zur Modellierung von Stofftransport im Kluftgestein. Dissertation, 1997. [49] E Godlewski and PA Raviart. Numerical Approximation of Hyperbolic Systems of Conservation Laws. Springer-Verlag, New York, 1996. [50] H Holden and NH Risebro. Front Tracking for Conservation Laws. Lecture Notes, Department of Mathematics, Norwegian University of Science and Technology, 1997. [51] D Kröner. Numerical Schemes for Conservation Laws. Wiley/Teubner, 1997. [52] KW Morton. Numerical Solution of Convection-Diffusion Problems. Chapman & Hall, London, 1996. [53] EF Toro. Riemann Solvers and Numerical Methods for Fluid Dynamics. Springer-Verlag, Berlin, 1997. [54] JT Beale, C Greengard, and E Thomann. Operator splitting for Navier-Stokes and Chorin-Marsden product formula, In Vortex Flows and Related Numerical Methods (Greenoble). Kluwer Acad. Publ., Dordrecht, 1993. [55] R Glowinski and O Pironneau. Finite element methods for navier-stokes equations. Annual Review of Fluid Mechanics, 24(1):167–204, 1992. [56] GE Karniadakis and RD Henderson. Spectral element methods for incompressible flows, In RW Johson, Editor, The Handbook of Fluid Dynamics, volume 29. Kluwer Acad. Publ., Dordrecht, 1998. [57] O Pironneau. On the transport-diffusion algorithm and its applications to the navier-stokes equations. Numerische Mathematik, 38(3):309–332, 1982. [58] XC Tai and P Neittaanmäki. Parallel finite element splitting-up method for parabolic problems. Numerical Methods for Partial Differential Equations, 7(3):209–225, 1991. 51 [59] MS Espedal and RE Ewing. Characteristic petrov-galerkin subdomain methods for two-phase immiscible flow. Computer Methods in Applied Mechanics and Engineering, 64(1-3):113 – 135, 1987. [60] HK Dahle. Operator Splitting Techniques for Convection-Dominated Diffusion Problems in One and Two Space Dimensions. PhD Thesis, Department of Mathematics, University of Bergen, Norway, 1988. [61] MS Espedal and KH Karlsel. Numerical Simulation of Reservoir Flow Models Based on Large Time Step Operator Splitting Algorithms, volume 1734. Lecture Notes in Mathematics (Springer-Verlag, New York), 2000. [62] KH Karlsen, KA Lie, JR Natvig, HF Nordhaug, and HK Dahle. Operator splitting methods for systems of convection-diffusion equations: Nonlinear error mechanisms and correction strategies. Journal of Computational Physics, 173(2):636 – 663, 2001. [63] GA Cederberg, RL Street, and JO Leckie. A groundwater mass transport and equilibrium chemistry model for multicomponent systems. Water Resources Research, 21(8):1095–1104, 1985. [64] AL Walter, EO Frind, DW Blowes, CJ Ptacek, and JW Molson. Modeling of multicomponent reactive transport in groundwater 1. model development and evaluation. Water Resources Research, 30(11):3137–3148, 1994. [65] A Zysset, F Stauffer, and T Dracos. Modeling of chemically reactive groundwater transport. Water Resources Research, 30(7):2217–2228, 1994. [66] LSJ Bell and PJ Binning. A split operator approach to reactive transport with the forward particle tracking eulerian lagrangian localized adjoint method. Advances in Water Resources, 27(4):323 – 334, 2004. [67] AI James and JW Jawitz. Modeling two-dimensional reactive transport using a godunov-mixed finite element method. Journal of Hydrology, 338(1-2):28 – 41, 2007. [68] Z Chen. Computational Methods for Multi-phase Flows in Porous Media. SIAM, 2006. 52 [69] Z Chen, G Huan, and B Li. An improved impes method for two-phase flow in porous media. Transport in Porous Media, 54:361 – 376, 2004. [70] E Abreu, J Douglus, F Furtado, and F Pereira. Operating splitting for threephase flow in heterogeneous porous media. Communications in Computational Physics, 6:72 – 84, 2009. [71] GH Golub and CF van Loan. Matrix Computations. 3rd Edition, Johns Hopkins, 1996. [72] Y Saad and MH Schultz. Gmres: A generalized minimal residual algorithm for solving nonsymmetric linear systems. SIAM Journal on Scientific and Statistical Computing, 7(3):856–869, 1986. [73] JL Lions, Y Maday, and G Turinici. Réolution d’edp par un schéma en temps pararéel. Comptes Rendus de l’Acadéie des Sciences - Series I - Mathematics, 332(7):661 – 668, 2001. [74] C Farhat and M Chandesris. Time-decomposed parallel time-integrators: theory and feasibility studies for fluid, structure, and fluid-structure applications. International Journal for Numerical Methods in Engineering, 58(9):1397–1434, 2003. [75] B Guillaume and Y Maday. A Parareal time discretization for Non-linear PDEs with Application to the Pricing of an American Put, volume 23. Recent Developments in Domain Decomposition Methods of Lecture Notes in Computational Science and Engineering, Springer, 2002. [76] I Garrido, MS Espedal, and GE Fladmark. A Convergent Algorithm for Time Parallelization Applied to Reservoir Simulation, volume 40. Domain Decomposition Methods in Science and Engineering of Lecture Notes in Computational Science and Engineering, Springer Berlin Heidelberg, 2006.

* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project

Download PDF

advertisement