23template <
typename BH,
bool useRef = false,
bool useFlat = true>
39 using Basis = std::conditional_t<useFlat, FlatBasis, UntouchedBasis>;
48 using Element =
typename LocalView::Element;
60 static constexpr int worlddim = Geometry::coorddimension;
63 static constexpr int mydim = Element::mydimension;
66 static constexpr int dimension = Element::dimension;
79 template <
typename ScalarType = ctype>
81 std::conditional_t<useEigenRef, Eigen::Ref<Eigen::VectorX<ScalarType>>, Eigen::VectorX<ScalarType>&>;
84 template <
typename ScalarType = ctype>
86 std::conditional_t<useEigenRef, Eigen::Ref<Eigen::MatrixX<ScalarType>>, Eigen::MatrixX<ScalarType>&>;
Definition of the LinearElastic class for finite element mechanics computations.
Definition: assemblermanipulatorbuildingblocks.hh:22
Traits for handling finite elements.
Definition: fetraits.hh:25
typename Basis::LocalView LocalView
Type of the local view.
Definition: fetraits.hh:42
typename Element::Geometry Geometry
Type of the element geometry.
Definition: fetraits.hh:51
BH BasisHandler
Type of the basis of the finite element.
Definition: fetraits.hh:27
double ctype
Type used for coordinates.
Definition: fetraits.hh:57
std::conditional_t< useFlat, FlatBasis, UntouchedBasis > Basis
Type of the basis version.
Definition: fetraits.hh:39
typename Basis::GridView GridView
Type of the grid view.
Definition: fetraits.hh:45
static constexpr int worlddim
Dimension of the world space.
Definition: fetraits.hh:60
static constexpr bool useEigenRef
Bool indicating whether the raw Eigen types should be used or wrapped with Eigen::Ref<....
Definition: fetraits.hh:76
typename BasisHandler::UntouchedBasis UntouchedBasis
Type of the untouched basis.
Definition: fetraits.hh:36
typename LocalView::MultiIndex GlobalIndex
Type of the global index.
Definition: fetraits.hh:54
typename BasisHandler::FlatBasis FlatBasis
Type of the flat basis.
Definition: fetraits.hh:33
Eigen::Matrix< ctype, worlddim, 1 > GlobalCoordinates
Type of the coordinate.
Definition: fetraits.hh:69
static constexpr int dimension
Dimension of the grid.
Definition: fetraits.hh:66
std::conditional_t< useEigenRef, Eigen::Ref< Eigen::VectorX< ScalarType > >, Eigen::VectorX< ScalarType > & > VectorType
Type of the vector passed to calculateVector.
Definition: fetraits.hh:81
Eigen::Matrix< ctype, mydim, 1 > ParameterSpaceType
Type of the ParameterSpace coordinate.
Definition: fetraits.hh:72
typename LocalView::Element Element
Type of the grid element.
Definition: fetraits.hh:48
static constexpr bool useFlatBasis
A bool to indicate if the provided basishandler should hand out the flat basis.
Definition: fetraits.hh:30
static constexpr int mydim
Dimension of the geometry.
Definition: fetraits.hh:63
std::conditional_t< useEigenRef, Eigen::Ref< Eigen::MatrixX< ScalarType > >, Eigen::MatrixX< ScalarType > & > MatrixType
Type of the matrix passed to calculateMatrix.
Definition: fetraits.hh:86
decltype(Dune::Functions::DefaultGlobalBasis(std::declval< PreBasis >())) UntouchedBasis
The type of the untouched basis.
Definition: utils/basis.hh:35
decltype(Dune::Functions::DefaultGlobalBasis(Ikarus::flatPreBasis(std::declval< PreBasis >()))) FlatBasis
The type of the flattened basis.
Definition: utils/basis.hh:37