19 #include "libmesh/meshfree_interpolation_function.h" 30 : _mfi(mfi), _mutex(mutex) {}
38 Threads::spin_mutex::scoped_lock lock(
_mutex);
48 output(0) = (*this)(p, time);
64 return std::make_unique<MeshfreeInterpolationFunction>(
_mfi,
_mutex);
MeshfreeInterpolationFunction(const MeshfreeInterpolation &mfi, Threads::spin_mutex &mutex)
Constructor.
void init()
The actual initialization process.
const std::vector< std::string > & field_variables() const
void resize(const unsigned int n)
Resize the vector.
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.
virtual void interpolate_field_data(const std::vector< std::string > &field_names, const std::vector< Point > &tgt_pts, std::vector< Number > &tgt_vals) const =0
Interpolate source data at target points.
std::vector< Point > _pts
const MeshfreeInterpolation & _mfi
void clear()
Clears the function.
Base class to support various mesh-free interpolation methods.
std::vector< Number > _vals
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
Threads::spin_mutex & _mutex
A Point defines a location in LIBMESH_DIM dimensional Real space.