Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

 Open In Colab

  • Parallelized LU\mathbf{L}\mathbf{U} Decomposition is still the go-to for most problems and should always be your first approach.

  • GMRES iteration is your next tool, but it needs strong preconditioning for effective use.

  • If you are studying a well-known model, you can generally find good preconditioners natively in the literature. Use them!

  • If not, most modern PDE solvers will have the ability to test different preconditioners and combine them hierarchically (e.g., COMSOL Multiphysics, PETSc*, etc).

  • Additive Schwarz with LU\mathbf{L}\mathbf{U} on the subdomains is the most robust preconditioner I’ve found (aim for about n=10,000n=10,000 per compute node to balance size with communication overhead).

  • Geometric Multigrid is finicky, but if you can get it working it is remarkable (Use it for elasticity!).

PETSc is the Portable, Extensible Toolkit for Scientific Computation.