IFEM  90A354
Public Member Functions | Protected Member Functions | Private Attributes | List of all members
SpaceTimeFunc Class Reference

A scalar-valued spatial function, varying in space and time. More...

#include <Functions.h>

Inheritance diagram for SpaceTimeFunc:
Inheritance graph
[legend]
Collaboration diagram for SpaceTimeFunc:
Collaboration graph
[legend]

Public Member Functions

 SpaceTimeFunc (const RealFunc *s, const ScalarFunc *t)
 Constructor initializing the function terms.
 
virtual ~SpaceTimeFunc ()
 The destructor frees the space and time functions.
 
bool isZero () const override
 Returns whether the function is identically zero or not.
 
bool isConstant () const override
 Returns whether the function is time-independent or not.
 
Real deriv (const Vec3 &X, int dir) const override
 Returns first-derivative of the function.
 
Real dderiv (const Vec3 &X, int dir1, int dir2) const override
 Returns second-derivative of the function.
 
- Public Member Functions inherited from RealFunc
unsigned char getType () const override
 Returns the function type flag.
 
std::vector< RealgetValue (const Vec3 &X) const override
 Returns the function value as an array.
 
virtual Vec3 gradient (const Vec3 &X) const
 Evaluates first derivatives of the function.
 
virtual SymmTensor hessian (const Vec3 &X) const
 Evaluates second derivatives of the function.
 
Real getScalarValue (const Vec3 &X) const override
 Returns a representative scalar equivalent of the function value.
 
Real timeDerivative (const Vec3 &X) const
 Returns the time derivative of the function.
 
- Public Member Functions inherited from utl::Function< Arg, Result >
virtual ~Function ()
 Empty destructor.
 
Result operator() (const Arg &x) const
 Operator returning the function value for the given argument.
 
- Public Member Functions inherited from FunctionBase
virtual ~FunctionBase ()
 Empty destructor.
 
size_t dim () const
 Returns the number of components of the return value.
 
virtual bool initPatch (size_t)
 Sets the active patch.
 
virtual bool inDomain (const Vec3 &) const
 Checks if a specified point is within the function domain.
 
virtual void setParam (const std::string &, Real)
 Sets an additional parameter in the function.
 
void setParam (const std::string &name, const Vec3 &value)
 Sets additional parameter values in the function.
 

Protected Member Functions

Real evaluate (const Vec3 &X) const override
 Evaluates the space-time function.
 
- Protected Member Functions inherited from RealFunc
 RealFunc ()
 The constructor is protected to allow sub-class instances only.
 
- Protected Member Functions inherited from utl::SpatialFunction< Real >
 SpatialFunction (const Real &val)
 The constructor is protected to allow sub-class instances only.
 
virtual std::vector< RealevalGradient (const Vec3 &) const
 Returns the gradient of the function as a 1D array.
 
virtual std::vector< RealevalHessian (const Vec3 &) const
 Returns the hessian of the function as a 1D array.
 
virtual std::vector< RealevalTimeDerivative (const Vec3 &) const
 Returns the time derivatives of the function as a 1D array.
 
- Protected Member Functions inherited from utl::Function< Arg, Result >
 Function ()
 The constructor is protected to allow sub-class instances only.
 
virtual Result evaluate (const Arg &x) const =0
 Evaluates the function for the argument x.
 
- Protected Member Functions inherited from FunctionBase
 FunctionBase ()
 The constructor is protected to allow sub-class instances only.
 

Private Attributes

const RealFuncsfunc
 The space-dependent term.
 
const ScalarFunctfunc
 The time-dependent term.
 

Additional Inherited Members

- Public Types inherited from utl::Function< Arg, Result >
typedef Arg Input
 Input type.
 
typedef Result Output
 Output type.
 
- Protected Attributes inherited from utl::SpatialFunction< Real >
Real zero
 Return value for default implementations of derivatives.
 
- Protected Attributes inherited from FunctionBase
size_t ncmp
 Number of components in the return value.
 

Detailed Description

A scalar-valued spatial function, varying in space and time.

The function value is defined as a product between one space-dependent component and one time-dependent component.


The documentation for this class was generated from the following files: