FEAT 3
Finite Element Analysis Toolbox
Loading...
Searching...
No Matches
FEAT::Analytic Namespace Reference

Analytic namespace. More...

Namespaces

namespace  Common
 Analytic Common namespace.
 
namespace  Distance
 Analytic Distance namespace.
 
namespace  Image
 Analytic Image namespace.
 

Classes

class  AutoDerive
 Auto-Derive function wrapper class template. More...
 
class  Curl
 Analytic Function Curl wrapper. More...
 
class  Divergence
 Analytic Function Divergence wrapper. More...
 
struct  EvalTraits
 
struct  EvalTraitsBase
 analytic evaluation traits base-class More...
 
struct  EvalTraitsBase< DataType_, domain_dim_, Image::Scalar >
 analytic evaluation traits for scalar functions More...
 
struct  EvalTraitsBase< DataType_, domain_dim_, Image::Vector< image_dim_ > >
 analytic evaluation traits for vector-valued functions More...
 
class  Function
 Analytic Function interface. More...
 
class  Gradient
 Analytic Function Gradient wrapper. More...
 
class  LambdaScalarFunction1D
 Analytic 1D scalar lambda expression function implementation. More...
 
class  LambdaScalarFunction2D
 Analytic scalar 2D lambda expression function implementation. More...
 
class  LambdaScalarFunction3D
 Analytic 3D scalar lambda expression function implementation. More...
 
class  LambdaVectorFunction2D
 Analytic 2D vector-valued lambda expression function implementation. More...
 
class  LambdaVectorFunction3D
 Analytic 3D vector-valued lambda expression function implementation. More...
 
class  ParsedFunctionEvalError
 Parsed Function evaluation error. More...
 
class  ParsedFunctionParseError
 Parsed Function parse error. More...
 
class  ParsedScalarFunction
 Parsed scalar function implementation. More...
 
class  ParsedVectorFunction
 Parsed vector function implementation. More...
 
class  PolarCoordinate
 This class is a wrapper transforming a polar-basis function to a euclidean base one. More...
 
class  ScalarCurl
 Analytic Scalar Function Curl wrapper. More...
 
class  SimplifiedLambdaVectorFunction2D
 Simpler 2D vector version of the general LambdaFunction interface. More...
 
class  SimplifiedLambdaVectorFunction3D
 Simpler 3D vector version of the general LambdaFunction interface. More...
 
class  StaticFunction
 Analytic static function interface class template. More...
 
class  StaticWrapperFunction
 StaticFunction wrapper class template for Analytic::Function interface. More...
 

Typedefs

template<int dim_>
using ParsedFunction = ParsedScalarFunction< dim_ >
 for the sake of downwards compatibility More...
 

Functions

template<typename LambdaValue_ >
LambdaScalarFunction1D< LambdaValue_ > create_lambda_function_scalar_1d (LambdaValue_ &&value)
 Creates a scalar 1D lambda function from function values only. More...
 
template<typename LambdaValue_ , typename LambdaDx_ >
LambdaScalarFunction1D< LambdaValue_, LambdaDx_ > create_lambda_function_scalar_1d (LambdaValue_ &&value, LambdaDx_ &&dx)
 Creates a scalar 1D lambda function from function values and gradients. More...
 
template<typename LambdaValue_ , typename LambdaDx_ , typename LambdaDxx_ >
LambdaScalarFunction1D< LambdaValue_, LambdaDx_, LambdaDxx_ > create_lambda_function_scalar_1d (LambdaValue_ &&value, LambdaDx_ &&dx, LambdaDxx_ &&dxx)
 Creates a scalar 1D lambda function from function values, gradients and hessians. More...
 
template<typename LambdaValue_ >
LambdaScalarFunction2D< LambdaValue_ > create_lambda_function_scalar_2d (LambdaValue_ &&value)
 Creates a scalar 2D lambda function from function values only. More...
 
template<typename LambdaValue_ , typename LambdaDx_ , typename LambdaDy_ >
LambdaScalarFunction2D< LambdaValue_, LambdaDx_, LambdaDy_ > create_lambda_function_scalar_2d (LambdaValue_ &&value, LambdaDx_ &&dx, LambdaDy_ &&dy)
 Creates a scalar 2D lambda function from function values and gradients. More...
 
template<typename LambdaValue_ , typename LambdaDx_ , typename LambdaDy_ , typename LambdaDxx_ , typename LambdaDyy_ , typename LambdaDxy_ >
LambdaScalarFunction2D< LambdaValue_, LambdaDx_, LambdaDy_, LambdaDxx_, LambdaDyy_, LambdaDxy_ > create_lambda_function_scalar_2d (LambdaValue_ &&value, LambdaDx_ &&dx, LambdaDy_ &&dy, LambdaDxx_ &&dxx, LambdaDyy_ &&dyy, LambdaDxy_ &&dxy)
 Creates a scalar 2D lambda function from function values, gradients and hessians. More...
 
