9#include <kernel/analytic/function.hpp>
10#include <kernel/assembly/linear_functional.hpp>
30 template<
typename Function_>
36 static_assert(Function_::can_value,
"function can't compute values");
52 template<
typename AsmTraits_>
60 typedef typename AsmTraits_::DataType
DataType;
139 template<
typename Function_>
145 static_assert(Function_::can_hess,
"function can't compute hessians");
160 template<
typename AsmTraits_>
197 calc_trace(
_func_eval.hessian(tau.img_point));
200 template<
typename T_,
int m_,
int n_,
int sm_,
int sn_>
206 template<
typename T_,
int l_,
int m_,
int n_,
int sl_,
int sm_,
int sn_>
210 for(
int i(0); i <
hess.l; ++i)
211 for(
int j(0); j <
hess.m; ++j)
Force Functional Evaluator class template.
Analytic::EvalTraits< DataType, Function_ >::ValueType ValueType
Function return value, can be scalar or vector-valued.
AsmTraits_::DataType DataType
data type
Evaluator(const ForceFunctional< Function_ > &functional)
constructor
ValueType eval(const TestBasisData &psi) const
Evaluation operator.
Function_::template Evaluator< AnalyticEvalTraits > _func_eval
the function evaluator
void set_point(const TrafoData &tau)
Point initialization function.
Analytic::EvalTraits< DataType, Function_ > AnalyticEvalTraits
declare our analytic eval traits
AsmTraits_::TrafoData TrafoData
trafo data type
AnalyticEvalTraits::ValueType _func_value
the function value in the current point
AsmTraits_::TestBasisData TestBasisData
test-function data type
AsmTraits_::TrafoEvaluator TrafoEvaluator
trafo evaluator
Force functional implementation.
static constexpr TrafoTags trafo_config
ensure that the function can compute values
ForceFunctional(const Function_ &function)
Constructor.
static constexpr SpaceTags test_config
test space config tag
const Function_ & _function
a reference to the analytic function
Force Functional Evaluator class template.
AsmTraits_::TestBasisData TestBasisData
test-function data type
Analytic::EvalTraits< DataType, Function_ >::ValueType ValueType
Function return value, can be scalar or vector-valued.
Analytic::EvalTraits< DataType, Function_ > AnalyticEvalTraits
declare our analytic eval traits
AsmTraits_::TrafoEvaluator TrafoEvaluator
trafo evaluator
void set_point(const TrafoData &tau)
Point initialization function.
ValueType eval(const TestBasisData &psi) const
Evaluation operator.
Evaluator(const LaplaceFunctional< Function_ > &functional)
constructor
AnalyticEvalTraits::ValueType _func_laplace
the function laplacian in the current point
AsmTraits_::TrafoData TrafoData
trafo data type
AsmTraits_::DataType DataType
data type
Function_::template Evaluator< AnalyticEvalTraits > _func_eval
the function evaluator
Laplace functional implementation.
static constexpr SpaceTags test_config
test space config tag
const Function_ & _function
a reference to the analytic function
static constexpr TrafoTags trafo_config
ensure that the function can compute hessian matrices
LaplaceFunctional(const Function_ &function)
Constructor.
Linear Functional Evaluator class template.
Base class for Linear Functionals.
Tiny Matrix class template.
Tiny Tensor3 class template.
SpaceTags
Space configuration tags enum.
@ value
specifies whether the space should supply basis function values
@ hess
specifies whether the space should supply basis function hessians
TrafoTags
Trafo configuration tags enum.
@ img_point
specifies whether the trafo should supply image point coordinates