![]() |
OGS
|
This class makes it possible to handle Eigen's block expressions transparently, both for fixed-size and dynamically allocated Eigen matrices.
| ShpPol | the shape matrix policy used |
| NNodes | the number of nodes for the FEM element |
| NodalDOF | the number of d.o.f. per node. If zero, this struct's methods will determine the size of the generated Eigen::block's at runtime. If non-zero, the size will be determined at compile-time. |
| Dim | global spatial dimension |
Definition at line 36 of file LocalAssemblerTraits.h.
#include <LocalAssemblerTraits.h>
Public Types | |
| using | ShapeMatrices = typename ShpPol::ShapeMatrices |
| using | MatrixDimDim = Matrix<Dim, Dim> |
| Square matrix of the given space dimensionality. | |
| using | LocalMatrix = Matrix<NNodes * NodalDOF, NNodes * NodalDOF> |
| using | LocalVector = Vector<NNodes * NodalDOF> |
| using | Vector1Comp = Vector<NNodes> |
| using | LaplaceMatrix = Matrix<Dim * NodalDOF, Dim * NodalDOF> |
Static Public Member Functions | |
| template<typename Mat > | |
| static auto | blockDimDim (Mat const &mat, unsigned top, unsigned left, unsigned nrows, unsigned ncols) |
| template<typename Mat > | |
| static auto | blockDimDim (Mat &mat, unsigned top, unsigned left, unsigned nrows, unsigned ncols) |
| template<typename Mat > | |
| static auto | blockShpShp (Mat const &mat, unsigned top, unsigned left, unsigned nrows, unsigned ncols) |
| template<typename Mat > | |
| static auto | blockShpShp (Mat &mat, unsigned top, unsigned left, unsigned nrows, unsigned ncols) |
| template<typename Vec > | |
| static auto | blockShp (Vec const &vec, unsigned top, unsigned nrows) |
Get a block NNodes x 1 starting at the top'th row. | |
| template<typename Vec > | |
| static auto | blockShp (Vec &vec, unsigned top, unsigned nrows) |
Get a block NNodes x 1 starting at the top'th row. | |
Private Types | |
| template<int N, int M> | |
| using | Matrix = typename ShpPol::template MatrixType<N, M> |
| template<int N> | |
| using | Vector = typename ShpPol::template VectorType<N> |
| using ProcessLib::detail::LocalAssemblerTraitsFixed< ShpPol, NNodes, NodalDOF, Dim >::LaplaceMatrix = Matrix<Dim * NodalDOF, Dim * NodalDOF> |
Laplace matrix for the given space dimensionality and number of d.o.f per node.
Definition at line 65 of file LocalAssemblerTraits.h.
| using ProcessLib::detail::LocalAssemblerTraitsFixed< ShpPol, NNodes, NodalDOF, Dim >::LocalMatrix = Matrix<NNodes * NodalDOF, NNodes * NodalDOF> |
Local matrix for the given number of d.o.f. per node and number of integration points
Definition at line 54 of file LocalAssemblerTraits.h.
| using ProcessLib::detail::LocalAssemblerTraitsFixed< ShpPol, NNodes, NodalDOF, Dim >::LocalVector = Vector<NNodes * NodalDOF> |
Local vector for the given number of d.o.f. per node and number of integration points
Definition at line 57 of file LocalAssemblerTraits.h.
|
private |
Definition at line 40 of file LocalAssemblerTraits.h.
| using ProcessLib::detail::LocalAssemblerTraitsFixed< ShpPol, NNodes, NodalDOF, Dim >::MatrixDimDim = Matrix<Dim, Dim> |
Square matrix of the given space dimensionality.
Definition at line 48 of file LocalAssemblerTraits.h.
| using ProcessLib::detail::LocalAssemblerTraitsFixed< ShpPol, NNodes, NodalDOF, Dim >::ShapeMatrices = typename ShpPol::ShapeMatrices |
Definition at line 45 of file LocalAssemblerTraits.h.
|
private |
Definition at line 42 of file LocalAssemblerTraits.h.
| using ProcessLib::detail::LocalAssemblerTraitsFixed< ShpPol, NNodes, NodalDOF, Dim >::Vector1Comp = Vector<NNodes> |
Local vector for one component of one process variable. The size is the number of nodes in the element.
Definition at line 61 of file LocalAssemblerTraits.h.
|
inlinestatic |
Get a block Dim x Dim whose upper left corner is at top and left.
Definition at line 90 of file LocalAssemblerTraits.h.
|
inlinestatic |
Get a block Dim x Dim whose upper left corner is at top and left.
Definition at line 70 of file LocalAssemblerTraits.h.
|
inlinestatic |
Get a block NNodes x 1 starting at the top'th row.
Definition at line 165 of file LocalAssemblerTraits.h.
|
inlinestatic |
Get a block NNodes x 1 starting at the top'th row.
Definition at line 149 of file LocalAssemblerTraits.h.
|
inlinestatic |
Get a block NNodes x NNodes whose upper left corner is at top and left.
Definition at line 130 of file LocalAssemblerTraits.h.
|
inlinestatic |
Get a block NNodes x NNodes whose upper left corner is at top and left.
Definition at line 110 of file LocalAssemblerTraits.h.