template<typename LambdaValue_ >
LambdaScalarFunction3D< LambdaValue_ > create_lambda_function_scalar_3d (LambdaValue_ &&value)
 Creates a scalar 3D lambda function from function values only. More...
 
template<typename LambdaValue_ , typename LambdaDx_ , typename LambdaDy_ , typename LambdaDz_ >
LambdaScalarFunction3D< LambdaValue_, LambdaDx_, LambdaDy_, LambdaDz_ > create_lambda_function_scalar_3d (LambdaValue_ &&value, LambdaDx_ &&dx, LambdaDy_ &&dy, LambdaDz_ &&dz)
 Creates a scalar 3D lambda function from function values and gradients. More...
 
template<typename LambdaValue_ , typename LambdaDx_ , typename LambdaDy_ , typename LambdaDz_ , typename LambdaDxx_ , typename LambdaDyy_ , typename LambdaDzz_ , typename LambdaDxy_ , typename LambdaDyz_ , typename LambdaDzx_ >
LambdaScalarFunction3D< LambdaValue_, LambdaDx_, LambdaDy_, LambdaDz_, LambdaDxx_, LambdaDyy_, LambdaDzz_, LambdaDxy_, LambdaDyz_, LambdaDzx_ > create_lambda_function_scalar_3d (LambdaValue_ &&value, LambdaDx_ &&dx, LambdaDy_ &&dy, LambdaDz_ &&dz, LambdaDxx_ &&dxx, LambdaDyy_ &&dyy, LambdaDzz_ &&dzz, LambdaDxy_ &&dxy, LambdaDyz_ &&dyz, LambdaDzx_ &&dzx)
 Creates a 3D scalar lambda function from function values, gradients and hessians. More...
 
template<typename LambdaValue1_ , typename LambdaValue2_ >
LambdaVectorFunction2D< LambdaValue1_, LambdaValue2_ > create_lambda_function_vector_2d (LambdaValue1_ &&value1, LambdaValue2_ &&value2)
 Creates a vector-valued 2D lambda function from function values only. More...
 
template<typename LambdaValue1_ , typename LambdaValue2_ , typename LambdaDx1_ , typename LambdaDx2_ , typename LambdaDy1_ , typename LambdaDy2_ >
LambdaVectorFunction2D< LambdaValue1_, LambdaValue2_, LambdaDx1_, LambdaDx2_, LambdaDy1_, LambdaDy2_ > create_lambda_function_vector_2d (LambdaValue1_ &&value1, LambdaValue2_ &&value2, LambdaDx1_ &&dx1, LambdaDx2_ &&dx2, LambdaDy1_ &&dy1, LambdaDy2_ &&dy2)
 Creates a vector-valued 2D lambda function from function values and gradients. More...
 
template<typename LambdaValue1_ , typename LambdaValue2_ , typename LambdaDx1_ , typename LambdaDx2_ , typename LambdaDy1_ , typename LambdaDy2_ , typename LambdaDxx1_ , typename LambdaDxx2_ , typename LambdaDyy1_ , typename LambdaDyy2_ , typename LambdaDxy1_ , typename LambdaDxy2_ >
LambdaVectorFunction2D< LambdaValue1_, LambdaValue2_, LambdaDx1_, LambdaDx2_, LambdaDy1_, LambdaDy2_, LambdaDxx1_, LambdaDxx2_, LambdaDyy1_, LambdaDyy2_, LambdaDxy1_, LambdaDxy2_ > create_lambda_function_vector_2d (LambdaValue1_ &&value1, LambdaValue2_ &&value2, LambdaDx1_ &&dx1, LambdaDx2_ &&dx2, LambdaDy1_ &&dy1, LambdaDy2_ &&dy2, LambdaDxx1_ &&dxx1, LambdaDxx2_ &&dxx2, LambdaDyy1_ &&dyy1, LambdaDyy2_ &&dyy2, LambdaDxy1_ &&dxy1, LambdaDxy2_ &&dxy2)
 Creates a vector-valued 2D lambda function from function values, gradients and hessians. More...
 
template<typename LambdaValue1_ , typename LambdaValue2_ , typename LambdaValue3_ >
LambdaVectorFunction3D< LambdaValue1_, LambdaValue2_, LambdaValue3_ > create_lambda_function_vector_3d (LambdaValue1_ &&value1, LambdaValue2_ &&value2, LambdaValue3_ &&value3)
 Creates a vector-valued 3D lambda function from function values only. More...
 
template<typename LambdaValue1_ , typename LambdaValue2_ , typename LambdaValue3_ , typename LambdaDx1_ , typename LambdaDx2_ , typename LambdaDx3_ , typename LambdaDy1_ , typename LambdaDy2_ , typename LambdaDy3_ , typename LambdaDz1_ , typename LambdaDz2_ , typename LambdaDz3_ >
LambdaVectorFunction3D< LambdaValue1_, LambdaValue2_, LambdaValue3_, LambdaDx1_, LambdaDx2_, LambdaDx3_, LambdaDy1_, LambdaDy2_, LambdaDy3_, LambdaDz1_, LambdaDz2_, LambdaDz3_ > create_lambda_function_vector_3d (LambdaValue1_ &&value1, LambdaValue2_ &&value2, LambdaValue3_ &&value3, LambdaDx1_ &&dx1, LambdaDx2_ &&dx2, LambdaDx3_ &&dx3, LambdaDy1_ &&dy1, LambdaDy2_ &&dy2, LambdaDy3_ &&dy3, LambdaDz1_ &&dz1, LambdaDz2_ &&dz2, LambdaDz3_ &&dz3)
 Creates a vector-valued 3D lambda function from function values and gradients. More...
 
template<typename LambdaValue1_ , typename LambdaValue2_ , typename LambdaValue3_ , typename LambdaDx1_ , typename LambdaDx2_ , typename LambdaDx3_ , typename LambdaDy1_ , typename LambdaDy2_ , typename LambdaDy3_ , typename LambdaDz1_ , typename LambdaDz2_ , typename LambdaDz3_ , typename LambdaDxx1_ , typename LambdaDxx2_ , typename LambdaDxx3_ , typename LambdaDyy1_ , typename LambdaDyy2_ , typename LambdaDyy3_ , typename LambdaDzz1_ , typename LambdaDzz2_ , typename LambdaDzz3_ , typename LambdaDxy1_ , typename LambdaDxy2_ , typename LambdaDxy3_ , typename LambdaDyz1_ , typename LambdaDyz2_ , typename LambdaDyz3_ , typename LambdaDzx1_ , typename LambdaDzx2_ , typename LambdaDzx3_ >
LambdaVectorFunction3D< LambdaValue1_, LambdaValue2_, LambdaValue3_, LambdaDx1_, LambdaDx2_, LambdaDx3_, LambdaDy1_, LambdaDy2_, LambdaDy3_, LambdaDz1_, LambdaDz2_, LambdaDz3_, LambdaDxx1_, LambdaDxx2_, LambdaDxx3_, LambdaDyy1_, LambdaDyy2_, LambdaDyy3_, LambdaDzz1_, LambdaDzz2_, LambdaDzz3_, LambdaDxy1_, LambdaDxy2_, LambdaDxy3_, LambdaDyz1_, LambdaDyz2_, LambdaDyz3_, LambdaDzx1_, LambdaDzx2_, LambdaDzx3_ > create_lambda_function_vector_3d (LambdaValue1_ &&value1, LambdaValue2_ &&value2, LambdaValue3_ &&value3, LambdaDx1_ &&dx1, LambdaDx2_ &&dx2, LambdaDx3_ &&dx3, LambdaDy1_ &&dy1, LambdaDy2_ &&dy2, LambdaDy3_ &&dy3, LambdaDz1_ &&dz1, LambdaDz2_ &&dz2, LambdaDz3_ &&dz3, LambdaDxx1_ &&dxx1, LambdaDxx2_ &&dxx2, LambdaDxx3_ &&dxx3, LambdaDyy1_ &&dyy1, LambdaDyy2_ &&dyy2, LambdaDyy3_ &&dyy3, LambdaDzz1_ &&dzz1, LambdaDzz2_ &&dzz2, LambdaDzz3_ &&dzz3, LambdaDxy1_ &&dxy1, LambdaDxy2_ &&dxy2, LambdaDxy3_ &&dxy3, LambdaDyz1_ &&dyz1, LambdaDyz2_ &&dyz2, LambdaDyz3_ &&dyz3, LambdaDzx1_ &&dzx1, LambdaDzx2_ &&dzx2, LambdaDzx3_ &&dzx3)
 Creates a vector-valued 3D lambda function from function values, gradients and hessians. More...
 
template<typename Function_ , typename DT_ , int dim_, int s_>
Analytic::EvalTraits< DT_, Function_ >::GradientType eval_gradient (const Function_ &function, const Tiny::Vector< DT_, dim_, s_ > &point)
 Helper function to quickly evaluate a function gradient in a given point. More...
 
template<typename Function_ , typename DT_ >
Analytic::EvalTraits< DT_, Function_ >::GradientType eval_gradient_x (const Function_ &function, const DT_ x)
 
template<typename Function_ , typename DT_ >
Analytic::EvalTraits< DT_, Function_ >::GradientType eval_gradient_x (const Function_ &function, const DT_ x, const DT_ y)
 
template<typename Function_ , typename DT_ >
Analytic::EvalTraits< DT_, Function_ >::GradientType eval_gradient_x (const Function_ &function, const DT_ x, const DT_ y, const DT_ z)
 
template<typename Function_ , typename DT_ , int dim_, int s_>
Analytic::EvalTraits< DT_, Function_ >::HessianType eval_hessian (const Function_ &function, const Tiny::Vector< DT_, dim_, s_ > &point)
 Helper function to quickly evaluate a function hessian in a given point. More...
 
template<typename Function_ , typename DT_ >
Analytic::EvalTraits< DT_, Function_ >::HessianType eval_hessian_x (const Function_ &function, const DT_ x)
 
template<typename Function_ , typename DT_ >
Analytic::EvalTraits< DT_, Function_ >::HessianType eval_hessian_x (const Function_ &function, const DT_ x, const DT_ y)
 
template<typename Function_ , typename DT_ >
Analytic::EvalTraits< DT_, Function_ >::HessianType eval_hessian_x (const Function_ &function, const DT_ x, const DT_ y, const DT_ z)
 
template<typename Function_ , typename DT_ , int dim_, int s_>
Analytic::EvalTraits< DT_, Function_ >::ValueType eval_value (const Function_ &function, const Tiny::Vector< DT_, dim_, s_ > &point)
 Helper function to quickly evaluate a function value in a given point. More...
 
template<typename Function_ , typename DT_ >
Analytic::EvalTraits< DT_, Function_ >::ValueType eval_value_x (const Function_ &function, const DT_ x)
 
template<typename Function_ , typename DT_ >
Analytic::EvalTraits< DT_, Function_ >::ValueType eval_value_x (const Function_ &function, const DT_ x, const DT_ y)
 
template<typename Function_ , typename DT_ >
Analytic::EvalTraits< DT_, Function_ >::ValueType eval_value_x (const Function_ &function, const DT_ x, const DT_ y, const DT_ z)
 

Detailed Description

Analytic namespace.

Typedef Documentation

◆ ParsedFunction

template<int dim_>
using FEAT::Analytic::ParsedFunction = typedef ParsedScalarFunction<dim_>

for the sake of downwards compatibility

Definition at line 334 of file parsed_function.hpp.

Function Documentation

◆ create_lambda_function_scalar_1d() [1/3]

template<typename LambdaValue_ >
LambdaScalarFunction1D< LambdaValue_ > FEAT::Analytic::create_lambda_function_scalar_1d ( LambdaValue_ &&  value)

Creates a scalar 1D lambda function from function values only.

See also
See Analytic Lambda Expression Functions page for details.
Parameters
[in]valueThe lambda expression for the scalar function value.
Returns
An instance of the LambdaScalarFunction1D class template

Definition at line 802 of file lambda_function.hpp.

References FEAT::value.

◆ create_lambda_function_scalar_1d() [2/3]

template<typename LambdaValue_ , typename LambdaDx_ >
LambdaScalarFunction1D< LambdaValue_, LambdaDx_ > FEAT::Analytic::create_lambda_function_scalar_1d ( LambdaValue_ &&  value,
LambdaDx_ &&  dx 
)

Creates a scalar 1D lambda function from function values and gradients.

See also
See Analytic Lambda Expression Functions page for details.
Parameters
[in]valueThe lambda expression for the scalar function value.
[in]dxThe lambda expression for the first-order derivative of the scalar function.
Returns
An instance of the LambdaScalarFunction1D class template

Definition at line 822 of file lambda_function.hpp.

References FEAT::value.

◆ create_lambda_function_scalar_1d() [3/3]

template<typename LambdaValue_ , typename LambdaDx_ , typename LambdaDxx_ >
LambdaScalarFunction1D< LambdaValue_, LambdaDx_, LambdaDxx_ > FEAT::Analytic::create_lambda_function_scalar_1d ( LambdaValue_ &&  value,
LambdaDx_ &&  dx,
LambdaDxx_ &&  dxx 
)

Creates a scalar 1D lambda function from function values, gradients and hessians.

See also
See Analytic Lambda Expression Functions page for details.
Parameters
[in]valueThe lambda expression for the scalar function value.
[in]dxThe lambda expression for the first-order derivative of the scalar function.
[in]dxxThe lambda expression for the second-order derivative of the scalar function.
Returns
An instance of the LambdaScalarFunction1D class template

Definition at line 846 of file lambda_function.hpp.

References FEAT::value.

◆ create_lambda_function_scalar_2d() [1/3]

template<typename LambdaValue_ >
LambdaScalarFunction2D< LambdaValue_ > FEAT::Analytic::create_lambda_function_scalar_2d ( LambdaValue_ &&  value)

Creates a scalar 2D lambda function from function values only.

See also
See Analytic Lambda Expression Functions page for details.
Parameters
[in]valueThe lambda expression for the scalar function value.
Returns
An instance of the LambdaScalarFunction2D class template

Definition at line 1004 of file lambda_function.hpp.

References FEAT::value.

◆ create_lambda_function_scalar_2d() [2/3]

template<typename LambdaValue_ , typename LambdaDx_ , typename LambdaDy_ >
LambdaScalarFunction2D< LambdaValue_, LambdaDx_, LambdaDy_ > FEAT::Analytic::create_lambda_function_scalar_2d ( LambdaValue_ &&  value,
LambdaDx_ &&  dx,
LambdaDy_ &&  dy 
)

Creates a scalar 2D lambda function from function values and gradients.

See also
See Analytic Lambda Expression Functions page for details.
Parameters
[in]valueThe lambda expression for the scalar function value.
[in]dx,dyThe lambda expressions for the first-order partial derivatives of the scalar function.
Returns
An instance of the LambdaScalarFunction2D class template

Definition at line 1024 of file lambda_function.hpp.

References FEAT::value.

◆ create_lambda_function_scalar_2d() [3/3]

template<typename LambdaValue_ , typename LambdaDx_ , typename LambdaDy_ , typename LambdaDxx_ , typename LambdaDyy_ , typename LambdaDxy_ >
LambdaScalarFunction2D< LambdaValue_, LambdaDx_, LambdaDy_, LambdaDxx_, LambdaDyy_, LambdaDxy_ > FEAT::Analytic::create_lambda_function_scalar_2d ( LambdaValue_ &&  value,
LambdaDx_ &&  dx,
LambdaDy_ &&  dy,
LambdaDxx_ &&  dxx,
LambdaDyy_ &&  dyy,
LambdaDxy_ &&  dxy 
)

Creates a scalar 2D lambda function from function values, gradients and hessians.

See also
See Analytic Lambda Expression Functions page for details.
Parameters
[in]valueThe lambda expression for the scalar function value.
[in]dx,dyThe lambda expressions for the first-order partial derivatives of the scalar function.
[in]dxx,dyy,dxyThe lambda expressions for the second-order partial derivatives of the scalar function.
Returns
An instance of the LambdaScalarFunction2D class template

Definition at line 1050 of file lambda_function.hpp.

References FEAT::value.

◆ create_lambda_function_scalar_3d() [1/3]

template<typename LambdaValue_ >
LambdaScalarFunction3D< LambdaValue_ > FEAT::Analytic::create_lambda_function_scalar_3d ( LambdaValue_ &&  value)

Creates a scalar 3D lambda function from function values only.

See also
See Analytic Lambda Expression Functions page for details.
Parameters
[in]valueThe lambda expression for the scalar function value.
Returns
An instance of the LambdaScalarFunction3D class template

Definition at line 1221 of file lambda_function.hpp.

References FEAT::value.

◆ create_lambda_function_scalar_3d() [2/3]

template<typename LambdaValue_ , typename LambdaDx_ , typename LambdaDy_ , typename LambdaDz_ >
LambdaScalarFunction3D< LambdaValue_, LambdaDx_, LambdaDy_, LambdaDz_ > FEAT::Analytic::create_lambda_function_scalar_3d ( LambdaValue_ &&  value,
LambdaDx_ &&  dx,
LambdaDy_ &&  dy,
LambdaDz_ &&  dz 
)

Creates a scalar 3D lambda function from function values and gradients.

See also
See Analytic Lambda Expression Functions page for details.
Parameters
[in]valueThe lambda expression for the scalar function value.
[in]dx,dy,dzThe lambda expressions for the first-order partial derivatives of the scalar function.
Returns
An instance of the LambdaScalarFunction3D class template

Definition at line 1241 of file lambda_function.hpp.

References FEAT::value.

◆ create_lambda_function_scalar_3d() [3/3]

template<typename LambdaValue_ , typename LambdaDx_ , typename LambdaDy_ , typename LambdaDz_ , typename LambdaDxx_ , typename LambdaDyy_ , typename LambdaDzz_ , typename LambdaDxy_ , typename LambdaDyz_ , typename LambdaDzx_ >
LambdaScalarFunction3D< LambdaValue_, LambdaDx_, LambdaDy_, LambdaDz_, LambdaDxx_, LambdaDyy_, LambdaDzz_, LambdaDxy_, LambdaDyz_, LambdaDzx_ > FEAT::Analytic::create_lambda_function_scalar_3d ( LambdaValue_ &&  value,
LambdaDx_ &&  dx,
LambdaDy_ &&  dy,
LambdaDz_ &&  dz,
LambdaDxx_ &&  dxx,
LambdaDyy_ &&  dyy,
LambdaDzz_ &&  dzz,
LambdaDxy_ &&  dxy,
LambdaDyz_ &&  dyz,
LambdaDzx_ &&  dzx 
)

Creates a 3D scalar lambda function from function values, gradients and hessians.

See also
See Analytic Lambda Expression Functions page for details.
Parameters
[in]valueThe lambda expression for the scalar function value.
[in]dx,dy,dzThe lambda expressions for the first-order partial derivatives of the scalar function.
[in]dxx,dyy,dzz,dxy,dyz,dzxThe lambda expressions for the second-order partial derivatives of the scalar function.
Returns
An instance of the LambdaScalarFunction3D class template

Definition at line 1269 of file lambda_function.hpp.

References FEAT::value.

◆ create_lambda_function_vector_2d() [1/3]

template<typename LambdaValue1_ , typename LambdaValue2_ >
LambdaVectorFunction2D< LambdaValue1_, LambdaValue2_ > FEAT::Analytic::create_lambda_function_vector_2d ( LambdaValue1_ &&  value1,
LambdaValue2_ &&  value2 
)

Creates a vector-valued 2D lambda function from function values only.

See also
See Analytic Lambda Expression Functions page for details.
Parameters
[in]value1,value2,value3The lambda expressions for the function values of the vector field components.
Returns
An instance of the LambdaVectorFunction2D class template

Definition at line 1630 of file lambda_function.hpp.

◆ create_lambda_function_vector_2d() [2/3]

template<typename LambdaValue1_ , typename LambdaValue2_ , typename LambdaDx1_ , typename LambdaDx2_ , typename LambdaDy1_ , typename LambdaDy2_ >
LambdaVectorFunction2D< LambdaValue1_, LambdaValue2_, LambdaDx1_, LambdaDx2_, LambdaDy1_, LambdaDy2_ > FEAT::Analytic::create_lambda_function_vector_2d ( LambdaValue1_ &&  value1,
LambdaValue2_ &&  value2,
LambdaDx1_ &&  dx1,
LambdaDx2_ &&  dx2,
LambdaDy1_ &&  dy1,
LambdaDy2_ &&  dy2 
)

Creates a vector-valued 2D lambda function from function values and gradients.

See also
See Analytic Lambda Expression Functions page for details.
Parameters
[in]value1,value2,value3The lambda expressions for the function values of the vector field components.
[in]dx1,dx2,dy1,dy2The lambda expressions for the first-order partial derivatives of the vector field components.
Returns
An instance of the LambdaVectorFunction2D class template

Definition at line 1653 of file lambda_function.hpp.

◆ create_lambda_function_vector_2d() [3/3]

template<typename LambdaValue1_ , typename LambdaValue2_ , typename LambdaDx1_ , typename LambdaDx2_ , typename LambdaDy1_ , typename LambdaDy2_ , typename LambdaDxx1_ , typename LambdaDxx2_ , typename LambdaDyy1_ , typename LambdaDyy2_ , typename LambdaDxy1_ , typename LambdaDxy2_ >
LambdaVectorFunction2D< LambdaValue1_, LambdaValue2_, LambdaDx1_, LambdaDx2_, LambdaDy1_, LambdaDy2_, LambdaDxx1_, LambdaDxx2_, LambdaDyy1_, LambdaDyy2_, LambdaDxy1_, LambdaDxy2_ > FEAT::Analytic::create_lambda_function_vector_2d ( LambdaValue1_ &&  value1,
LambdaValue2_ &&  value2,
LambdaDx1_ &&  dx1,
LambdaDx2_ &&  dx2,
LambdaDy1_ &&  dy1,
LambdaDy2_ &&  dy2,
LambdaDxx1_ &&  dxx1,
LambdaDxx2_ &&  dxx2,
LambdaDyy1_ &&  dyy1,
LambdaDyy2_ &&  dyy2,
LambdaDxy1_ &&  dxy1,
LambdaDxy2_ &&  dxy2 
)

Creates a vector-valued 2D lambda function from function values, gradients and hessians.

See also
See Analytic Lambda Expression Functions page for details.
Parameters
[in]value1,value2,value3The lambda expressions for the function values of the vector field components.
[in]dx1,dx2,dy1,dy2The lambda expressions for the first-order partial derivatives of the vector field components.
[in]dxx1,dxx2,dyy1,dyy2,dxy1,dxy2The lambda expressions for the second-order partial derivatives of the vector field components.
Returns
An instance of the LambdaVectorFunction2D class template

Definition at line 1688 of file lambda_function.hpp.

◆ create_lambda_function_vector_3d() [1/3]

template<typename LambdaValue1_ , typename LambdaValue2_ , typename LambdaValue3_ >
LambdaVectorFunction3D< LambdaValue1_, LambdaValue2_, LambdaValue3_ > FEAT::Analytic::create_lambda_function_vector_3d ( LambdaValue1_ &&  value1,
LambdaValue2_ &&  value2,
LambdaValue3_ &&  value3 
)

Creates a vector-valued 3D lambda function from function values only.

See also
See Analytic Lambda Expression Functions page for details.
Parameters
[in]value1,value2,value3The lambda expressions for the function values of the vector field components.
Returns
An instance of the LambdaVectorFunction3D class template

Definition at line 1947 of file lambda_function.hpp.

◆ create_lambda_function_vector_3d() [2/3]

template<typename LambdaValue1_ , typename LambdaValue2_ , typename LambdaValue3_ , typename LambdaDx1_ , typename LambdaDx2_ , typename LambdaDx3_ , typename LambdaDy1_ , typename LambdaDy2_ , typename LambdaDy3_ , typename LambdaDz1_ , typename LambdaDz2_ , typename LambdaDz3_ >
LambdaVectorFunction3D< LambdaValue1_, LambdaValue2_, LambdaValue3_, LambdaDx1_, LambdaDx2_, LambdaDx3_, LambdaDy1_, LambdaDy2_, LambdaDy3_, LambdaDz1_, LambdaDz2_, LambdaDz3_ > FEAT::Analytic::create_lambda_function_vector_3d ( LambdaValue1_ &&  value1,
LambdaValue2_ &&  value2,
LambdaValue3_ &&  value3,
LambdaDx1_ &&  dx1,
LambdaDx2_ &&  dx2,
LambdaDx3_ &&  dx3,
LambdaDy1_ &&  dy1,
LambdaDy2_ &&  dy2,
LambdaDy3_ &&  dy3,
LambdaDz1_ &&  dz1,
LambdaDz2_ &&  dz2,
LambdaDz3_ &&  dz3 
)

Creates a vector-valued 3D lambda function from function values and gradients.

See also
See Analytic Lambda Expression Functions page for details.
Parameters
[in]value1,value2,value3The lambda expressions for the function values of the vector field components.
[in]dx1,dx2,dx3,dy1,dy2,dy3,dz1,dz2,dz3The lambda expressions for the first-order partial derivatives of the vector field components.
Returns
An instance of the LambdaVectorFunction3D class template

Definition at line 1973 of file lambda_function.hpp.

◆ create_lambda_function_vector_3d() [3/3]

template<typename LambdaValue1_ , typename LambdaValue2_ , typename LambdaValue3_ , typename LambdaDx1_ , typename LambdaDx2_ , typename LambdaDx3_ , typename LambdaDy1_ , typename LambdaDy2_ , typename LambdaDy3_ , typename LambdaDz1_ , typename LambdaDz2_ , typename LambdaDz3_ , typename LambdaDxx1_ , typename LambdaDxx2_ , typename LambdaDxx3_ , typename LambdaDyy1_ , typename LambdaDyy2_ , typename LambdaDyy3_ , typename LambdaDzz1_ , typename LambdaDzz2_ , typename LambdaDzz3_ , typename LambdaDxy1_ , typename LambdaDxy2_ , typename LambdaDxy3_ , typename LambdaDyz1_ , typename LambdaDyz2_ , typename LambdaDyz3_ , typename LambdaDzx1_ , typename LambdaDzx2_ , typename LambdaDzx3_ >
LambdaVectorFunction3D< LambdaValue1_, LambdaValue2_, LambdaValue3_, LambdaDx1_, LambdaDx2_, LambdaDx3_, LambdaDy1_, LambdaDy2_, LambdaDy3_, LambdaDz1_, LambdaDz2_, LambdaDz3_, LambdaDxx1_, LambdaDxx2_, LambdaDxx3_, LambdaDyy1_, LambdaDyy2_, LambdaDyy3_, LambdaDzz1_, LambdaDzz2_, LambdaDzz3_, LambdaDxy1_, LambdaDxy2_, LambdaDxy3_, LambdaDyz1_, LambdaDyz2_, LambdaDyz3_, LambdaDzx1_, LambdaDzx2_, LambdaDzx3_ > FEAT::Analytic::create_lambda_function_vector_3d ( LambdaValue1_ &&  value1,
LambdaValue2_ &&  value2,
LambdaValue3_ &&  value3,
LambdaDx1_ &&  dx1,
LambdaDx2_ &&  dx2,
LambdaDx3_ &&  dx3,
LambdaDy1_ &&  dy1,
LambdaDy2_ &&  dy2,
LambdaDy3_ &&  dy3,
LambdaDz1_ &&  dz1,
LambdaDz2_ &&  dz2,
LambdaDz3_ &&  dz3,
LambdaDxx1_ &&  dxx1,
LambdaDxx2_ &&  dxx2,
LambdaDxx3_ &&  dxx3,
LambdaDyy1_ &&  dyy1,
LambdaDyy2_ &&  dyy2,
LambdaDyy3_ &&  dyy3,
LambdaDzz1_ &&  dzz1,
LambdaDzz2_ &&  dzz2,
LambdaDzz3_ &&  dzz3,
LambdaDxy1_ &&  dxy1,
LambdaDxy2_ &&  dxy2,
LambdaDxy3_ &&  dxy3,
LambdaDyz1_ &&  dyz1,
LambdaDyz2_ &&  dyz2,
LambdaDyz3_ &&  dyz3,
LambdaDzx1_ &&  dzx1,
LambdaDzx2_ &&  dzx2,
LambdaDzx3_ &&  dzx3 
)

Creates a vector-valued 3D lambda function from function values, gradients and hessians.

See also
See Analytic Lambda Expression Functions page for details.
Parameters
[in]value1,value2,value3The lambda expressions for the function values of the vector field components.
[in]dx1,dx2,dx3,dy1,dy2,dy3,dz1,dz2,dz3The lambda expressions for the first-order partial derivatives of the vector field components.
[in]dxx1,dxx2,dxx3,dyy1,dyy2,dyy3,dzz1,dzz2,dzz3,dxy1,dxy2,dxy3,dyz1,dyz2,dyz3,dzx1,dzx2,dzx3The lambda expressions for the second-order partial derivatives of the vector field components.
Returns
An instance of the LambdaVectorFunction3D class template

Definition at line 2017 of file lambda_function.hpp.

◆ eval_gradient()

template<typename Function_ , typename DT_ , int dim_, int s_>
Analytic::EvalTraits< DT_, Function_ >::GradientType FEAT::Analytic::eval_gradient ( const Function_ &  function,
const Tiny::Vector< DT_, dim_, s_ > &  point 
)

Helper function to quickly evaluate a function gradient in a given point.

Attention
This function is intended only for quick testing and debugging, because it recreates the function evaluator in each function call, which is an absolute performance killer.
You have been warned.
Parameters
[in]functionThe function whose gradient is to be evaluated.
[in]pointThe point in which the function is to be evaluated.
Returns
The function gradient of the given function in the given point.

Definition at line 335 of file function.hpp.

◆ eval_gradient_x() [1/3]

template<typename Function_ , typename DT_ >
Analytic::EvalTraits< DT_, Function_ >::GradientType FEAT::Analytic::eval_gradient_x ( const Function_ &  function,
const DT_  x 
)

Definition at line 347 of file function.hpp.

◆ eval_gradient_x() [2/3]

template<typename Function_ , typename DT_ >
Analytic::EvalTraits< DT_, Function_ >::GradientType FEAT::Analytic::eval_gradient_x ( const Function_ &  function,
const DT_  x,
const DT_  y 
)

Definition at line 357 of file function.hpp.

◆ eval_gradient_x() [3/3]

template<typename Function_ , typename DT_ >
Analytic::EvalTraits< DT_, Function_ >::GradientType FEAT::Analytic::eval_gradient_x ( const Function_ &  function,
const DT_  x,
const DT_  y,
const DT_  z 
)

Definition at line 368 of file function.hpp.

◆ eval_hessian()

template<typename Function_ , typename DT_ , int dim_, int s_>
Analytic::EvalTraits< DT_, Function_ >::HessianType FEAT::Analytic::eval_hessian ( const Function_ &  function,
const Tiny::Vector< DT_, dim_, s_ > &  point 
)

Helper function to quickly evaluate a function hessian in a given point.

Attention
This function is intended only for quick testing and debugging, because it recreates the function evaluator in each function call, which is an absolute performance killer.
You have been warned.
Parameters
[in]functionThe function whose hessian is to be evaluated.
[in]pointThe point in which the function is to be evaluated.
Returns
The function hessian of the given function in the given point.

Definition at line 395 of file function.hpp.

◆ eval_hessian_x() [1/3]

template<typename Function_ , typename DT_ >
Analytic::EvalTraits< DT_, Function_ >::HessianType FEAT::Analytic::eval_hessian_x ( const Function_ &  function,
const DT_  x 
)

Definition at line 407 of file function.hpp.

◆ eval_hessian_x() [2/3]

template<typename Function_ , typename DT_ >
Analytic::EvalTraits< DT_, Function_ >::HessianType FEAT::Analytic::eval_hessian_x ( const Function_ &  function,
const DT_  x,
const DT_  y 
)

Definition at line 417 of file function.hpp.

◆ eval_hessian_x() [3/3]

template<typename Function_ , typename DT_ >
Analytic::EvalTraits< DT_, Function_ >::HessianType FEAT::Analytic::eval_hessian_x ( const Function_ &  function,
const DT_  x,
const DT_  y,
const DT_  z 
)

Definition at line 428 of file function.hpp.

◆ eval_value()

template<typename Function_ , typename DT_ , int dim_, int s_>
Analytic::EvalTraits< DT_, Function_ >::ValueType FEAT::Analytic::eval_value ( const Function_ &  function,
const Tiny::Vector< DT_, dim_, s_ > &  point 
)

Helper function to quickly evaluate a function value in a given point.

Attention
This function is intended only for quick testing and debugging, because it recreates the function evaluator in each function call, which is an absolute performance killer.
You have been warned.
Parameters
[in]functionThe function whose value is to be evaluated.
[in]pointThe point in which the function is to be evaluated.
Returns
The function value of the given function in the given point.

Definition at line 275 of file function.hpp.

◆ eval_value_x() [1/3]

template<typename Function_ , typename DT_ >
Analytic::EvalTraits< DT_, Function_ >::ValueType FEAT::Analytic::eval_value_x ( const Function_ &  function,
const DT_  x 
)

Definition at line 287 of file function.hpp.

◆ eval_value_x() [2/3]

template<typename Function_ , typename DT_ >
Analytic::EvalTraits< DT_, Function_ >::ValueType FEAT::Analytic::eval_value_x ( const Function_ &  function,
const DT_  x,
const DT_  y 
)

Definition at line 297 of file function.hpp.

◆ eval_value_x() [3/3]

template<typename Function_ , typename DT_ >
Analytic::EvalTraits< DT_, Function_ >::ValueType FEAT::Analytic::eval_value_x ( const Function_ &  function,
const DT_  x,
const DT_  y,
const DT_  z 
)

Definition at line 308 of file function.hpp.