![]() |
v0.16.3 |
Block pattern of A00 element and layout of element buffer. More...
Public Types | |
| enum | State { LISTED , BLOCK , DENSE } |
Public Member Functions | |
| long | sShift (int r, int c) const |
| int | sLd (int r, int c) const |
| bool | isListed (int r, int c) const |
| long | mShift (int a, int b) const |
| shift of block (a, b) of M = A^T, column-major | |
| int | mLd (int a, int b) const |
| leading dimension of block (a, b) of M = A^T | |
Public Attributes | |
| int | nbNodes = 0 |
| int | size = 0 |
| DOFs per element. | |
| int | nbElems = 0 |
| int | nbListed = 0 |
| std::vector< int > | nodeSize |
| std::vector< std::string > | nodeName |
| std::vector< char > | listed |
| nbNodes x nbNodes, slot (r, c) is listed | |
| State | state = LISTED |
| std::vector< long > | slotShift |
| nbNodes x nbNodes, -1 if not stored | |
| std::vector< int > | slotLd |
| std::vector< int > | nodeOffset |
| offset of node DOFs in element vector | |
| std::vector< int > | order |
| nodes eliminated block by block | |
| std::vector< int > | core |
| nodes of dense core | |
| size_t | coreShift = 0 |
| shift of dense core in element buffer | |
| int | coreSize = 0 |
| DOFs in dense core. | |
| int | coreOffset = 0 |
| offset of core DOFs in element vector | |
| size_t | elemSize = 0 |
| doubles in element buffer | |
| int | nbFallback = 0 |
| elements factorised dense in last factorisation | |
| double | beRef = 0 |
| backward error of dense solve on probe | |
| double | beMax = 0 |
| largest backward error in last factorisation | |
| bool | warned = false |
Block pattern of A00 element and layout of element buffer.
Node is an entity of the element. Slot (r, c) couples row node r with column node c. It is stored row-major at slotShift with leading dimension slotLd, which read column-major is block (c, r) of M = A^T.
| Enumerator | |
|---|---|
| LISTED | listed blocks only, not analysed |
| BLOCK | block elimination of order nodes, then dense core |
| DENSE | dense element matrix (core contains all nodes) |
Definition at line 319 of file Schur.cpp.
|
inline |
Definition at line 353 of file Schur.cpp.
|
inline |
|
inline |
|
inline |
|
inline |
Definition at line 349 of file Schur.cpp.
| double MoFEM::BlockStorage::Pattern::beMax = 0 |
| double MoFEM::BlockStorage::Pattern::beRef = 0 |
| std::vector<int> MoFEM::BlockStorage::Pattern::core |
| int MoFEM::BlockStorage::Pattern::coreOffset = 0 |
| size_t MoFEM::BlockStorage::Pattern::coreShift = 0 |
| int MoFEM::BlockStorage::Pattern::coreSize = 0 |
| size_t MoFEM::BlockStorage::Pattern::elemSize = 0 |
| std::vector<char> MoFEM::BlockStorage::Pattern::listed |
| int MoFEM::BlockStorage::Pattern::nbFallback = 0 |
| std::vector<std::string> MoFEM::BlockStorage::Pattern::nodeName |
| std::vector<int> MoFEM::BlockStorage::Pattern::nodeOffset |
| std::vector<int> MoFEM::BlockStorage::Pattern::order |
| int MoFEM::BlockStorage::Pattern::size = 0 |
| std::vector<long> MoFEM::BlockStorage::Pattern::slotShift |