21 #include "libmesh/petsc_matrix.h"
22 #include "libmesh/shell_matrix.h"
23 #include "libmesh/petsc_shell_matrix.h"
24 #include "libmesh/enum_solver_package.h"
31 std::unique_ptr<ShellMatrix<T>>
33 const SolverPackage solver_package)
39 switch (solver_package)
41 #ifdef LIBMESH_HAVE_PETSC
43 return std::make_unique<PetscShellMatrix<T>>(comm);
47 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())
使用指定的线性求解器包构建一个 ShellMatrix<T>。
void libmesh_ignore(const Args &...)
通用的Shell矩阵,即一个仅定义其对向量的作用的矩阵。此类包含必须在派生类中重写的纯虚拟成员。