A discontinuous Petrov-Galerkin methodology for incompressible flow problems
Incompressible flows -- flows in which variations in the density of a fluid are negligible -- arise in a wide variety of applications, from hydraulics to aerodynamics. The incompressible Navier-Stokes equations which govern such flows are also of fundamental physical and mathematical interest. They are believed to hold the key to understanding turbulent phenomena; precise conditions for the existence and uniqueness of solutions remain unknown -- and establishing such conditions is the subject of one of the Clay Mathematics Institute's Millennium Prize Problems. Typical solutions of incompressible flow problems involve both fine- and large-scale phenomena, so that a uniform finite element mesh of sufficient granularity will at best be wasteful of computational resources, and at worst be infeasible because of resource limitations. Thus adaptive mesh refinements are required. In industry, the adaptivity schemes used are ad hoc, requiring a domain expert to predict features of the solution. A badly chosen mesh may cause the code to take considerably longer to converge, or fail to converge altogether. Typically, the Navier-Stokes solve will be just one component in an optimization loop, which means that any failure requiring human intervention is costly. Therefore, I pursue technological foundations for a solver of the incompressible Navier-Stokes equations that provides robust adaptivity starting with a coarse mesh. By robust, I mean both that the solver always converges to a solution in predictable time, and that the adaptive scheme is independent of the problem -- no special expertise is required for adaptivity. The cornerstone of my approach is the discontinuous Petrov-Galerkin (DPG) finite element methodology developed by Leszek Demkowicz and Jay Gopalakrishnan. For a large class of problems, DPG can be shown to converge at optimal rates. DPG also provides an accurate mechanism for measuring the error, and this can be used to drive adaptive mesh refinements. Several approximations to Navier-Stokes are of interest, and I study each of these in turn, culminating in the study of the steady 2D incompressible Navier-Stokes equations. The Stokes equations can be obtained by neglecting the convective term; these are accurate for "creeping" viscous flows. The Oseen equations replace the convective term, which is nonlinear, with a linear approximation. The steady-state incompressible Navier-Stokes equations approximate the transient equations by neglecting time variations. Crucial to this work is Camellia, a toolbox I developed for solving DPG problems which uses the Trilinos numerical libraries. Camellia supports 2D meshes of triangles and quads of variable polynomial order, allows simple specification of variational forms, supports h- and p-refinements, and distributes the computation of the stiffness matrix, among other features. The central contribution of this dissertation is design and development of mathematical techniques and software, based on the DPG method, for solving the 2D incompressible Navier-Stokes equations in the laminar regime (Reynolds numbers up to about 1000). Along the way, I investigate approximations to these equations -- the Stokes equations and the Oseen equations -- followed by the steady-state Navier-Stokes equations.