|
FrictionQPotFEM 0.23.3
|
Sparse matrix from with dependent DOFs are eliminated, and the remaining (small) independent system is partitioned in an unknown and a prescribed part. More...
#include <include/GooseFEM/MatrixPartitionedTyings.h>


Public Member Functions | |
| MatrixPartitionedTyings (const array_type::tensor< size_t, 2 > &conn, const array_type::tensor< size_t, 2 > &dofs, const Eigen::SparseMatrix< double > &Cdu, const Eigen::SparseMatrix< double > &Cdp) | |
| Constructor. More... | |
| const Eigen::SparseMatrix< double > & | data_uu () const |
| Pointer to data. More... | |
| const Eigen::SparseMatrix< double > & | data_up () const |
| Pointer to data. More... | |
| const Eigen::SparseMatrix< double > & | data_pu () const |
| Pointer to data. More... | |
| const Eigen::SparseMatrix< double > & | data_pp () const |
| Pointer to data. More... | |
| const Eigen::SparseMatrix< double > & | data_ud () const |
| Pointer to data. More... | |
| const Eigen::SparseMatrix< double > & | data_pd () const |
| Pointer to data. More... | |
| const Eigen::SparseMatrix< double > & | data_du () const |
| Pointer to data. More... | |
| const Eigen::SparseMatrix< double > & | data_dp () const |
| Pointer to data. More... | |
| const Eigen::SparseMatrix< double > & | data_dd () const |
| Pointer to data. More... | |
Public Member Functions inherited from GooseFEM::MatrixPartitionedTyingsBase< MatrixPartitionedTyings > | |
| size_t | nni () const |
| Number of independent DOFs. More... | |
| size_t | nnd () const |
| Number of dependent DOFs. More... | |
| const array_type::tensor< size_t, 1 > & | iii () const |
| Independent DOFs. More... | |
| const array_type::tensor< size_t, 1 > & | iid () const |
| Dependent DOFs. More... | |
Public Member Functions inherited from GooseFEM::MatrixPartitionedBase< D > | |
| size_t | nnu () const |
| Number of unknown DOFs. More... | |
| size_t | nnp () const |
| Number of prescribed DOFs. More... | |
| const array_type::tensor< size_t, 1 > & | iiu () const |
| Unknown DOFs. More... | |
| const array_type::tensor< size_t, 1 > & | iip () const |
| Prescribed DOFs. More... | |
| array_type::tensor< double, 2 > | Reaction (const array_type::tensor< double, 2 > &x, const array_type::tensor< double, 2 > &b) const |
| Right-hand-size for corresponding to the prescribed DOFs: More... | |
| array_type::tensor< double, 1 > | Reaction (const array_type::tensor< double, 1 > &x, const array_type::tensor< double, 1 > &b) const |
| Same as Reaction(const array_type::tensor<double, 2>&, const array_type::tensor<double, 2>&), but of "dofval" input and output. More... | |
| void | reaction (const array_type::tensor< double, 2 > &x, array_type::tensor< double, 2 > &b) const |
| Same as Reaction(const array_type::tensor<double, 2>&, const array_type::tensor<double, 2>&), but inserting in-place. More... | |
| void | reaction (const array_type::tensor< double, 1 > &x, array_type::tensor< double, 1 > &b) const |
| Same as Reaction(const array_type::tensor<double, 1>&, const array_type::tensor<double, 1>&), but inserting in-place. More... | |
| array_type::tensor< double, 1 > | Reaction_p (const array_type::tensor< double, 1 > &x_u, const array_type::tensor< double, 1 > &x_p) const |
| Same as Reaction(const array_type::tensor<double, 1>&, const array_type::tensor<double, 1>&), but with partitioned input and output. More... | |
| void | reaction_p (const array_type::tensor< double, 1 > &x_u, const array_type::tensor< double, 1 > &x_p, array_type::tensor< double, 1 > &b_p) const |
| Same as Reaction_p(const array_type::tensor<double, 1>&, const array_type::tensor<double,
1>&), but writing to preallocated output. More... | |
Public Member Functions inherited from GooseFEM::MatrixBase< D > | |
| size_t | nelem () const |
| Number of elements. More... | |
| size_t | nne () const |
| Number of nodes per element. More... | |
| size_t | nnode () const |
| Number of nodes. More... | |
| size_t | ndim () const |
| Number of dimensions. More... | |
| size_t | ndof () const |
| Number of DOFs. More... | |
| const array_type::tensor< size_t, 2 > & | dofs () const |
| DOFs per node. More... | |
| const array_type::tensor< size_t, 2 > & | conn () const |
| Connectivity. More... | |
| std::array< size_t, 1 > | shape_dofval () const |
| Shape of "dofval". More... | |
| std::array< size_t, 2 > | shape_nodevec () const |
| Shape of "nodevec". More... | |
| std::array< size_t, 3 > | shape_elemmat () const |
| Shape of "elemmat". More... | |
| template<class T > | |
| void | assemble (const T &elemmat) |
| Assemble from "elemmat". More... | |
| array_type::tensor< double, 2 > | Todense () const |
| Copy as dense matrix. More... | |
| template<class T > | |
| void | todense (T &ret) const |
| Copy to dense matrix. More... | |
| array_type::tensor< double, 2 > | Dot (const array_type::tensor< double, 2 > &x) const |
| Dot-product \( b_i = A_{ij} x_j \). More... | |
| array_type::tensor< double, 1 > | Dot (const array_type::tensor< double, 1 > &x) const |
| Dot-product \( b_i = A_{ij} x_j \). More... | |
| void | dot (const array_type::tensor< double, 2 > &x, array_type::tensor< double, 2 > &b) const |
| Dot-product \( b_i = A_{ij} x_j \). More... | |
| void | dot (const array_type::tensor< double, 1 > &x, array_type::tensor< double, 1 > &b) const |
| Dot-product \( b_i = A_{ij} x_j \). More... | |
Protected Attributes | |
| Eigen::SparseMatrix< double > | m_Auu |
| The matrix. More... | |
| Eigen::SparseMatrix< double > | m_Aup |
| The matrix. More... | |
| Eigen::SparseMatrix< double > | m_Apu |
| The matrix. More... | |
| Eigen::SparseMatrix< double > | m_App |
| The matrix. More... | |
| Eigen::SparseMatrix< double > | m_Aud |
| The matrix. More... | |
| Eigen::SparseMatrix< double > | m_Apd |
| The matrix. More... | |
| Eigen::SparseMatrix< double > | m_Adu |
| The matrix. More... | |
| Eigen::SparseMatrix< double > | m_Adp |
| The matrix. More... | |
| Eigen::SparseMatrix< double > | m_Add |
| The matrix. More... | |
| Eigen::SparseMatrix< double > | m_ACuu |
| // The matrix for which the tyings have been applied. More... | |
| Eigen::SparseMatrix< double > | m_ACup |
| // The matrix for which the tyings have been applied. More... | |
| Eigen::SparseMatrix< double > | m_ACpu |
| // The matrix for which the tyings have been applied. More... | |
| Eigen::SparseMatrix< double > | m_ACpp |
| // The matrix for which the tyings have been applied. More... | |
| std::vector< Eigen::Triplet< double > > | m_Tuu |
| Matrix entries. More... | |
| std::vector< Eigen::Triplet< double > > | m_Tup |
| Matrix entries. More... | |
| std::vector< Eigen::Triplet< double > > | m_Tpu |
| Matrix entries. More... | |
| std::vector< Eigen::Triplet< double > > | m_Tpp |
| Matrix entries. More... | |
| std::vector< Eigen::Triplet< double > > | m_Tud |
| Matrix entries. More... | |
| std::vector< Eigen::Triplet< double > > | m_Tpd |
| Matrix entries. More... | |
| std::vector< Eigen::Triplet< double > > | m_Tdu |
| Matrix entries. More... | |
| std::vector< Eigen::Triplet< double > > | m_Tdp |
| Matrix entries. More... | |
| std::vector< Eigen::Triplet< double > > | m_Tdd |
| Matrix entries. More... | |
| Eigen::SparseMatrix< double > | m_Cdu |
| Tying matrix, see Tyings::Periodic::Cdu(). More... | |
| Eigen::SparseMatrix< double > | m_Cdp |
| Tying matrix, see Tyings::Periodic::Cdp(). More... | |
| Eigen::SparseMatrix< double > | m_Cud |
| Transpose of "m_Cdu". More... | |
| Eigen::SparseMatrix< double > | m_Cpd |
| Transpose of "m_Cdp". More... | |
Protected Attributes inherited from GooseFEM::MatrixPartitionedTyingsBase< MatrixPartitionedTyings > | |
| array_type::tensor< size_t, 1 > | m_iii |
| See iii() More... | |
| array_type::tensor< size_t, 1 > | m_iid |
| See iid() More... | |
| size_t | m_nni |
| See #nni. More... | |
| size_t | m_nnd |
| See #nnd. More... | |
Protected Attributes inherited from GooseFEM::MatrixPartitionedBase< D > | |
| array_type::tensor< size_t, 1 > | m_iiu |
| See iiu() More... | |
| array_type::tensor< size_t, 1 > | m_iip |
| See iip() More... | |
| size_t | m_nnu |
| See nnu. More... | |
| size_t | m_nnp |
| See nnp. More... | |
Protected Attributes inherited from GooseFEM::MatrixBase< D > | |
| array_type::tensor< size_t, 2 > | m_conn |
| Connectivity [nelem, nne]. More... | |
| array_type::tensor< size_t, 2 > | m_dofs |
| DOF-numbers per node [nnode, ndim]. More... | |
| size_t | m_nelem |
| See nelem(). More... | |
| size_t | m_nne |
| See nne(). More... | |
| size_t | m_nnode |
| See nnode(). More... | |
| size_t | m_ndim |
| See ndim(). More... | |
| size_t | m_ndof |
| See ndof(). More... | |
| bool | m_changed = true |
| Signal changes to data. More... | |
Friends | |
| template<class > | |
| class | MatrixPartitionedTyingsSolver |
Additional Inherited Members | |
Public Types inherited from GooseFEM::MatrixPartitionedTyingsBase< MatrixPartitionedTyings > | |
| using | derived_type = MatrixPartitionedTyings |
| Underlying type. More... | |
Public Types inherited from GooseFEM::MatrixPartitionedBase< D > | |
| using | derived_type = D |
| Underlying type. More... | |
Public Types inherited from GooseFEM::MatrixBase< D > | |
| using | derived_type = D |
| Underlying type. More... | |
Sparse matrix from with dependent DOFs are eliminated, and the remaining (small) independent system is partitioned in an unknown and a prescribed part.
In particular:
\( A_{ii} = \begin{bmatrix} A_{uu} & A_{up} \\ A_{pu} & A_{pp} \end{bmatrix} \)
See VectorPartitionedTyings() for bookkeeping definitions.
Definition at line 37 of file MatrixPartitionedTyings.h.
|
inline |
Constructor.
| conn | connectivity [nelem, nne]. |
| dofs | DOFs per node [nnode, ndim]. |
| Cdu | See Tyings::Periodic::Cdu(). |
| Cdp | See Tyings::Periodic::Cdp(). |
Definition at line 86 of file MatrixPartitionedTyings.h.
|
inline |
Pointer to data.
Definition at line 203 of file MatrixPartitionedTyings.h.
|
inline |
Pointer to data.
Definition at line 195 of file MatrixPartitionedTyings.h.
|
inline |
Pointer to data.
Definition at line 187 of file MatrixPartitionedTyings.h.
|
inline |
Pointer to data.
Definition at line 179 of file MatrixPartitionedTyings.h.
|
inline |
Pointer to data.
Definition at line 163 of file MatrixPartitionedTyings.h.
|
inline |
Pointer to data.
Definition at line 155 of file MatrixPartitionedTyings.h.
|
inline |
Pointer to data.
Definition at line 171 of file MatrixPartitionedTyings.h.
|
inline |
Pointer to data.
Definition at line 147 of file MatrixPartitionedTyings.h.
|
inline |
Pointer to data.
Definition at line 139 of file MatrixPartitionedTyings.h.
|
friend |
Definition at line 73 of file MatrixPartitionedTyings.h.
|
protected |
// The matrix for which the tyings have been applied.
Definition at line 56 of file MatrixPartitionedTyings.h.
|
protected |
// The matrix for which the tyings have been applied.
Definition at line 55 of file MatrixPartitionedTyings.h.
|
protected |
// The matrix for which the tyings have been applied.
Definition at line 54 of file MatrixPartitionedTyings.h.
|
protected |
// The matrix for which the tyings have been applied.
Definition at line 53 of file MatrixPartitionedTyings.h.
|
protected |
The matrix.
Definition at line 52 of file MatrixPartitionedTyings.h.
|
protected |
The matrix.
Definition at line 51 of file MatrixPartitionedTyings.h.
|
protected |
The matrix.
Definition at line 50 of file MatrixPartitionedTyings.h.
|
protected |
The matrix.
Definition at line 49 of file MatrixPartitionedTyings.h.
|
protected |
The matrix.
Definition at line 47 of file MatrixPartitionedTyings.h.
|
protected |
The matrix.
Definition at line 46 of file MatrixPartitionedTyings.h.
|
protected |
The matrix.
Definition at line 48 of file MatrixPartitionedTyings.h.
|
protected |
The matrix.
Definition at line 45 of file MatrixPartitionedTyings.h.
|
protected |
The matrix.
Definition at line 44 of file MatrixPartitionedTyings.h.
|
protected |
Tying matrix, see Tyings::Periodic::Cdp().
Definition at line 67 of file MatrixPartitionedTyings.h.
|
protected |
Tying matrix, see Tyings::Periodic::Cdu().
Definition at line 66 of file MatrixPartitionedTyings.h.
|
protected |
Transpose of "m_Cdp".
Definition at line 69 of file MatrixPartitionedTyings.h.
|
protected |
Transpose of "m_Cdu".
Definition at line 68 of file MatrixPartitionedTyings.h.
|
protected |
Matrix entries.
Definition at line 65 of file MatrixPartitionedTyings.h.
|
protected |
Matrix entries.
Definition at line 64 of file MatrixPartitionedTyings.h.
|
protected |
Matrix entries.
Definition at line 63 of file MatrixPartitionedTyings.h.
|
protected |
Matrix entries.
Definition at line 62 of file MatrixPartitionedTyings.h.
|
protected |
Matrix entries.
Definition at line 60 of file MatrixPartitionedTyings.h.
|
protected |
Matrix entries.
Definition at line 59 of file MatrixPartitionedTyings.h.
|
protected |
Matrix entries.
Definition at line 61 of file MatrixPartitionedTyings.h.
|
protected |
Matrix entries.
Definition at line 58 of file MatrixPartitionedTyings.h.
|
protected |
Matrix entries.
Definition at line 57 of file MatrixPartitionedTyings.h.