A Fast Direct Solver for Elliptic PDEs on a Hierarchy of Adaptively Refined Quadtrees
Damyn Chipman, Donna Calhoun, Carsten Burstedde
TL;DR
The paper develops a fast direct solver for constant-coefficient elliptic PDEs on adaptive 2D quadtree Cartesian meshes using the Hierarchical Poincaré-Steklov framework. It introduces a full 4-to-1 leaf-merging strategy, leaf-level DtN operators, and a solve-stage 1-to-4 splitting, with patch-based leaf solvers wrapped around FISHPACK and implemented on the p4est adaptive mesh library. Key contributions include explicit leaf DtN construction, a practical 4-to-1 merge, coarse-fine interface handling, and a path-indexed quadtree data structure enabling efficient storage and traversal. The approach yields substantial speedups and memory savings on Poisson and Helmholtz problems, and supports precomputation of solution operators for linear-time solves, enabling efficient time stepping and potential parallelization.
Abstract
We describe a fast, direct solver for elliptic partial differential equations on a two-dimensional hierarchy of adaptively refined, Cartesian meshes. Our solver, inspired by the Hierarchical Poincaré-Steklov (HPS) method introduced by Gillman and Martinsson (SIAM J. Sci. Comput., 2014) uses fast solvers on locally uniform Cartesian patches stored in the leaves of a quadtree and is the first such solver that works directly with the adaptive quadtree mesh managed using the grid management library \pforest (C. Burstedde, L. Wilcox, O. Ghattas, SIAM J. Sci. Comput. 2011). Within each Cartesian patch, stored in leaves of the quadtree, we use a second order finite volume discretization on cell-centered meshes. Key contributions of our algorithm include 4-to-1 merge and split implementations for the HPS build stage and solve stage, respectively. We demonstrate our solver on Poisson and Helmholtz problems with a mesh adapted to the high local curvature of the right-hand side.
