The basic container that stores a base matrix. More...
#include <MatrixBackend.hpp>
Public Member Functions | |
PetscMatrix (DofMap const &rowDofMap, DofMap const &colDofMap) | |
Constructor. Constructs new BaseMatrix. | |
PetscMatrix (PetscMatrix const &)=delete | |
PetscMatrix (PetscMatrix &&)=delete | |
PetscMatrix & | operator= (PetscMatrix const &)=delete |
PetscMatrix & | operator= (PetscMatrix &&)=delete |
BaseMatrix & | matrix () |
Return a reference to the data-matrix matrix. | |
BaseMatrix const & | matrix () const |
Return a reference to the data-matrix matrix. | |
template<class RowIndex , class ColIndex > | |
void | insert (RowIndex const &r, ColIndex const &c, PetscScalar value) |
Insert a single value into the matrix. | |
template<class LocalInd , class LocalMatrix > | |
void | scatter (LocalInd const &localInd, LocalMatrix const &localMat) |
Insert an element-matrix with row-indices == col-indices. | |
template<class RowLocalInd , class ColLocalInd , class LocalMatrix > | |
void | scatter (RowLocalInd const &rowLocalInd, ColLocalInd const &colLocalInd, LocalMatrix const &localMat) |
Insert an element-matrix. | |
template<class RowInd > | |
void | zeroRows (std::vector< RowInd > const &rowLocalInd, bool diag) |
Set all entries of the specified rows to zero and the diagonal element to diag | |
template<class RowInd , class ColInd > | |
void | zeroRows (std::vector< RowInd > const &rowLocalInd, std::vector< ColInd > const &colLocalInd, bool diag) |
Set all entries of the specified rows to zero and the diagonal element to diag | |
template<class RowInd > | |
void | zeroRowsColumns (std::vector< RowInd > const &rowLocalInd, bool diag) |
Set all entries of the specified rows and columns to zero and the diagonal element to diag | |
template<class RowInd > | |
void | zeroRowsColumns (std::vector< RowInd > const &rowLocalInd, bool diag, PetscVector< DofMap > const &x, PetscVector< DofMap > &b) |
Set all entries of the specified rows and columns to zero and the diagonal element to diag | |
template<class RowInd , class ColInd > | |
void | zeroRowsColumns (std::vector< RowInd > const &rowLocalInd, std::vector< ColInd > const &colLocalInd, bool diag) |
Set all entries of the specified rows and columns to zero and the diagonal element to diag | |
template<class RowInd , class ColInd > | |
void | zeroRowsColumns (std::vector< RowInd > const &rowLocalInd, std::vector< ColInd > const &colLocalInd, bool diag, PetscVector< DofMap > const &x, PetscVector< DofMap > &b) |
Set all entries of the specified rows and columns to zero and the diagonal element to diag | |
void | init (MatrixNnzStructure const &pattern) |
Create and initialize the matrix. | |
void | init () |
Reuse the matrix pattern and set all entries to zero. | |
void | finish () |
Finish assembly. Must be called before matrix can be used in a KSP. | |
std::size_t | nnz () const |
Return the local number of nonzeros in the matrix. | |
MPI_Comm | comm () const |
Friends | |
template<class > | |
class | Constraints |
The basic container that stores a base matrix.