14 #ifndef _NODE_VEC_FUNC_H
15 #define _NODE_VEC_FUNC_H
32 const std::map<int,int>* nodeIdMap =
nullptr)
36 const std::map<int,int>& nodeIdMap)
44 virtual bool isZero()
const;
58 mutable std::map<Vec3,int>
ptMap;
62 const std::vector<double>*
value;
General functions with arbitrary argument and value type.
A class that wraps a nodal field as a vector-valued spatial function.
Definition: NodeVecFunc.h:28
const std::map< int, int > * idMap
Map of node indices.
Definition: NodeVecFunc.h:57
const std::vector< double > * value
The nodal field values.
Definition: NodeVecFunc.h:62
NodeVecFunc()=delete
No default constructor.
NodeVecFunc(const SIMbase &m, const std::vector< double > *v, const std::map< int, int > &nodeIdMap)
Alternative constructor providing the vector through a pointer.
Definition: NodeVecFunc.h:35
std::pair< int, int > getPointIndex(const Vec3 &Xp) const
Returns the node index (if any) matching the given coordinates.
Definition: NodeVecFunc.C:43
virtual bool isZero() const
Returns whether the function is identically zero or not.
Definition: NodeVecFunc.C:20
virtual Vec3 evaluate(const Vec3 &X) const
Evaluates the function at the point X.
Definition: NodeVecFunc.C:26
NodeVecFunc(const SIMbase &m, const std::vector< double > &v, const std::map< int, int > *nodeIdMap=nullptr)
The constructor initializes the references.
Definition: NodeVecFunc.h:31
NodeVecFunc(const NodeVecFunc &)=delete
No copy constructor.
std::map< Vec3, int > ptMap
Map of evaluated nodal points.
Definition: NodeVecFunc.h:58
virtual bool isConstant() const
Returns that this function is time-dependent and not constant.
Definition: NodeVecFunc.h:47
const SIMbase & model
FE model on which the field is defined.
Definition: NodeVecFunc.h:61
Base class for NURBS-based FEM simulators.
Definition: SIMbase.h:72
Simple class for representing a point in 3D space.
Definition: Vec3.h:27
Vector-valued unary function of a spatial point.
Definition: Function.h:242