AutoDiffFE class, an automatic differentiation wrapper for finite elements. More...
#include <ikarus/finiteelements/febases/autodifffe.hh>
Public Types | |
| using | RealFE = RealFE_ |
| Type of the base finite element. More... | |
| using | Basis = typename RealFE::Basis |
| Type of the basis. More... | |
| using | LocalView = typename Basis::FlatBasis::LocalView |
| Type of the local view. More... | |
| using | Traits = TraitsFromLocalView< LocalView, useEigenRef > |
| Type traits for local view. More... | |
| using | Element = typename LocalView::Element |
| Type of the element. More... | |
| using | FERequirementType = FERequirementType_ |
| Type of the Finite Element Requirements. More... | |
Public Member Functions | |
| void | calculateMatrix (const FERequirementType &req, typename Traits::template MatrixType<> h) const |
| Calculate the matrix associated with the finite element. More... | |
| void | calculateVector (const FERequirementType &req, typename Traits::template VectorType<> g) const |
| Calculate the vector associated with the finite element. More... | |
| void | calculateLocalSystem (const FERequirementType &req, typename Traits::template MatrixType<> h, typename Traits::template VectorType<> g) const |
| Calculate the local system associated with the finite element. More... | |
| double | calculateScalar (const FERequirementType &par) const |
| Calculate the scalar value associated with the finite element. More... | |
| const RealFE & | realFE () 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... | |
| RealFE_ | The type of the original finite element, which does not implement the derivatives |
| FERequirementType_ | Type of the Finite Element Requirements. |
| useEigenRef | A boolean indicating whether to use Eigen::Ref for references types in calculateMatrix,... |
| forceAutoDiff | A boolean indicating whether to force the use of automatic differentiation, even when the real element implements the derivatives. |
| using Ikarus::AutoDiffFE< RealFE_, FERequirementType_, useEigenRef, forceAutoDiff >::Basis = typename RealFE::Basis |
| using Ikarus::AutoDiffFE< RealFE_, FERequirementType_, useEigenRef, forceAutoDiff >::Element = typename LocalView::Element |
| using Ikarus::AutoDiffFE< RealFE_, FERequirementType_, useEigenRef, forceAutoDiff >::FERequirementType = FERequirementType_ |
| using Ikarus::AutoDiffFE< RealFE_, FERequirementType_, useEigenRef, forceAutoDiff >::LocalView = typename Basis::FlatBasis::LocalView |
| using Ikarus::AutoDiffFE< RealFE_, FERequirementType_, useEigenRef, forceAutoDiff >::RealFE = RealFE_ |
| using Ikarus::AutoDiffFE< RealFE_, FERequirementType_, useEigenRef, forceAutoDiff >::Traits = TraitsFromLocalView<LocalView, useEigenRef> |
|
inlineexplicit |
| Args | Variadic template for constructor arguments. |
| args | Constructor arguments. |
|
inline |
| req | Finite Element Requirements. |
| h | Matrix to be calculated. |
| g | Vector to be calculated. |
|
inline |
| req | Finite Element Requirements. |
| h | Matrix to be calculated. |
|
inline |
| par | Finite Element Requirements. |
|
inline |
| req | Finite Element Requirements. |
| g | Vector to be calculated. |
|
inline |