|
escript
Revision_
|
Base class for escript system matrices. More...
#include <AbstractSystemMatrix.h>
Public Member Functions | |
| AbstractSystemMatrix () | |
| Default constructor for AbstractSystemMatrix. More... | |
| AbstractSystemMatrix (int row_blocksize, const FunctionSpace &row_functionspace, int column_blocksize, const FunctionSpace &column_functionspace) | |
| virtual | ~AbstractSystemMatrix () |
| Destructor. More... | |
| ASM_ptr | getPtr () |
| Returns smart pointer which is managing this object. If one does not exist yet it creates one. More... | |
| const_ASM_ptr | getPtr () const |
| Returns smart pointer which is managing this object. If one does not exist yet it creates one. More... | |
| Data | vectorMultiply (const Data &right) const |
| returns the matrix-vector product this*right More... | |
| bool | isEmpty () const |
| returns true if the matrix is empty More... | |
| FunctionSpace | getColumnFunctionSpace () const |
| returns the column function space More... | |
| FunctionSpace | getRowFunctionSpace () const |
| returns the row function space More... | |
| int | getRowBlockSize () const |
| returns the row block size More... | |
| int | getColumnBlockSize () const |
| returns the column block size More... | |
| Data | solve (const Data &in, boost::python::object &options) const |
| returns the solution u of the linear system this*u=in More... | |
| virtual void | nullifyRowsAndCols (Data &row_q, Data &col_q, double mdv) |
| sets matrix entries to zero in specified rows and columns. The rows and columns are marked by positive values in row_q and col_q. Values on the main diagonal which are marked to set to zero by both row_q and col_q are set to mdv (main diagonal value). More... | |
| virtual void | saveMM (const std::string &filename) const |
| writes the matrix to a file using the Matrix Market file format More... | |
| virtual void | saveHB (const std::string &filename) const |
| writes the matrix to a file using the Harwell-Boeing file format More... | |
| virtual void | resetValues (bool preserveSolverData=false) |
| resets the matrix entries More... | |
Private Member Functions | |
| virtual void | setToSolution (Data &out, Data &in, boost::python::object &options) const |
| solves the linear system this*out=in More... | |
| virtual void | ypAx (Data &y, Data &x) const |
| performs y+=this*x More... | |
Private Attributes | |
| bool | m_empty |
| int | m_column_blocksize |
| int | m_row_blocksize |
| FunctionSpace | m_row_functionspace |
| FunctionSpace | m_column_functionspace |
Base class for escript system matrices.
|
inline |
Default constructor for AbstractSystemMatrix.
| escript::AbstractSystemMatrix::AbstractSystemMatrix | ( | int | row_blocksize, |
| const FunctionSpace & | row_functionspace, | ||
| int | column_blocksize, | ||
| const FunctionSpace & | column_functionspace | ||
| ) |
|
inlinevirtual |
Destructor.
|
inline |
returns the column block size
Referenced by speckley::DefaultAssembler2D::assembleComplexPDESystem(), speckley::DefaultAssembler3D::assembleComplexPDESystem(), ripley::RipleyDomain::assemblePDE(), ripley::RipleyDomain::assemblePDEBoundary(), ripley::LameAssembler2D::assemblePDEBoundarySystem(), ripley::LameAssembler3D::assemblePDEBoundarySystem(), ripley::DefaultAssembler2D< Scalar >::assemblePDEBoundarySystem(), ripley::DefaultAssembler3D< Scalar >::assemblePDEBoundarySystem(), ripley::DefaultAssembler2D< Scalar >::assemblePDEBoundarySystemReduced(), ripley::DefaultAssembler3D< Scalar >::assemblePDEBoundarySystemReduced(), ripley::RipleyDomain::assemblePDEDirac(), ripley::WaveAssembler2D::assemblePDESystem(), ripley::WaveAssembler3D::assemblePDESystem(), ripley::LameAssembler3D::assemblePDESystem(), ripley::LameAssembler2D::assemblePDESystem(), ripley::DefaultAssembler2D< Scalar >::assemblePDESystem(), ripley::DefaultAssembler3D< Scalar >::assemblePDESystem(), speckley::DefaultAssembler2D::assemblePDESystem(), speckley::DefaultAssembler3D::assemblePDESystem(), speckley::WaveAssembler2D::assemblePDESystem(), speckley::WaveAssembler3D::assemblePDESystem(), ripley::DefaultAssembler2D< Scalar >::assemblePDESystemReduced(), and ripley::DefaultAssembler3D< Scalar >::assemblePDESystemReduced().
|
inline |
returns the column function space
| const_ASM_ptr escript::AbstractSystemMatrix::getPtr | ( | ) |
Returns smart pointer which is managing this object. If one does not exist yet it creates one.
Referenced by dudley::DudleyDomain::addPDEToSystem(), finley::FinleyDomain::addPDEToSystem(), and paso::SystemMatrix::~SystemMatrix().
| const_ASM_ptr escript::AbstractSystemMatrix::getPtr | ( | ) | const |
Returns smart pointer which is managing this object. If one does not exist yet it creates one.
|
inline |
returns the row block size
Referenced by ripley::RipleyDomain::assemblePDE(), ripley::RipleyDomain::assemblePDEBoundary(), ripley::LameAssembler3D::assemblePDEBoundarySystem(), ripley::LameAssembler2D::assemblePDEBoundarySystem(), ripley::DefaultAssembler2D< Scalar >::assemblePDEBoundarySystem(), ripley::DefaultAssembler3D< Scalar >::assemblePDEBoundarySystem(), ripley::DefaultAssembler2D< Scalar >::assemblePDEBoundarySystemReduced(), ripley::DefaultAssembler3D< Scalar >::assemblePDEBoundarySystemReduced(), ripley::RipleyDomain::assemblePDEDirac(), ripley::WaveAssembler2D::assemblePDESystem(), ripley::WaveAssembler3D::assemblePDESystem(), ripley::LameAssembler2D::assemblePDESystem(), ripley::LameAssembler3D::assemblePDESystem(), ripley::DefaultAssembler2D< Scalar >::assemblePDESystem(), ripley::DefaultAssembler3D< Scalar >::assemblePDESystem(), ripley::DefaultAssembler2D< Scalar >::assemblePDESystemReduced(), ripley::DefaultAssembler3D< Scalar >::assemblePDESystemReduced(), and ripley::SystemMatrix::getBlockSize().
|
inline |
returns the row function space
|
inline |
returns true if the matrix is empty
Referenced by BOOST_PYTHON_MODULE().
|
virtual |
sets matrix entries to zero in specified rows and columns. The rows and columns are marked by positive values in row_q and col_q. Values on the main diagonal which are marked to set to zero by both row_q and col_q are set to mdv (main diagonal value).
Reimplemented in ripley::SystemMatrix, and paso::SystemMatrix.
Referenced by BOOST_PYTHON_MODULE().
|
virtual |
resets the matrix entries
Reimplemented in paso::SystemMatrix, and ripley::SystemMatrix.
Referenced by BOOST_PYTHON_MODULE().
|
virtual |
writes the matrix to a file using the Harwell-Boeing file format
Reimplemented in paso::SystemMatrix, and ripley::SystemMatrix.
Referenced by BOOST_PYTHON_MODULE().
|
virtual |
writes the matrix to a file using the Matrix Market file format
Reimplemented in paso::SystemMatrix, and ripley::SystemMatrix.
Referenced by BOOST_PYTHON_MODULE().
|
privatevirtual |
solves the linear system this*out=in
Reimplemented in paso::SystemMatrix, and ripley::SystemMatrix.
| Data escript::AbstractSystemMatrix::solve | ( | const Data & | in, |
| boost::python::object & | options | ||
| ) | const |
returns the solution u of the linear system this*u=in
Referenced by BOOST_PYTHON_MODULE().
returns the matrix-vector product this*right
Referenced by BOOST_PYTHON_MODULE().
performs y+=this*x
Reimplemented in paso::SystemMatrix, and ripley::SystemMatrix.
|
private |
|
private |
|
private |
|
private |
|
private |
1.8.17