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

VolumeLoad class represents distributed volume load that can be applied. More...

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

Public Types

using Traits = PreFE::Traits
 
using Requirement = FERequirementsFactory< FESolutions::displacement, FEParameter::loadfactor, Traits::useEigenRef >::type
 
using Pre = VolumeLoadPre< worldDim >
 

Public Member Functions

 VolumeLoad (const Pre &pre={})
 Constructor for the Loads class. More...
 

Static Public Attributes

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 Requirement &req, const Dune::FieldVector< double, Traits::mydim > &local, Dune::PriorityTag< 0 >) const
 
template<typename ST >
auto calculateScalarImpl (const Requirement &par, ScalarAffordance affordance, const std::optional< std::reference_wrapper< const Eigen::VectorX< ST > > > &dx=std::nullopt) const -> ST
 
template<typename ST >
void calculateVectorImpl (const Requirement &par, VectorAffordance affordance, 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 Requirement &par, MatrixAffordance, typename Traits::template MatrixType<> K, const std::optional< std::reference_wrapper< const Eigen::VectorX< ST > > > &dx=std::nullopt) const
 

Detailed Description

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

Member Typedef Documentation

◆ Pre

template<typename PreFE , typename FE >
using Ikarus::VolumeLoad< PreFE, FE >::Pre = VolumeLoadPre<worldDim>

◆ Requirement

◆ Traits

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

Constructor & Destructor Documentation

◆ VolumeLoad()

template<typename PreFE , typename FE >
Ikarus::VolumeLoad< PreFE, FE >::VolumeLoad ( const Pre pre = {})
inlineexplicit
Parameters
preVolume load pre object.

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::VolumeLoad< PreFE, FE >::calculateAtImpl ( const Requirement req,
const Dune::FieldVector< double, Traits::mydim > &  local,
Dune::PriorityTag< 0 >   
) const
inlineprotected

◆ calculateMatrixImpl()

template<typename PreFE , typename FE >
template<typename ST >
void Ikarus::VolumeLoad< PreFE, FE >::calculateMatrixImpl ( const Requirement par,
MatrixAffordance  ,
typename Traits::template MatrixType<>  K,
const std::optional< std::reference_wrapper< const Eigen::VectorX< ST > > > &  dx = std::nullopt 
) const
inlineprotected

◆ calculateScalarImpl()

template<typename PreFE , typename FE >
template<typename ST >
auto Ikarus::VolumeLoad< PreFE, FE >::calculateScalarImpl ( const Requirement par,
ScalarAffordance  affordance,
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::VolumeLoad< PreFE, FE >::calculateVectorImpl ( const Requirement par,
VectorAffordance  affordance,
typename Traits::template VectorType< ST >  force,
const std::optional< std::reference_wrapper< const Eigen::VectorX< ST > > > &  dx = std::nullopt 
) const
inlineprotected

Member Data Documentation

◆ worldDim

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

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