libMesh
|
#include <meshless_interpolation_function.h>
Public Member Functions | |
MeshlessInterpolationFunction (const MeshfreeInterpolation &mfi, Threads::spin_mutex &mutex) | |
Constructor. More... | |
void | init () |
The actual initialization process. More... | |
void | clear () |
Clears the function. More... | |
virtual std::unique_ptr< FunctionBase< Number > > | clone () const |
Returns a new deep copy of the function. More... | |
Number | operator() (const Point &p, const Real time=0.) |
void | operator() (const Point &p, const Real time, DenseVector< Number > &output) |
Like before, but returns the values in a writable reference. More... | |
MeshlessInterpolationFunction (const MeshfreeInterpolation &mfi, Threads::spin_mutex &mutex) | |
MeshlessInterpolationFunction (MeshlessInterpolationFunction &&)=default | |
The move/copy ctor and destructor are defaulted for this class. More... | |
MeshlessInterpolationFunction (const MeshlessInterpolationFunction &)=default | |
virtual | ~MeshlessInterpolationFunction ()=default |
MeshlessInterpolationFunction & | operator= (const MeshlessInterpolationFunction &)=delete |
This class contains const references so it can't be assigned. More... | |
MeshlessInterpolationFunction & | operator= (MeshlessInterpolationFunction &&)=delete |
void | init () |
The actual initialization process. More... | |
void | clear () |
Clears the function. More... | |
virtual std::unique_ptr< FunctionBase< Number > > | clone () const |
Number | operator() (const Point &p, const Real) |
void | operator() (const Point &p, const Real time, DenseVector< Number > &output) |
Evaluation function for time-dependent vector-valued functions. More... | |
void | operator() (const Point &p, DenseVector< Number > &output) |
Evaluation function for time-independent vector-valued functions. More... | |
virtual Number | component (unsigned int i, const Point &p, Real time=0.) |
bool | initialized () const |
void | set_is_time_dependent (bool is_time_dependent) |
Function to set whether this is a time-dependent function or not. More... | |
bool | is_time_dependent () const |
Protected Attributes | |
const FunctionBase * | _master |
Const pointer to our master, initialized to nullptr . More... | |
bool | _initialized |
When init() was called so that everything is ready for calls to operator() (...), then this bool is true. More... | |
bool | _is_time_dependent |
Cache whether or not this function is actually time-dependent. More... | |
Private Attributes | |
const MeshfreeInterpolation & | _mfi |
std::vector< Point > | _pts |
std::vector< Number > | _vals |
Threads::spin_mutex & | _mutex |
Definition at line 44 of file meshless_interpolation_function.h.
|
inline |
Constructor.
Requires a MeshlessInterpolation object.
Definition at line 57 of file meshless_interpolation_function.h.
|
inline |
Definition at line 44 of file meshfree_solution_transfer.C.
|
default |
The move/copy ctor and destructor are defaulted for this class.
|
default |
|
virtualdefault |
|
inlinevirtual |
Clears the function.
Reimplemented from libMesh::FunctionBase< Number >.
Definition at line 64 of file meshfree_solution_transfer.C.
|
inlinevirtual |
Clears the function.
Reimplemented from libMesh::FunctionBase< Number >.
Definition at line 137 of file meshless_interpolation_function.h.
|
inlinevirtual |
The new copy should be as "deep" as necessary to allow independent destruction and simultaneous evaluations of the copies in different threads.
Implements libMesh::FunctionBase< Number >.
Definition at line 66 of file meshfree_solution_transfer.C.
|
inlinevirtual |
Returns a new deep copy of the function.
Implements libMesh::FunctionBase< Number >.
Definition at line 145 of file meshless_interpolation_function.h.
|
inlinevirtualinherited |
i
at coordinate p
and time time
.i+1
which will result in unexpected behaviour if operator() makes any access beyond that limit. Reimplemented in TripleFunction, SolutionFunction< dim >, PeriodicQuadFunction, SolutionFunction< dim >, SolutionFunction< dim >, SolutionFunction< dim >, SolutionFunction< dim >, SolutionFunction< dim >, and SolutionFunction< dim >.
Definition at line 232 of file function_base.h.
|
inlinevirtual |
The actual initialization process.
Reimplemented from libMesh::FunctionBase< Number >.
Definition at line 63 of file meshfree_solution_transfer.C.
|
inlinevirtual |
The actual initialization process.
Reimplemented from libMesh::FunctionBase< Number >.
Definition at line 130 of file meshless_interpolation_function.h.
|
inlineinherited |
true
when this object is properly initialized and ready for use, false
otherwise. Definition at line 210 of file function_base.h.
Referenced by libMesh::MeshFunction::disable_out_of_mesh_mode(), libMesh::MeshFunction::discontinuous_gradient(), libMesh::MeshFunction::discontinuous_value(), libMesh::MeshFunction::enable_out_of_mesh_mode(), libMesh::MeshFunction::get_point_locator(), libMesh::MeshFunction::gradient(), libMesh::MeshFunction::hessian(), and libMesh::MeshFunction::operator()().
|
inlineinherited |
true
when the function this object represents is actually time-dependent, false
otherwise. Definition at line 224 of file function_base.h.
|
inlinevirtual |
p
and time time
, which defaults to zero.Pure virtual, so you have to override it.
Implements libMesh::FunctionBase< Number >.
Definition at line 71 of file meshfree_solution_transfer.C.
References _mfi, _mutex, _pts, _vals, libMesh::MeshfreeInterpolation::field_variables(), and libMesh::MeshfreeInterpolation::interpolate_field_data().
|
inlinevirtual |
Implements libMesh::FunctionBase< Number >.
Definition at line 101 of file meshless_interpolation_function.h.
References _mfi, _mutex, _pts, _vals, libMesh::MeshfreeInterpolation::field_variables(), and libMesh::MeshfreeInterpolation::interpolate_field_data().
|
inlinevirtual |
Evaluation function for time-dependent vector-valued functions.
Sets output values in the passed-in output
DenseVector.
Pure virtual, so you have to override it.
Implements libMesh::FunctionBase< Number >.
Definition at line 86 of file meshfree_solution_transfer.C.
References libMesh::DenseVector< T >::resize().
|
inlinevirtual |
Like before, but returns the values in a writable reference.
Implements libMesh::FunctionBase< Number >.
Definition at line 119 of file meshless_interpolation_function.h.
References libMesh::DenseVector< T >::resize().
|
inlineinherited |
Evaluation function for time-independent vector-valued functions.
Sets output values in the passed-in output
DenseVector.
Definition at line 245 of file function_base.h.
|
delete |
This class contains const references so it can't be assigned.
|
delete |
|
inlineinherited |
Function to set whether this is a time-dependent function or not.
This is intended to be only used by subclasses who cannot natively determine time-dependence. In such a case, this function should be used immediately following construction.
Definition at line 217 of file function_base.h.
|
protectedinherited |
When init()
was called so that everything is ready for calls to operator()
(...), then this bool
is true.
Definition at line 184 of file function_base.h.
Referenced by libMesh::MeshFunction::clear(), and libMesh::MeshFunction::init().
|
protectedinherited |
Cache whether or not this function is actually time-dependent.
Definition at line 189 of file function_base.h.
|
protectedinherited |
Const pointer to our master, initialized to nullptr
.
There may be cases where multiple functions are required, but to save memory, one master handles some centralized data.
Definition at line 178 of file function_base.h.
Referenced by libMesh::MeshFunction::clear(), libMesh::MeshFunction::find_element(), and libMesh::MeshFunction::find_elements().
|
private |
Definition at line 47 of file meshless_interpolation_function.h.
Referenced by clone(), and operator()().
|
private |
Definition at line 50 of file meshless_interpolation_function.h.
Referenced by clone(), and operator()().
|
mutableprivate |
Definition at line 48 of file meshless_interpolation_function.h.
Referenced by operator()().
|
mutableprivate |
Definition at line 49 of file meshless_interpolation_function.h.
Referenced by operator()().