version 0.4.1
Ikarus::Traction< PreFE, FE > Class Template Reference

Traction class represents distributed traction load that can be applied. More...

#include <ikarus/finiteelements/mechanics/loads/traction.hh>

Public Types

using Traits = PreFE::Traits
 
using FERequirementType = typename Traits::FERequirementType
 
using LocalView = typename Traits::LocalView
 
using GridView = typename Traits::GridView
 
using Pre = NeumannBoundaryLoadPre< GridView >
 

Public Member Functions

 Traction (const Pre &pre)
 Constructor for the traction class. More...
 

Static Public Attributes

static constexpr int myDim = Traits::mydim
 
static constexpr int worldDim = Traits::worlddim
 

Protected Member Functions

template<template< typename, int, int > class RT>
requires Dune::AlwaysFalse<RT<double, 1, 1>>
::value auto calculateAtImpl (const FERequirementType &req, const Dune::FieldVector< double, Traits::mydim > &local, Dune::PriorityTag< 0 >) const
 
template<typename ST >
auto calculateScalarImpl (const FERequirementType &par, const std::optional< std::reference_wrapper< const Eigen::VectorX< ST > > > &dx=std::nullopt) const -> ST
 
template<typename ST >
void calculateVectorImpl (const FERequirementType &par, typename Traits::template VectorType< ST > force, const std::optional< std::reference_wrapper< const Eigen::VectorX< ST > > > &dx=std::nullopt) const
 
template<typename ST >
void calculateMatrixImpl (const FERequirementType &, typename Traits::template MatrixType<>, const std::optional< std::reference_wrapper< const Eigen::VectorX< ST > > > &=std::nullopt) const
 

Detailed Description

template<typename PreFE, typename FE>
class Ikarus::Traction< PreFE, FE >
Template Parameters
PreFEThe type of the pre finite element.
FEThe type of the finite element.

Member Typedef Documentation

◆ FERequirementType

template<typename PreFE , typename FE >
using Ikarus::Traction< PreFE, FE >::FERequirementType = typename Traits::FERequirementType

◆ GridView

template<typename PreFE , typename FE >
using Ikarus::Traction< PreFE, FE >::GridView = typename Traits::GridView

◆ LocalView

template<typename PreFE , typename FE >
using Ikarus::Traction< PreFE, FE >::LocalView = typename Traits::LocalView

◆ Pre

template<typename PreFE , typename FE >
using Ikarus::Traction< PreFE, FE >::Pre = NeumannBoundaryLoadPre<GridView>

◆ Traits

template<typename PreFE , typename FE >
using Ikarus::Traction< PreFE, FE >::Traits = PreFE::Traits

Constructor & Destructor Documentation

◆ Traction()

template<typename PreFE , typename FE >
Ikarus::Traction< PreFE, FE >::Traction ( const Pre pre)
inlineexplicit
Parameters
preThe pre finite element

Member Function Documentation

◆ calculateAtImpl()

template<typename PreFE , typename FE >
template<template< typename, int, int > class RT>
requires Dune::AlwaysFalse<RT<double, 1, 1>>
::value auto Ikarus::Traction< PreFE, FE >::calculateAtImpl ( const FERequirementType req,
const Dune::FieldVector< double, Traits::mydim > &  local,
Dune::PriorityTag< 0 >   
) const
inlineprotected

◆ calculateMatrixImpl()

template<typename PreFE , typename FE >
template<typename ST >
void Ikarus::Traction< PreFE, FE >::calculateMatrixImpl ( const FERequirementType ,
typename Traits::template MatrixType<>  ,
const std::optional< std::reference_wrapper< const Eigen::VectorX< ST > > > &  = std::nullopt 
) const
inlineprotected

◆ calculateScalarImpl()

template<typename PreFE , typename FE >
template<typename ST >
auto Ikarus::Traction< PreFE, FE >::calculateScalarImpl ( const FERequirementType par,
const std::optional< std::reference_wrapper< const Eigen::VectorX< ST > > > &  dx = std::nullopt 
) const -> ST
inlineprotected

◆ calculateVectorImpl()

template<typename PreFE , typename FE >
template<typename ST >
void Ikarus::Traction< PreFE, FE >::calculateVectorImpl ( const FERequirementType par,
typename Traits::template VectorType< ST >  force,
const std::optional< std::reference_wrapper< const Eigen::VectorX< ST > > > &  dx = std::nullopt 
) const
inlineprotected

Integration rule along the boundary

The value of the local function wrt the i-th coeff

Value of the Neumann data at the current position

Member Data Documentation

◆ myDim

template<typename PreFE , typename FE >
constexpr int Ikarus::Traction< PreFE, FE >::myDim = Traits::mydim
staticconstexpr

◆ worldDim

template<typename PreFE , typename FE >
constexpr int Ikarus::Traction< PreFE, FE >::worldDim = Traits::worlddim
staticconstexpr

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