Class GooseFEM::MatrixPartitioned#
-
class MatrixPartitioned : public GooseFEM::MatrixPartitionedBase<MatrixPartitioned>#
Sparse matrix partitioned in an unknown and a prescribed part.
In particular: \( \begin{bmatrix} A_{uu} & A_{up} \\ A_{pu} & A_{pp} \end{bmatrix} \)
See VectorPartitioned() for bookkeeping definitions.
Public Functions
-
inline MatrixPartitioned(const array_type::tensor<size_t, 2> &conn, const array_type::tensor<size_t, 2> &dofs, const array_type::tensor<size_t, 1> &iip)#
Constructor.
-
inline const Eigen::SparseMatrix<double> &data_uu() const#
Pointer to data.
-
inline const Eigen::SparseMatrix<double> &data_up() const#
Pointer to data.
-
inline const Eigen::SparseMatrix<double> &data_pu() const#
Pointer to data.
-
inline const Eigen::SparseMatrix<double> &data_pp() const#
Pointer to data.
-
inline 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.
- Parameters:
rows – Row numbers [m].
cols – Column numbers [n].
matrix – Data entries
matrix(i, j)
forrows(i), cols(j)
[m, n].
-
inline 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.
- Parameters:
rows – Row numbers [m].
cols – Column numbers [n].
matrix – Data entries
matrix(i, j)
forrows(i), cols(j)
[m, n].
-
inline MatrixPartitioned(const array_type::tensor<size_t, 2> &conn, const array_type::tensor<size_t, 2> &dofs, const array_type::tensor<size_t, 1> &iip)#