18 #ifndef MESHFREE_INTERPOLATION_FUNCTION_H 19 #define MESHFREE_INTERPOLATION_FUNCTION_H 22 #include "libmesh/function_base.h" 23 #include "libmesh/meshfree_interpolation.h" 24 #include "libmesh/threads.h" 35 template <
typename T>
class DenseVector;
78 virtual std::unique_ptr<FunctionBase<Number>>
clone()
const;
94 mutable std::vector<Point>
_pts;
95 mutable std::vector<Number>
_vals;
101 #endif // MESHFREE_INTERPOLATION_FUNCTION_H MeshfreeInterpolationFunction(const MeshfreeInterpolation &mfi, Threads::spin_mutex &mutex)
Constructor.
void init()
The actual initialization process.
Number operator()(const Point &p, const Real time=0.)
The libMesh namespace provides an interface to certain functionality in the library.
virtual std::unique_ptr< FunctionBase< Number > > clone() const
Returns a new deep copy of the function.
std::vector< Point > _pts
const MeshfreeInterpolation & _mfi
void clear()
Clears the function.
Base class to support various mesh-free interpolation methods.
virtual ~MeshfreeInterpolationFunction()=default
Destructor.
MeshfreeInterpolationFunction & operator=(const MeshfreeInterpolationFunction &)=delete
Delete assignment operators.
std::vector< Number > _vals
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
Threads::spin_mutex & _mutex
Base class for functors that can be evaluated at a point and (optionally) time.
A Point defines a location in LIBMESH_DIM dimensional Real space.