escript
Revision_
|
Give a short description of what AbstractSystemMatrix does. More...
#include <AbstractSystemMatrix.h>
Public Member Functions | |
AbstractSystemMatrix () | |
Default constructor for AbstractSystemMatrix. | |
AbstractSystemMatrix (const int row_blocksize, const FunctionSpace &row_functionspace, const int column_blocksize, const FunctionSpace &column_functionspace) | |
virtual | ~AbstractSystemMatrix () |
Destructor. | |
Data | vectorMultiply (Data &right) const |
matrix*vector multiplication | |
int | isEmpty () const |
returns true if the matrix is empty | |
FunctionSpace | getColumnFunctionSpace () const |
returns the column function space | |
FunctionSpace | getRowFunctionSpace () const |
returns the row function space | |
int | getRowBlockSize () const |
returns the row block size | |
int | getColumnBlockSize () const |
returns the column block size | |
Data | solve (Data &in, boost::python::object &options) const |
returns the solution u of the linear system this*u=in | |
virtual void | nullifyRowsAndCols (escript::Data &row_q, escript::Data &col_q, const double mdv) const |
nullifyRowsAndCols - calls Paso_SystemMatrix_nullifyRowsAndCols. | |
virtual void | saveMM (const std::string &fileName) const |
writes the matrix to a file using the Matrix Market file format | |
virtual void | saveHB (const std::string &fileName) const |
writes the matrix to a file using the Harwell-Boeing file format | |
virtual void | resetValues () const |
resets the matrix entries | |
Private Member Functions | |
virtual void | setToSolution (Data &out, Data &in, boost::python::object &options) const |
solves the linear system this*out=in | |
virtual void | ypAx (Data &y, Data &x) const |
performs y+=this*x | |
Private Attributes | |
int | m_empty |
int | m_column_blocksize |
int | m_row_blocksize |
FunctionSpace | m_row_functionspace |
FunctionSpace | m_column_functionspace |
Give a short description of what AbstractSystemMatrix does.
Description: Give a detailed description of AbstractSystemMatrix
Template Parameters: For templates describe any conditions that the parameters used in the template must satisfy
Default constructor for AbstractSystemMatrix.
Description: Default constructor for AbstractSystemMatrix
Preconditions: Describe any preconditions
Throws: Describe any exceptions thrown
References m_empty.
escript::AbstractSystemMatrix::AbstractSystemMatrix | ( | const int | row_blocksize, |
const FunctionSpace & | row_functionspace, | ||
const int | column_blocksize, | ||
const FunctionSpace & | column_functionspace | ||
) |
References m_column_blocksize, m_empty, and m_row_blocksize.
escript::AbstractSystemMatrix::~AbstractSystemMatrix | ( | ) | [virtual] |
Destructor.
int escript::AbstractSystemMatrix::getColumnBlockSize | ( | ) | const [inline] |
returns the column block size
References isEmpty(), and m_column_blocksize.
Referenced by paso::SystemMatrixAdapter::nullifyRowsAndCols(), paso::SystemMatrixAdapter::setToSolution(), solve(), vectorMultiply(), and paso::SystemMatrixAdapter::ypAx().
FunctionSpace escript::AbstractSystemMatrix::getColumnFunctionSpace | ( | ) | const [inline] |
returns the column function space
References isEmpty(), and m_column_functionspace.
Referenced by paso::SystemMatrixAdapter::nullifyRowsAndCols(), paso::SystemMatrixAdapter::setToSolution(), solve(), vectorMultiply(), and paso::SystemMatrixAdapter::ypAx().
int escript::AbstractSystemMatrix::getRowBlockSize | ( | ) | const [inline] |
returns the row block size
References isEmpty(), and m_row_blocksize.
Referenced by paso::SystemMatrixAdapter::nullifyRowsAndCols(), paso::SystemMatrixAdapter::setToSolution(), solve(), vectorMultiply(), and paso::SystemMatrixAdapter::ypAx().
FunctionSpace escript::AbstractSystemMatrix::getRowFunctionSpace | ( | ) | const [inline] |
returns the row function space
References isEmpty(), and m_row_functionspace.
Referenced by paso::SystemMatrixAdapter::nullifyRowsAndCols(), paso::SystemMatrixAdapter::setToSolution(), solve(), vectorMultiply(), and paso::SystemMatrixAdapter::ypAx().
int escript::AbstractSystemMatrix::isEmpty | ( | ) | const |
returns true if the matrix is empty
References m_empty.
Referenced by BOOST_PYTHON_MODULE(), getColumnBlockSize(), getColumnFunctionSpace(), getRowBlockSize(), getRowFunctionSpace(), solve(), and vectorMultiply().
void escript::AbstractSystemMatrix::nullifyRowsAndCols | ( | escript::Data & | row_q, |
escript::Data & | col_q, | ||
const double | mdv | ||
) | const [virtual] |
nullifyRowsAndCols - calls Paso_SystemMatrix_nullifyRowsAndCols.
Reimplemented in paso::SystemMatrixAdapter.
Referenced by BOOST_PYTHON_MODULE().
void escript::AbstractSystemMatrix::resetValues | ( | ) | const [virtual] |
resets the matrix entries
Reimplemented in paso::SystemMatrixAdapter.
Referenced by BOOST_PYTHON_MODULE().
void escript::AbstractSystemMatrix::saveHB | ( | const std::string & | fileName | ) | const [virtual] |
writes the matrix to a file using the Harwell-Boeing file format
Reimplemented in paso::SystemMatrixAdapter.
Referenced by BOOST_PYTHON_MODULE().
void escript::AbstractSystemMatrix::saveMM | ( | const std::string & | fileName | ) | const [virtual] |
writes the matrix to a file using the Matrix Market file format
Reimplemented in paso::SystemMatrixAdapter.
Referenced by BOOST_PYTHON_MODULE().
void escript::AbstractSystemMatrix::setToSolution | ( | Data & | out, |
Data & | in, | ||
boost::python::object & | options | ||
) | const [private, virtual] |
solves the linear system this*out=in
Reimplemented in paso::SystemMatrixAdapter.
Referenced by solve().
Data escript::AbstractSystemMatrix::solve | ( | 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(), isEmpty(), and setToSolution().
Referenced by BOOST_PYTHON_MODULE(), and paso::SystemMatrixAdapter::setToSolution().
Data escript::AbstractSystemMatrix::vectorMultiply | ( | Data & | right | ) | const |
matrix*vector multiplication
References getColumnBlockSize(), getColumnFunctionSpace(), escript::Data::getDataPointSize(), getRowBlockSize(), getRowFunctionSpace(), isEmpty(), and ypAx().
Referenced by BOOST_PYTHON_MODULE(), and escript::operator*().
void escript::AbstractSystemMatrix::ypAx | ( | Data & | y, |
Data & | x | ||
) | const [private, virtual] |
int escript::AbstractSystemMatrix::m_column_blocksize [private] |
Referenced by AbstractSystemMatrix(), and getColumnBlockSize().
Referenced by getColumnFunctionSpace().
int escript::AbstractSystemMatrix::m_empty [private] |
Referenced by AbstractSystemMatrix(), and isEmpty().
int escript::AbstractSystemMatrix::m_row_blocksize [private] |
Referenced by AbstractSystemMatrix(), and getRowBlockSize().
Referenced by getRowFunctionSpace().