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 | Traits = TraitsFromFE< Basis, FERequirementType_, useEigenRef > |
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 | FERequirementType = typename Traits::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 Traits::Element |
using Ikarus::AutoDiffFE< RealFE_, FERequirementType_, useEigenRef, forceAutoDiff >::FERequirementType = typename Traits::FERequirementType |
using Ikarus::AutoDiffFE< RealFE_, FERequirementType_, useEigenRef, forceAutoDiff >::LocalView = typename Traits::LocalView |
using Ikarus::AutoDiffFE< RealFE_, FERequirementType_, useEigenRef, forceAutoDiff >::RealFE = RealFE_ |
using Ikarus::AutoDiffFE< RealFE_, FERequirementType_, useEigenRef, forceAutoDiff >::Traits = TraitsFromFE<Basis, FERequirementType_, 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 |