21 #include "libmesh/shell_matrix.h" 22 #include "libmesh/petsc_shell_matrix.h" 23 #include "libmesh/enum_solver_package.h" 30 std::unique_ptr<ShellMatrix<T>>
38 switch (solver_package)
40 #ifdef LIBMESH_HAVE_PETSC 42 return std::make_unique<PetscShellMatrix<T>>(comm);
46 libmesh_error_msg(
"ERROR: Unrecognized solver package: " << solver_package);
static std::unique_ptr< ShellMatrix< T > > build(const Parallel::Communicator &comm, const SolverPackage solver_package=libMesh::default_solver_package())
Builds a ShellMatrix<T> using the linear solver package specified by solver_package.
The libMesh namespace provides an interface to certain functionality in the library.
void libmesh_ignore(const Args &...)
SolverPackage
Defines an enum for various linear solver packages.