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);
Defines a dense vector for use in Finite Element-type computations.
void resize(const unsigned int n)
Resize the vector.
const MeshfreeInterpolation & _mfi
std::vector< Point > _pts
MeshfreeInterpolationFunction(const MeshfreeInterpolation &mfi, Threads::spin_mutex &mutex)
Constructor.
void init()
The actual initialization process.
void clear()
Clears the function.
Number operator()(const Point &p, const Real time=0.)
std::vector< Number > _vals
Threads::spin_mutex & _mutex
virtual std::unique_ptr< FunctionBase< Number > > clone() const
Returns a new deep copy of the function.
Base class to support various mesh-free interpolation methods.
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.
const std::vector< std::string > & field_variables() const
A Point defines a location in LIBMESH_DIM dimensional Real space.
The libMesh namespace provides an interface to certain functionality in the library.
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real