version 0.4
Ikarus::TraitsFromFE< Basis_, FERequirements_, useRef > Struct Template Reference

Traits for handling finite elements.see https://en.wikipedia.org/wiki/Lam%C3%A9_parameters. More...

#include <ikarus/finiteelements/physicshelper.hh>

Public Types

using Basis = Basis_
 Type of the basis of the finite element. More...
 
using FERequirementType = FERequirements_
 Type of the requirements for the finite element. More...
 
using ResultRequirementsType = ResultRequirements< FERequirementType >
 Type of the result requirements. More...
 
using FlatBasis = typename Basis::FlatBasis
 Type of the flat basis. More...
 
using LocalView = typename FlatBasis::LocalView
 Type of the local view. More...
 
using GridView = typename FlatBasis::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...
 
template<typename ScalarType = double>
using VectorType = std::conditional_t< useRef, Eigen::Ref< Eigen::VectorX< ScalarType > >, Eigen::VectorX< ScalarType > & >
 Type of the internal forces. More...
 
template<typename ScalarType = double>
using MatrixType = std::conditional_t< useRef, Eigen::Ref< Eigen::MatrixX< ScalarType > >, Eigen::MatrixX< ScalarType > & >
 Type of the stiffness matrix. More...
 

Static Public Attributes

static constexpr int worlddim = Element::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...
 

Detailed Description

template<typename Basis_, typename FERequirements_, bool useRef = false>
struct Ikarus::TraitsFromFE< Basis_, FERequirements_, useRef >
Template Parameters
Basis_The basis type for the finite element.
FERequirements_The requirements for the finite element.
useRefBoolean indicating whether to use Eigen::Ref for VectorType and MatrixType.Structure representing Young's modulus and Poisson's ratio.

Member Typedef Documentation

◆ Basis

template<typename Basis_ , typename FERequirements_ , bool useRef = false>
using Ikarus::TraitsFromFE< Basis_, FERequirements_, useRef >::Basis = Basis_

◆ Element

template<typename Basis_ , typename FERequirements_ , bool useRef = false>
using Ikarus::TraitsFromFE< Basis_, FERequirements_, useRef >::Element = typename LocalView::Element

◆ FERequirementType

template<typename Basis_ , typename FERequirements_ , bool useRef = false>
using Ikarus::TraitsFromFE< Basis_, FERequirements_, useRef >::FERequirementType = FERequirements_

◆ FlatBasis

template<typename Basis_ , typename FERequirements_ , bool useRef = false>
using Ikarus::TraitsFromFE< Basis_, FERequirements_, useRef >::FlatBasis = typename Basis::FlatBasis

◆ Geometry

template<typename Basis_ , typename FERequirements_ , bool useRef = false>
using Ikarus::TraitsFromFE< Basis_, FERequirements_, useRef >::Geometry = typename Element::Geometry

◆ GridView

template<typename Basis_ , typename FERequirements_ , bool useRef = false>
using Ikarus::TraitsFromFE< Basis_, FERequirements_, useRef >::GridView = typename FlatBasis::GridView

◆ LocalView

template<typename Basis_ , typename FERequirements_ , bool useRef = false>
using Ikarus::TraitsFromFE< Basis_, FERequirements_, useRef >::LocalView = typename FlatBasis::LocalView

◆ MatrixType

template<typename Basis_ , typename FERequirements_ , bool useRef = false>
template<typename ScalarType = double>
using Ikarus::TraitsFromFE< Basis_, FERequirements_, useRef >::MatrixType = std::conditional_t<useRef, Eigen::Ref<Eigen::MatrixX<ScalarType> >, Eigen::MatrixX<ScalarType>&>

◆ ResultRequirementsType

template<typename Basis_ , typename FERequirements_ , bool useRef = false>
using Ikarus::TraitsFromFE< Basis_, FERequirements_, useRef >::ResultRequirementsType = ResultRequirements<FERequirementType>

◆ VectorType

template<typename Basis_ , typename FERequirements_ , bool useRef = false>
template<typename ScalarType = double>
using Ikarus::TraitsFromFE< Basis_, FERequirements_, useRef >::VectorType = std::conditional_t<useRef, Eigen::Ref<Eigen::VectorX<ScalarType> >, Eigen::VectorX<ScalarType>&>

Member Data Documentation

◆ dimension

template<typename Basis_ , typename FERequirements_ , bool useRef = false>
constexpr int Ikarus::TraitsFromFE< Basis_, FERequirements_, useRef >::dimension = Element::dimension
staticconstexpr

◆ mydim

template<typename Basis_ , typename FERequirements_ , bool useRef = false>
constexpr int Ikarus::TraitsFromFE< Basis_, FERequirements_, useRef >::mydim = Element::mydimension
staticconstexpr

◆ worlddim

template<typename Basis_ , typename FERequirements_ , bool useRef = false>
constexpr int Ikarus::TraitsFromFE< Basis_, FERequirements_, useRef >::worlddim = Element::Geometry::coorddimension
staticconstexpr

The documentation for this struct was generated from the following file: