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.