|
|
| ISTLMatrix (const ProcessAdm &padm, const LinSolParams &spar) |
| | Constructor.
|
| |
|
| ISTLMatrix (const ISTLMatrix &A) |
| | Copy constructor.
|
| |
|
| ~ISTLMatrix () override |
| | The destructor frees the dynamically allocated arrays.
|
| |
|
LinAlg::MatrixType | getType () const override |
| | Returns the matrix type.
|
| |
|
size_t | dim (int=1) const override |
| | Returns the dimension of the system matrix.
|
| |
|
SystemMatrix * | copy () const override |
| | Creates a copy of the system matrix and returns a pointer to it.
|
| |
| void | initAssembly (const SAM &sam, char) override |
| | Initializes the element assembly process. that are needed before the actual assembly can start are performed. More...
|
| |
|
void | init () override |
| | Initializes the matrix to zero assuming it is properly dimensioned.
|
| |
|
bool | endAssembly () override |
| | Copies the assembled matrix into iA.
|
| |
| bool | solve (SystemVector &B, Real *) override |
| | Solves the linear system of equations for a given right-hand-side. More...
|
| |
| bool | solve (const SystemVector &B, SystemVector &x) override |
| | Solves the linear system of equations for a given right-hand-side. More...
|
| |
|
Real | Linfnorm () const override |
| | Returns the L-infinity norm of the matrix.
|
| |
|
ISTL::Mat & | getMatrix () |
| | Returns the ISTL matrix (for assignment).
|
| |
|
const ISTL::Mat & | getMatrix () const |
| | Returns the ISTL matrix (for read access).
|
| |
|
| SparseMatrix (SparseSolver eqSolver=NONE, int nt=1) |
| | Default constructor creating an empty matrix.
|
| |
|
| SparseMatrix (size_t m, size_t n=0, SparseSolver eqsolver=NONE) |
| | Constructor creating a \(m \times n\) matrix.
|
| |
|
| SparseMatrix (const SparseMatrix &B) |
| | Copy constructor.
|
| |
|
virtual | ~SparseMatrix () |
| | The destructor frees the dynamically allocated arrays.
|
| |
| virtual bool | lockPattern (bool doLock) |
| | Locks or unlocks the sparsity pattern. More...
|
| |
| void | resize (size_t r, size_t c=0, bool forceEditable=false) |
| | Resizes the matrix to dimension \(r \times c\). More...
|
| |
| bool | redim (size_t r, size_t c) |
| | Resizes the matrix to dimension \(r \times c\). More...
|
| |
|
size_t | rows () const |
| | Query number of matrix rows.
|
| |
|
size_t | cols () const |
| | Query number of matrix columns.
|
| |
|
size_t | size () const |
| | Query total matrix size in terms of number of non-zero elements.
|
| |
|
Real & | operator() (size_t r, size_t c) |
| | Index-1 based element access.
|
| |
|
const Real & | operator() (size_t r, size_t c) const |
| | Index-1 based element reference.
|
| |
|
const ValueMap & | getValues () const |
| | For traversal of the non-zero elements of an editable matrix.
|
| |
|
void | printSparsity (std::ostream &os) const |
| | Print sparsity pattern - for inspection purposes.
|
| |
| void | printFull (std::ostream &os) const |
| | Print the matrix in full rectangular form. More...
|
| |
|
virtual void | dump (std::ostream &os, LinAlg::StorageFormat format, const char *label) |
| | Dumps the system matrix on a specified format.
|
| |
| void | preAssemble (const SAM &sam, bool delayLocking) |
| | Initializes the element sparsity pattern based on node connections. More...
|
| |
| virtual void | preAssemble (const std::vector< IntVec > &MMNPC, size_t nel=0) |
| | Initializes the element sparsity pattern based on node connections. More...
|
| |
|
virtual void | compressPattern () |
| | Compresses the sparsity pattern.
|
| |
| virtual bool | assemble (const Matrix &eM, const SAM &sam, int e) |
| | Adds an element matrix into the associated system matrix. More...
|
| |
| virtual bool | assemble (const Matrix &eM, const SAM &sam, SystemVector &B, int e) |
| | Adds an element matrix into the associated system matrix. More...
|
| |
| virtual bool | assemble (const Matrix &eM, const SAM &sam, SystemVector &B, const IntVec &meq) |
| | Adds an element matrix into the associated system matrix. More...
|
| |
| virtual bool | assemble (const Matrix &eM, const IntVec &meq) |
| | Adds an element matrix into the associated system matrix. More...
|
| |
| bool | assembleCol (const RealArray &V, const SAM &sam, int n, size_t col) |
| | Adds a nodal vector into columns of a non-symmetric sparse matrix. More...
|
| |
| bool | assembleCol (Real val, const SAM &sam, int n, size_t col) |
| | Adds a scalar value into columns of a non-symmetric sparse matrix. More...
|
| |
| virtual bool | augment (const SystemMatrix &B, size_t r0, size_t c0) |
| | Augments a similar matrix symmetrically to the current matrix. More...
|
| |
| virtual bool | truncate (Real threshold=Real(1.0e-16)) |
| | Truncates all small matrix elements to zero. More...
|
| |
|
virtual void | mult (Real alpha) |
| | Multiplication with a scalar.
|
| |
| virtual bool | add (const SystemMatrix &B, Real alpha) |
| | Adds a matrix with similar sparsity pattern to the current matrix. More...
|
| |
|
virtual bool | add (Real sigma, int ieq) |
| | Adds the constant σ to the diagonal of this matrix.
|
| |
|
virtual bool | multiply (const SystemVector &B, SystemVector &C) const |
| | Performs the matrix-vector multiplication C = *this * B.
|
| |
| void | calcCSR (IntVec &iA, IntVec &jA) const |
| | Calculates compressed-sparse-row arrays from the element map. More...
|
| |
| bool | split (std::array< SparseMatrix, 4 > &Asub, const IntVec &meqn2) const |
| | Splits the matrix into four sub-matrices, A11, A12, A21, A22. More...
|
| |
| bool | getColumn (size_t c, Vector &col) const |
| | Extracts a specified column from the matrix. More...
|
| |
|
bool | isFactored () const |
| | Returns whether the matrix has been factored or not.
|
| |
| virtual bool | solve (SystemVector &b, Real *rc=nullptr)=0 |
| | Solves the linear system of equations for a given right-hand-side. More...
|
| |
| virtual bool | solve (const SystemVector &b, SystemVector &x) |
| | Solves the linear system of equations for a given right-hand-side. More...
|
| |
|
virtual | ~SystemMatrix () |
| | Empty destructor.
|
| |
|
virtual bool | empty () const |
| | Checks if the matrix is empty.
|
| |
|
bool | isZero () const |
| | Checks if the matrix have no non-zero contributions.
|
| |
|
void | initNonZeroEqs () |
| | Initializes the nonZeroEqs flags.
|
| |
|
bool | flagNonZeroEqs (const IntVec &meq={}) |
| | Flags the equations meq as pivots with non-zero contributions.
|
| |
|
bool | flagNonZeroEqs (const SystemMatrix &B) |
| | Flags the non-zero equations from B as non-zero pivots in this.
|
| |
|
virtual void | dump (const char *fileName, std::streamsize precision=0, LinAlg::StorageFormat format=LinAlg::FLAT) |
| | Dumps the system matrix to specified file.
|
| |
|
virtual bool | load (const char *, bool=false) |
| | Loads the system matrix from specified file.
|
| |
|
StdVector | operator* (const SystemVector &b) const |
| | Calculates a matrix-vector product.
|
| |
|
StdVector | operator/ (const SystemVector &b) |
| | Solves a linear equation system.
|
| |
Class for representing the system matrix in ISTL format.