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

A class that wraps a nodal field as a vector-valued spatial function. More...

#include <NodeVecFunc.h>

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

Public Member Functions

 NodeVecFunc (const SIMbase &m, const std::vector< double > &v, const std::map< int, int > *nodeIdMap=nullptr)
 The constructor initializes the references.
 
 NodeVecFunc (const SIMbase &m, const std::vector< double > *v, const std::map< int, int > &nodeIdMap)
 Alternative constructor providing the vector through a pointer.
 
 NodeVecFunc ()=delete
 No default constructor.
 
 NodeVecFunc (const NodeVecFunc &)=delete
 No copy constructor.
 
virtual bool isZero () const
 Returns whether the function is identically zero or not.
 
virtual bool isConstant () const
 Returns that this function is time-dependent and not constant.
 
- Public Member Functions inherited from VecFunc
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.
 
Real getScalarValue (const Vec3 &X) const override
 Returns a representative scalar equivalent of the function value.
 
Tensor gradient (const Vec3 &X) const
 Evaluates first derivatives of the function.
 
utl::matrix3d< Realhessian (const Vec3 &X) const
 Evaluates second derivatives of the function.
 
Vec3 timeDerivative (const Vec3 &X) const
 Evaluates time derivatives of the function.
 
- Public Member Functions inherited from utl::SpatialFunction< Vec3 >
virtual Vec3 deriv (const Vec3 &, int) const
 Returns a first-derivative of the function.
 
virtual Vec3 dderiv (const Vec3 &, int, int) const
 Returns a second-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

virtual Vec3 evaluate (const Vec3 &X) const
 Evaluates the function at the point X.
 
std::pair< int, int > getPointIndex (const Vec3 &Xp) const
 Returns the node index (if any) matching the given coordinates.
 
- Protected Member Functions inherited from VecFunc
 VecFunc (size_t n=3)
 The constructor is protected to allow sub-class instances only.
 
- Protected Member Functions inherited from utl::SpatialFunction< Vec3 >
 SpatialFunction (const Vec3 &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.
 

Protected Attributes

const SIMbasemodel
 FE model on which the field is defined.
 
const std::vector< double > * value
 The nodal field values.
 
- Protected Attributes inherited from utl::SpatialFunction< Vec3 >
Vec3 zero
 Return value for default implementations of derivatives.
 
- Protected Attributes inherited from FunctionBase
size_t ncmp
 Number of components in the return value.
 

Private Attributes

const std::map< int, int > * idMap
 Map of node indices.
 
std::map< Vec3, int > ptMap
 Map of evaluated nodal points.
 

Additional Inherited Members

- Public Types inherited from utl::Function< Arg, Result >
typedef Arg Input
 Input type.
 
typedef Result Output
 Output type.
 

Detailed Description

A class that wraps a nodal field as a vector-valued spatial function.


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