A Neural-preconditioned Poisson Solver for Mixed Dirichlet and Neumann Boundary Conditions

Kai Weixian Lan, E. Gueidon, Ayano Kaneda, Julian Panetta, Joseph Teran
10/1/2023

No official code found. Best implementation: kai-lan/MLPCG (9 stars, last commit 2025-06-29).

Abstract

We introduce a neural-preconditioned iterative solver for Poisson equations with mixed boundary conditions. Typical Poisson discretizations yield large, ill-conditioned linear systems. Iterative solvers can be effective for these problems, but only when equipped with powerful preconditioners. Unfortunately, effective preconditioners like multigrid require costly setup phases that must be re-executed every time domain shapes or boundary conditions change, forming a severe bottleneck for problems with evolving boundaries. In contrast, we present a neural preconditioner trained to efficiently approximate the inverse of the discrete Laplacian in the presence of such changes. Our approach generalizes to domain shapes, boundary conditions, and grid sizes outside the training set. The key to our preconditioner's success is a novel, lightweight neural network architecture featuring spatially varying convolution kernels and supporting fast inference. We demonstrate that our solver outperforms state-of-the-art methods like algebraic multigrid as well as recently proposed neural preconditioners on challenging test cases arising from incompressible fluid simulations.

View on arXivView PDF

Code Implementations(1)

kai-lan/MLPCGCommunity100%
91C++, CSSNov 1, 20221 years ago

Similar Papers

Cite this paper

@article{lan2023neuralpreconditioned,
  title  = {A Neural-preconditioned Poisson Solver for Mixed Dirichlet and Neumann Boundary Conditions},
  author = {Kai Weixian Lan and E. Gueidon and Ayano Kaneda and Julian Panetta and Joseph Teran},
  year   = {2023},
  eprint = {2310.00177},
  archivePrefix = {arXiv},
  url    = {https://arxiv.org/pdf/2310.00177},
  journal = {ICML 2023 2023}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/2310.00177.svg)](https://codeofpaper.com/paper/2310.00177)

Discussion