Traits for handling finite elements. More...
#include <ikarus/finiteelements/fetraits.hh>
Public Types | |
using | BasisHandler = BH |
Type of the basis of the finite element. More... | |
using | FlatBasis = typename BasisHandler::FlatBasis |
Type of the flat basis. More... | |
using | UntouchedBasis = typename BasisHandler::UntouchedBasis |
Type of the untouched basis. More... | |
using | Basis = std::conditional_t< useFlat, FlatBasis, UntouchedBasis > |
Type of the basis version. More... | |
using | LocalView = typename Basis::LocalView |
Type of the local view. More... | |
using | GridView = typename Basis::GridView |
Type of the grid view. More... | |
using | Element = typename LocalView::Element |
Type of the grid element. More... | |
using | Geometry = typename Element::Geometry |
Type of the element geometry. More... | |
using | GlobalIndex = typename LocalView::MultiIndex |
Type of the global index. More... | |
using | ctype = double |
Type used for coordinates. More... | |
using | GlobalCoordinates = Eigen::Matrix< ctype, worlddim, 1 > |
Type of the coordinate. More... | |
using | ParameterSpaceType = Eigen::Matrix< ctype, mydim, 1 > |
Type of the ParameterSpace coordinate. More... | |
template<typename ScalarType = ctype> | |
using | VectorType = std::conditional_t< useEigenRef, Eigen::Ref< Eigen::VectorX< ScalarType > >, Eigen::VectorX< ScalarType > & > |
Type of the vector passed to calculateVector. More... | |
template<typename ScalarType = ctype> | |
using | MatrixType = std::conditional_t< useEigenRef, Eigen::Ref< Eigen::MatrixX< ScalarType > >, Eigen::MatrixX< ScalarType > & > |
Type of the matrix passed to calculateMatrix. More... | |
Static Public Attributes | |
static constexpr bool | useFlatBasis = useFlat |
A bool to indicate if the provided basishandler should hand out the flat basis. More... | |
static constexpr int | worlddim = Geometry::coorddimension |
Dimension of the world space. More... | |
static constexpr int | mydim = Element::mydimension |
Dimension of the geometry. More... | |
static constexpr int | dimension = Element::dimension |
Dimension of the grid. More... | |
static constexpr bool | useEigenRef = useRef |
Bool indicating whether the raw Eigen types should be used or wrapped with Eigen::Ref<..>. (Needed for Python bindings) More... | |
BH | The basis handler type for the finite element. |
useFlat | A boolean indicating if the type of the underlying basis is of the flat or the untouched version. |
useRef | Boolean indicating whether to use Eigen::Ref for VectorType and MatrixType. |
using Ikarus::FETraits< BH, useRef, useFlat >::Basis = std::conditional_t<useFlat, FlatBasis, UntouchedBasis> |
using Ikarus::FETraits< BH, useRef, useFlat >::BasisHandler = BH |
using Ikarus::FETraits< BH, useRef, useFlat >::ctype = double |
using Ikarus::FETraits< BH, useRef, useFlat >::Element = typename LocalView::Element |
using Ikarus::FETraits< BH, useRef, useFlat >::FlatBasis = typename BasisHandler::FlatBasis |
using Ikarus::FETraits< BH, useRef, useFlat >::Geometry = typename Element::Geometry |
using Ikarus::FETraits< BH, useRef, useFlat >::GlobalCoordinates = Eigen::Matrix<ctype, worlddim, 1> |
using Ikarus::FETraits< BH, useRef, useFlat >::GlobalIndex = typename LocalView::MultiIndex |
using Ikarus::FETraits< BH, useRef, useFlat >::GridView = typename Basis::GridView |
using Ikarus::FETraits< BH, useRef, useFlat >::LocalView = typename Basis::LocalView |
using Ikarus::FETraits< BH, useRef, useFlat >::MatrixType = std::conditional_t<useEigenRef, Eigen::Ref<Eigen::MatrixX<ScalarType> >, Eigen::MatrixX<ScalarType>&> |
using Ikarus::FETraits< BH, useRef, useFlat >::ParameterSpaceType = Eigen::Matrix<ctype, mydim, 1> |
using Ikarus::FETraits< BH, useRef, useFlat >::UntouchedBasis = typename BasisHandler::UntouchedBasis |
using Ikarus::FETraits< BH, useRef, useFlat >::VectorType = std::conditional_t<useEigenRef, Eigen::Ref<Eigen::VectorX<ScalarType> >, Eigen::VectorX<ScalarType>&> |
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr |