18 #ifndef LIBMESH_PETSC_MATRIX_SHELL_MATRIX_H 19 #define LIBMESH_PETSC_MATRIX_SHELL_MATRIX_H 21 #include "libmesh/libmesh_config.h" 23 #ifdef LIBMESH_HAVE_PETSC 25 #include "libmesh/petsc_matrix_base.h" 26 #include "libmesh/petsc_shell_matrix.h" 95 #endif // LIBMESH_HAVE_PETSC 96 #endif // LIBMESH_SPARSE_SHELL_MATRIX_H virtual numeric_index_type n() const override
This class provides a nice interface to the PETSc C-based data structures for parallel, sparse matrices.
PetscMatrixShellMatrix(const Parallel::Communicator &comm_in)
This class allows to use a PETSc shell matrix as a PetscMatrix.
virtual numeric_index_type m() const override
The libMesh namespace provides an interface to certain functionality in the library.
dof_id_type numeric_index_type
const bool _omit_constrained_dofs
Whether to omit constrained degrees of freedom.
virtual bool require_sparsity_pattern() const override
virtual SparseMatrix< T > & operator=(const SparseMatrix< T > &) override
This looks like a copy assignment operator, but note that, unlike normal copy assignment operators...
ParallelType
Defines an enum for parallel data structure types.
virtual void init(const numeric_index_type m, const numeric_index_type n, const numeric_index_type m_l, const numeric_index_type n_l, const numeric_index_type=30, const numeric_index_type=10, const numeric_index_type blocksize=1) override
Initialize SparseMatrix with the specified sizes.