Advanced Multi-Physics (AMP)
On-Line Documentation
ManagedEpetraMatrix.h
Go to the documentation of this file.
1#ifndef included_AMP_ManagedEpetraMatrix
2#define included_AMP_ManagedEpetraMatrix
3
4#include <set>
5
6#include "AMP/discretization/DOF_Manager.h"
7#include "AMP/matrices/Matrix.h"
8#include "AMP/matrices/MatrixParameters.h"
9
10
12#include "Epetra_CrsMatrix.h"
13#include "Epetra_FECrsMatrix.h"
14#include <EpetraExt_Transpose_RowMatrix.h>
16
17namespace AMP::LinearAlgebra {
18
19
26{
27protected:
30
33
36
37 void multiply( shared_ptr other_op, shared_ptr &result ) override;
38
40 std::string type() const override { return "ManagedEpetraMatrix"; }
41
42public:
46 explicit ManagedEpetraMatrix( std::shared_ptr<MatrixParameters> p );
47
48 ManagedEpetraMatrix( std::shared_ptr<MatrixData> data );
49
54 explicit ManagedEpetraMatrix( Epetra_CrsMatrix *m, bool dele = false );
55
58
60
65
66 std::shared_ptr<Matrix> transpose() const override;
67
70 std::shared_ptr<Matrix> clone() const override;
73};
74
75
76} // namespace AMP::LinearAlgebra
77
78#endif
A class that wraps an Epetra_CrsMatrix.
std::string type() const override
Return the type of the matrix.
ManagedEpetraMatrix()=delete
Empty constructor.
void multiply(shared_ptr other_op, shared_ptr &result) override
Multiply two matrices and store in a third result = this * other_op.
Vector::shared_ptr extractDiagonal(Vector::shared_ptr buf=Vector::shared_ptr()) const override
Extract the diagonal from a matrix.
ManagedEpetraMatrix(Epetra_CrsMatrix *m, bool dele=false)
Constructor from Epetra_CrsMatrix.
ManagedEpetraMatrix(std::shared_ptr< MatrixParameters > p)
Constructor.
Vector::shared_ptr createInputVector() const override
Get a right vector ( For , is a right vector )
std::shared_ptr< Matrix > clone() const override
Return a matrix with the same non-zero and distributed structure.
std::shared_ptr< Matrix > transpose() const override
Return a new matrix that is the transpose of this one.
ManagedEpetraMatrix & operator=(const ManagedEpetraMatrix &rhs)=delete
Assignment operator.
ManagedEpetraMatrix(const ManagedEpetraMatrix &rhs)
Copy constructor.
const Epetra_CrsMatrix & getEpetra_CrsMatrix() const
Return an Epetra_CrsMatrix.
Epetra_CrsMatrix & getEpetra_CrsMatrix()
ManagedEpetraMatrix(std::shared_ptr< MatrixData > data)
Vector::shared_ptr createOutputVector() const override
Get a left vector ( For , is a left vector )
An abstract interface for using and manipulating matrices.
Definition Matrix.h:30
std::shared_ptr< Matrix > shared_ptr
Convenience typedef.
Definition Matrix.h:33
std::shared_ptr< Vector > shared_ptr
Shorthand for shared pointer to Vector.
Definition Vector.h:60
#define DISABLE_WARNINGS
Re-enable warnings.
#define ENABLE_WARNINGS
Suppress all warnings.



Advanced Multi-Physics (AMP)
Oak Ridge National Laboratory
Idaho National Laboratory
Los Alamos National Laboratory
This page automatically produced from the
source code by doxygen
Last updated: Tue Mar 10 2026 13:06:40.
Comments on this page