Sparse matrix.
More...
#include <GooseFEM/Matrix.h>
|
| Matrix (const array_type::tensor< size_t, 2 > &conn, const array_type::tensor< size_t, 2 > &dofs) |
| Constructor.
|
|
const Eigen::SparseMatrix< double > & | data () const |
| Pointer to data.
|
|
void | set (const array_type::tensor< size_t, 1 > &rows, const array_type::tensor< size_t, 1 > &cols, const array_type::tensor< double, 2 > &matrix) |
| Overwrite matrix.
|
|
void | add (const array_type::tensor< size_t, 1 > &rows, const array_type::tensor< size_t, 1 > &cols, const array_type::tensor< double, 2 > &matrix) |
| Add matrix.
|
|
size_t | nelem () const |
| Number of elements.
|
|
size_t | nne () const |
| Number of nodes per element.
|
|
size_t | nnode () const |
| Number of nodes.
|
|
size_t | ndim () const |
| Number of dimensions.
|
|
size_t | ndof () const |
| Number of DOFs.
|
|
const array_type::tensor< size_t, 2 > & | dofs () const |
| DOFs per node.
|
|
const array_type::tensor< size_t, 2 > & | conn () const |
| Connectivity.
|
|
std::array< size_t, 1 > | shape_dofval () const |
| Shape of "dofval".
|
|
std::array< size_t, 2 > | shape_nodevec () const |
| Shape of "nodevec".
|
|
std::array< size_t, 3 > | shape_elemmat () const |
| Shape of "elemmat".
|
|
void | assemble (const T &elemmat) |
| Assemble from "elemmat".
|
|
array_type::tensor< double, 2 > | Todense () const |
| Copy as dense matrix.
|
|
void | todense (T &ret) const |
| Copy to dense matrix.
|
|
array_type::tensor< double, 2 > | Dot (const array_type::tensor< double, 2 > &x) const |
| Dot-product \( b_i = A_{ij} x_j \).
|
|
array_type::tensor< double, 1 > | Dot (const array_type::tensor< double, 1 > &x) const |
| Dot-product \( b_i = A_{ij} x_j \).
|
|
void | dot (const array_type::tensor< double, 2 > &x, array_type::tensor< double, 2 > &b) const |
| Dot-product \( b_i = A_{ij} x_j \).
|
|
void | dot (const array_type::tensor< double, 1 > &x, array_type::tensor< double, 1 > &b) const |
| Dot-product \( b_i = A_{ij} x_j \).
|
|
|
template<class > |
class | MatrixSolver |
| Class to solve the system (allowing single factorisation for multiple right-hand-sides).
|
|
Sparse matrix.
See GooseFEM::Vector() for bookkeeping definitions.
Definition at line 653 of file Matrix.h.
◆ Matrix()
Constructor.
- Parameters
-
Definition at line 679 of file Matrix.h.
◆ add()
Add matrix.
- Parameters
-
rows | Row numbers [m]. |
cols | Column numbers [n]. |
matrix | Data entries matrix(i, j) for rows(i), cols(j) [m, n]. |
Definition at line 767 of file Matrix.h.
◆ data()
const Eigen::SparseMatrix< double > & GooseFEM::Matrix::data |
( |
| ) |
const |
|
inline |
Pointer to data.
Definition at line 698 of file Matrix.h.
◆ set()
Overwrite matrix.
- Parameters
-
rows | Row numbers [m]. |
cols | Column numbers [n]. |
matrix | Data entries matrix(i, j) for rows(i), cols(j) [m, n]. |
Definition at line 738 of file Matrix.h.
◆ MatrixSolver
Class to solve the system (allowing single factorisation for multiple right-hand-sides).
Definition at line 668 of file Matrix.h.
The documentation for this class was generated from the following file: