|
IFEM 90A354
|
Base class for unary spatial function of arbitrary result type. More...
#include <Function.h>


Public Member Functions | |
| virtual Result | deriv (const Vec3 &, int) const |
| Returns a first-derivative of the function. | |
| virtual Result | dderiv (const Vec3 &, int, int) const |
| Returns a second-derivative of the function. | |
Public Member Functions inherited from utl::Function< Vec3, Result > | |
| virtual | ~Function () |
| Empty destructor. | |
| virtual bool | isZero () const |
| Returns whether the function is identically zero or not. | |
| virtual bool | isConstant () const |
| Returns whether the function is time-independent or not. | |
| Result | operator() (const Vec3 &x) const |
| Operator returning the function value for the given argument. | |
Protected Member Functions | |
| SpatialFunction (const Result &val) | |
| The constructor is protected to allow sub-class instances only. | |
| virtual std::vector< Real > | evalGradient (const Vec3 &) const |
| Returns the gradient of the function as a 1D array. | |
| virtual std::vector< Real > | evalHessian (const Vec3 &) const |
| Returns the hessian of the function as a 1D array. | |
| virtual std::vector< Real > | evalTimeDerivative (const Vec3 &) const |
| Returns the time derivatives of the function as a 1D array. | |
Protected Member Functions inherited from utl::Function< Vec3, Result > | |
| Function () | |
| The constructor is protected to allow sub-class instances only. | |
| virtual Result | evaluate (const Vec3 &x) const=0 |
| Evaluates the function for the argument x. | |
Protected Attributes | |
| Result | zero |
| Return value for default implementations of derivatives. | |
Additional Inherited Members | |
Public Types inherited from utl::Function< Vec3, Result > | |
| typedef Vec3 | Input |
| Input type. | |
| typedef Result | Output |
| Output type. | |
Base class for unary spatial function of arbitrary result type.
Includes interfaces for evaluation of first and second derivates.
|
inlinevirtual |
Returns a second-derivative of the function.
Reimplemented in QuadraticXFunc, QuadraticYFunc, QuadraticZFunc, ChebyshevFunc, EvalFuncSpatial< Scalar >, EvalFuncSpatial< Scalar >, EvalFuncSpatial< Scalar >, and SpaceTimeFunc.
References utl::SpatialFunction< Result >::zero.
Referenced by SpaceTimeFunc::dderiv().
|
inlinevirtual |
Returns a first-derivative of the function.
Reimplemented in Interpolate1D, LinearXFunc, LinearYFunc, LinearZFunc, LinearRotZFunc, ChebyshevFunc, EvalFuncSpatial< Scalar >, EvalFuncSpatial< Scalar >, EvalFuncSpatial< Scalar >, ConstTimeFunc, SpaceTimeFunc, QuadraticXFunc, QuadraticYFunc, and QuadraticZFunc.
References utl::SpatialFunction< Result >::zero.
Referenced by SpaceTimeFunc::dderiv(), TractionField::deriv(), PressureField::deriv(), and SpaceTimeFunc::deriv().
|
inlineprotectedvirtual |
Returns the gradient of the function as a 1D array.
Reimplemented in ChebyshevVecFunc, ChebyshevTensorFunc, and VecFieldFunction.
|
inlineprotectedvirtual |
Returns the hessian of the function as a 1D array.
Reimplemented in ChebyshevTensorFunc, ChebyshevVecFunc, and VecFieldFunction.