GooseFEM 1.4.1.dev2+g78f16df
|
Nodal tyings per periodic boundary conditions. More...
#include <GooseFEM/TyingsPeriodic.h>
Public Member Functions | |
template<class C , class D , class S , class T > | |
Periodic (const C &coor, const D &dofs, const S &control_dofs, const T &nodal_tyings) | |
Constructor. | |
template<class C , class D , class S , class T , class U > | |
Periodic (const C &coor, const D &dofs, const S &control_dofs, const T &nodal_tyings, const U &iip) | |
Constructor. | |
size_t | nnd () const |
size_t | nni () const |
size_t | nnu () const |
size_t | nnp () const |
const array_type::tensor< size_t, 2 > & | dofs () const |
const array_type::tensor< size_t, 2 > & | control () const |
const array_type::tensor< size_t, 2 > & | nodal_tyings () const |
Return the applied nodal tyings. | |
array_type::tensor< size_t, 1 > | iid () const |
Dependent DOFs. | |
array_type::tensor< size_t, 1 > | iii () const |
Independent DOFs. | |
array_type::tensor< size_t, 1 > | iiu () const |
Independent unknown DOFs. | |
array_type::tensor< size_t, 1 > | iip () const |
Independent prescribed DOFs. | |
Eigen::SparseMatrix< double > | Cdi () const |
Return tying matrix such as to get the dependent DOFs \( u_d \) from the independent DOFs \( u_i \) as follows. | |
Eigen::SparseMatrix< double > | Cdu () const |
Unknown part of the partitioned tying matrix, see Cdi(). | |
Eigen::SparseMatrix< double > | Cdp () const |
Prescribed part of the partitioned tying matrix, see Cdi(). | |
Nodal tyings per periodic boundary conditions.
The idea is that the displacement of all DOFs of a node are tied to another node and to the average displacement gradient. The latter is applied/measured using 'virtual' control nodes.
Consider the DOF list \( u \) renumbered such that it is split up in independent and dependent DOFs as follows
\( u = \begin{bmatrix} u_i \\ u_d \end{bmatrix}\)
whereby the independent DOFs are furthermore split up in unknown and prescribed nodes as follows
\( u_i = \begin{bmatrix} u_u \\ u_p \end{bmatrix}\)
such that
\( u = \begin{bmatrix} u_u \\ u_p \\ u_d \end{bmatrix}\)
Definition at line 46 of file TyingsPeriodic.h.
|
inline |
Constructor.
C | array_type::tensor<double, 2> |
D | array_type::tensor<size_t, 2> |
S | array_type::tensor<size_t, 2> |
T | array_type::tensor<size_t, 2> |
coor | Nodal coordinates [nnode, ndim]. |
dofs | DOF-numbers per node [nnode, ndim]. |
control_dofs | DOF-numbers per control node [ndim, ndim]. |
nodal_tyings | List of nodal tyings, see nodal_tyings(). [ntyings, 2]. |
Definition at line 63 of file TyingsPeriodic.h.
|
inline |
Constructor.
C | array_type::tensor<double, 2> |
D | array_type::tensor<size_t, 2> |
S | array_type::tensor<size_t, 2> |
T | array_type::tensor<size_t, 2> |
U | array_type::tensor<size_t, 1> |
coor | Nodal coordinates [nnode, ndim]. |
dofs | DOF-numbers per node [nnode, ndim]. |
control_dofs | DOF-numbers per control node [ndim, ndim]. |
nodal_tyings | List of nodal tyings, see nodal_tyings(). [ntyings, 2]. |
iip | List of prescribed DOF-numbers. |
Definition at line 83 of file TyingsPeriodic.h.
|
inline |
Return tying matrix such as to get the dependent DOFs \( u_d \) from the independent DOFs \( u_i \) as follows.
\( u_d = C_{di} u_i \)
Note that this can be further partitioned in
\( u_d = C_{du} u_u + C_{dp} u_p \)
Definition at line 238 of file TyingsPeriodic.h.
|
inline |
Prescribed part of the partitioned tying matrix, see Cdi().
Definition at line 310 of file TyingsPeriodic.h.
|
inline |
Unknown part of the partitioned tying matrix, see Cdi().
Definition at line 272 of file TyingsPeriodic.h.
|
inline |
Definition at line 167 of file TyingsPeriodic.h.
|
inline |
Definition at line 158 of file TyingsPeriodic.h.
|
inline |
|
inline |
|
inline |
Independent prescribed DOFs.
Definition at line 219 of file TyingsPeriodic.h.
|
inline |
Independent unknown DOFs.
Definition at line 209 of file TyingsPeriodic.h.
|
inline |
Definition at line 126 of file TyingsPeriodic.h.
|
inline |
Definition at line 134 of file TyingsPeriodic.h.
|
inline |
Definition at line 150 of file TyingsPeriodic.h.
|
inline |
Definition at line 142 of file TyingsPeriodic.h.
|
inline |
Return the applied nodal tyings.
Per tying (row) two node numbers are specified, according to the convention (independent, dependent).
Definition at line 179 of file TyingsPeriodic.h.