Linear Solvers
AMReX supports both single-level solves and composite solves on multiple AMR levels, with the scalar solution to the linear system defined on either cell centers or nodes. AMReX also supports solution of linear systems with embedded boundaries. (See chapter Embedded Boundaries for more details on the embedded boundary representation of complex geometry.)
The default solution technique is geometric multigrid, but AMReX includes native BiCGStab solvers for a single level as well as interfaces to the hypre library.
In this Chapter we give an overview of the linear solvers in AMReX that solve linear systems in the canonical form
where
For the cell-centered solver, AMREX_SPACEDIM
face type
MultiFabs, i.e. there are separate MultiFabs for the
For the nodal solver,
In addition to these solvers, AMReX has support for tensor solves used to calculate the viscous terms that appear in the compressible Navier-Stokes equations. In these solves, all components of the velocity field are solved for simultaneously. The tensor solve functionality is only available for cell-centered velocity.
The tutorials in Linear Solvers show examples of
using the solvers. The tutorial
amrex-tutorials/ExampleCodes/Basic/HeatEquation_EX3_C
shows how to solve the
heat equation implicitly using the solver. The tutorials also show
how to add linear solvers into the build system.