A multidomain spectral method for solving elliptic equations
Harald P. Pfeiffer, Lawrence E. Kidder, Mark A. Scheel, Saul A. Teukolsky
TL;DR
This work introduces a versatile multidomain spectral solver for coupled nonlinear elliptic PDEs, built around a novel operator S that unifies the PDE, boundary conditions, and inter-subdomain matching. It leverages pseudospectral collocation with both rectangular blocks and spherical shells, supports touching and overlapping domains, and allows run-time customization of mappings and domain layout. The approach relies on Newton-Krylov solvers with flexible preconditioning, enabling high accuracy and exponential convergence, shown on Laplace-type problems and nonflat geometric systems relevant to numerical relativity. Compared with traditional finite-difference methods, the spectral method delivers superior accuracy at comparable or lower computational cost and demonstrates strong parallel scalability across complex domain decompositions. These advances facilitate efficient, high-fidelity solutions for challenging elliptic systems with multiple length scales and nontrivial geometries.
Abstract
We present a new solver for coupled nonlinear elliptic partial differential equations (PDEs). The solver is based on pseudo-spectral collocation with domain decomposition and can handle one- to three-dimensional problems. It has three distinct features. First, the combined problem of solving the PDE, satisfying the boundary conditions, and matching between different subdomains is cast into one set of equations readily accessible to standard linear and nonlinear solvers. Second, touching as well as overlapping subdomains are supported; both rectangular blocks with Chebyshev basis functions as well as spherical shells with an expansion in spherical harmonics are implemented. Third, the code is very flexible: The domain decomposition as well as the distribution of collocation points in each domain can be chosen at run time, and the solver is easily adaptable to new PDEs. The code has been used to solve the equations of the initial value problem of general relativity and should be useful in many other problems. We compare the new method to finite difference codes and find it superior in both runtime and accuracy, at least for the smooth problems considered here.
