|
escript
Revision_
|
#include <RipleySystemMatrix.h>
Public Member Functions | |
| SystemMatrix (escript::JMPI mpiInfo, int blocksize, const escript::FunctionSpace &fs, int nRows, const IndexVector &diagonalOffsets, bool symmetric) | |
| virtual | ~SystemMatrix () |
| virtual void | nullifyRowsAndCols (escript::Data &row_q, escript::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... | |
| void | add (const IndexVector &rowIndex, const std::vector< double > &array) |
| int | getBlockSize () const |
Public Member Functions inherited from escript::AbstractSystemMatrix | |
| 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... | |
Private Member Functions | |
| template<class LinearOperator , class Vector , class Preconditioner > | |
| void | runSolver (LinearOperator &A, Vector &x, Vector &b, Preconditioner &M, escript::SolverBuddy &sb) const |
| void | copyMatrixToDevice (bool verbose=false) const |
| copies the current matrix stored on host to device if required More... | |
| virtual void | setToSolution (escript::Data &out, escript::Data &in, boost::python::object &options) const |
| solves the linear system this*out=in More... | |
| virtual void | ypAx (escript::Data &y, escript::Data &x) const |
| performs y+=this*x More... | |
Static Private Member Functions | |
| static void | checkCUDA () |
Private Attributes | |
| escript::JMPI | m_mpiInfo |
| HostMatrixType | mat |
| DeviceMatrixType | dmat |
| bool | matrixAltered |
| bool | symmetric |
Static Private Attributes | |
| static std::vector< int > | cudaDevices |
| GPU device IDs supporting CUDA. More... | |
| ripley::SystemMatrix::SystemMatrix | ( | escript::JMPI | mpiInfo, |
| int | blocksize, | ||
| const escript::FunctionSpace & | fs, | ||
| int | nRows, | ||
| const IndexVector & | diagonalOffsets, | ||
| bool | symmetric | ||
| ) |
|
inlinevirtual |
| void ripley::SystemMatrix::add | ( | const IndexVector & | rowIndex, |
| const std::vector< double > & | array | ||
| ) |
Referenced by ripley::RipleyDomain::addToSystemMatrix().
|
staticprivate |
|
private |
copies the current matrix stored on host to device if required
|
inline |
References escript::AbstractSystemMatrix::getRowBlockSize().
|
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 from escript::AbstractSystemMatrix.
|
virtual |
resets the matrix entries
Reimplemented from escript::AbstractSystemMatrix.
|
private |
|
virtual |
writes the matrix to a file using the Harwell-Boeing file format
Reimplemented from escript::AbstractSystemMatrix.
|
virtual |
writes the matrix to a file using the Matrix Market file format
Reimplemented from escript::AbstractSystemMatrix.
|
privatevirtual |
solves the linear system this*out=in
Reimplemented from escript::AbstractSystemMatrix.
|
privatevirtual |
performs y+=this*x
Reimplemented from escript::AbstractSystemMatrix.
|
staticprivate |
GPU device IDs supporting CUDA.
|
mutableprivate |
|
private |
|
private |
|
mutableprivate |
|
private |
1.8.17