version 0.4.1
Ikarus::AutoDiffFE< FEImpl, forceAutoDiff > Class Template Reference

AutoDiffFE class, an automatic differentiation wrapper for finite elements. More...

#include <ikarus/finiteelements/autodifffe.hh>

Inheritance diagram for Ikarus::AutoDiffFE< FEImpl, forceAutoDiff >:
[legend]

Public Types

using RealFE = FEImpl
 Type of the base finite element. More...
 
using BasisHandler = typename RealFE::BasisHandler
 Type of the basis handler. More...
 
using Traits = typename RealFE::Traits
 Type traits for local view. More...
 
using LocalView = typename Traits::LocalView
 Type of the local view. More...
 
using Element = typename Traits::Element
 Type of the element. More...
 
using Requirement = typename RealFE::Requirement
 Type of the Finite Element Requirements. More...
 

Public Member Functions

const RealFErealFE () const
 Get the reference to the base finite element. More...
 
template<typename... Args>
 AutoDiffFE (Args &&... args)
 Constructor for the AutoDiffFE class. Forward the construction to the underlying element. More...
 

Detailed Description

template<typename FEImpl, bool forceAutoDiff = false>
class Ikarus::AutoDiffFE< FEImpl, forceAutoDiff >
Template Parameters
FEImplThe type of the original finite element, which does not implement the derivatives
forceAutoDiffA boolean indicating whether to force the use of automatic differentiation, even when the real element implements the derivatives.

Member Typedef Documentation

◆ BasisHandler

template<typename FEImpl , bool forceAutoDiff = false>
using Ikarus::AutoDiffFE< FEImpl, forceAutoDiff >::BasisHandler = typename RealFE::BasisHandler

◆ Element

template<typename FEImpl , bool forceAutoDiff = false>
using Ikarus::AutoDiffFE< FEImpl, forceAutoDiff >::Element = typename Traits::Element

◆ LocalView

template<typename FEImpl , bool forceAutoDiff = false>
using Ikarus::AutoDiffFE< FEImpl, forceAutoDiff >::LocalView = typename Traits::LocalView

◆ RealFE

template<typename FEImpl , bool forceAutoDiff = false>
using Ikarus::AutoDiffFE< FEImpl, forceAutoDiff >::RealFE = FEImpl

◆ Requirement

template<typename FEImpl , bool forceAutoDiff = false>
using Ikarus::AutoDiffFE< FEImpl, forceAutoDiff >::Requirement = typename RealFE::Requirement

◆ Traits

template<typename FEImpl , bool forceAutoDiff = false>
using Ikarus::AutoDiffFE< FEImpl, forceAutoDiff >::Traits = typename RealFE::Traits

Constructor & Destructor Documentation

◆ AutoDiffFE()

template<typename FEImpl , bool forceAutoDiff = false>
template<typename... Args>
Ikarus::AutoDiffFE< FEImpl, forceAutoDiff >::AutoDiffFE ( Args &&...  args)
inlineexplicit
Template Parameters
ArgsVariadic template for constructor arguments.
Parameters
argsConstructor arguments.

Member Function Documentation

◆ realFE()

template<typename FEImpl , bool forceAutoDiff = false>
const RealFE & Ikarus::AutoDiffFE< FEImpl, forceAutoDiff >::realFE ( ) const
inline
Returns
The reference to the base finite element.

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