|
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::SpeckleyDomain::assemblePDE(), ripley::RipleyDomain::assemblePDE(), speckley::SpeckleyDomain::assemblePDEBoundary(), 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(), speckley::SpeckleyDomain::assemblePDEDirac(), ripley::RipleyDomain::assemblePDEDirac(), ripley::WaveAssembler2D::assemblePDESystem(), ripley::WaveAssembler3D::assemblePDESystem(), ripley::LameAssembler3D::assemblePDESystem(), ripley::LameAssembler2D::assemblePDESystem(), ripley::DefaultAssembler2D< Scalar >::assemblePDESystem(), speckley::DefaultAssembler2D::assemblePDESystem(), ripley::DefaultAssembler3D< Scalar >::assemblePDESystem(), speckley::DefaultAssembler3D::assemblePDESystem(), speckley::WaveAssembler2D::assemblePDESystem(), speckley::WaveAssembler3D::assemblePDESystem(), ripley::DefaultAssembler2D< Scalar >::assemblePDESystemReduced(), ripley::DefaultAssembler3D< Scalar >::assemblePDESystemReduced(), paso::SystemMatrix::nullifyRowsAndCols(), paso::SystemMatrix::setToSolution(), solve(), vectorMultiply(), and paso::SystemMatrix::ypAx().
|
inline |
returns the column function space
Referenced by paso::SystemMatrix::nullifyRowsAndCols(), paso::SystemMatrix::setToSolution(), solve(), vectorMultiply(), and paso::SystemMatrix::ypAx().
| 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(), paso::SystemMatrix::setPreconditioner(), paso::SystemMatrix::solve(), and paso::SystemMatrix::solvePreconditioner().
| 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 speckley::SpeckleyDomain::assemblePDE(), ripley::RipleyDomain::assemblePDE(), speckley::SpeckleyDomain::assemblePDEBoundary(), 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(), speckley::SpeckleyDomain::assemblePDEDirac(), ripley::RipleyDomain::assemblePDEDirac(), ripley::WaveAssembler3D::assemblePDESystem(), ripley::WaveAssembler2D::assemblePDESystem(), ripley::LameAssembler2D::assemblePDESystem(), ripley::LameAssembler3D::assemblePDESystem(), ripley::DefaultAssembler2D< Scalar >::assemblePDESystem(), ripley::DefaultAssembler3D< Scalar >::assemblePDESystem(), ripley::DefaultAssembler2D< Scalar >::assemblePDESystemReduced(), ripley::DefaultAssembler3D< Scalar >::assemblePDESystemReduced(), paso::SystemMatrix::nullifyRowsAndCols(), paso::SystemMatrix::setToSolution(), solve(), vectorMultiply(), and paso::SystemMatrix::ypAx().
|
inline |
returns the row function space
Referenced by paso::SystemMatrix::nullifyRowsAndCols(), paso::SystemMatrix::setToSolution(), solve(), vectorMultiply(), and paso::SystemMatrix::ypAx().
|
inline |
returns true if the matrix is empty
Referenced by BOOST_PYTHON_MODULE(), solve(), and vectorMultiply().
|
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 paso::SystemMatrix, and ripley::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.
Referenced by solve().
| Data escript::AbstractSystemMatrix::solve | ( | const Data & | in, |
| boost::python::object & | options | ||
| ) | const |
returns the solution u of the linear system this*u=in
References getColumnBlockSize(), getColumnFunctionSpace(), escript::Data::getDataPointSize(), escript::Data::getFunctionSpace(), getRowBlockSize(), getRowFunctionSpace(), escript::Data::isComplex(), isEmpty(), and setToSolution().
Referenced by BOOST_PYTHON_MODULE().
returns the matrix-vector product this*right
References getColumnBlockSize(), getColumnFunctionSpace(), escript::Data::getDataPointSize(), getRowBlockSize(), getRowFunctionSpace(), escript::Data::isComplex(), isEmpty(), and ypAx().
Referenced by BOOST_PYTHON_MODULE(), and escript::operator*().
performs y+=this*x
Reimplemented in paso::SystemMatrix, and ripley::SystemMatrix.
Referenced by vectorMultiply().
|
private |
|
private |
|
private |
|
private |
|
private |
1.8.13