libMesh
|
#include <fdm_gradient.h>
Public Types | |
typedef TensorTools::DecrementRank< GradType >::type | ValType |
Public Member Functions | |
FDMGradient (FEMFunctionBase< ValType > &value_func, Real eps) | |
virtual void | init_context (const FEMContext &c) override |
Prepares a context object for use. More... | |
virtual std::unique_ptr< FEMFunctionBase< GradType > > | clone () const override |
virtual GradType | operator() (const FEMContext &c, const Point &p, const Real time=0.) override |
virtual void | operator() (const FEMContext &c, const Point &p, const Real time, DenseVector< GradType > &output) override |
Evaluation function for time-dependent vector-valued functions. More... | |
virtual GradType | component (const FEMContext &c, unsigned int i, const Point &p, Real time) override |
virtual void | init () |
Any post-construction initialization. More... | |
void | operator() (const FEMContext &, const Point &p, DenseVector< GradType > &output) |
Evaluation function for time-independent vector-valued functions. More... | |
Private Attributes | |
std::unique_ptr< FEMFunctionBase< ValType > > | _val_func |
Real | _eps |
Definition at line 30 of file fdm_gradient.h.
typedef TensorTools::DecrementRank<GradType>::type libMesh::FDMGradient< GradType >::ValType |
Definition at line 33 of file fdm_gradient.h.
|
inline |
Definition at line 35 of file fdm_gradient.h.
|
inlineoverridevirtual |
The new copy should be as "deep" as necessary to allow independent destruction and simultaneous evaluations of the copies in different threads.
Implements libMesh::FEMFunctionBase< GradType >.
Definition at line 43 of file fdm_gradient.h.
References libMesh::FDMGradient< GradType >::_eps, and libMesh::FDMGradient< GradType >::_val_func.
|
inlineoverridevirtual |
i
at coordinate p
and time time
.Reimplemented from libMesh::FEMFunctionBase< GradType >.
Definition at line 118 of file fdm_gradient.h.
References libMesh::FDMGradient< GradType >::_eps, libMesh::FDMGradient< GradType >::_val_func, and libMesh::Real.
|
inlinevirtualinherited |
|
inlineoverridevirtual |
Prepares a context object for use.
Most problems will want to reimplement this for efficiency, in order to call FE::get_*() as their particular function requires.
Reimplemented from libMesh::FEMFunctionBase< GradType >.
Definition at line 40 of file fdm_gradient.h.
References libMesh::FDMGradient< GradType >::_val_func.
|
inlineoverridevirtual |
p
and time time
, which defaults to zero.Pure virtual, so you have to override it.
Implements libMesh::FEMFunctionBase< GradType >.
Definition at line 46 of file fdm_gradient.h.
References libMesh::FDMGradient< GradType >::_eps, libMesh::FDMGradient< GradType >::_val_func, and libMesh::Real.
|
inlineoverridevirtual |
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::FEMFunctionBase< GradType >.
Definition at line 70 of file fdm_gradient.h.
References libMesh::FDMGradient< GradType >::_eps, libMesh::FDMGradient< GradType >::_val_func, libMesh::make_range(), and libMesh::DenseVector< T >::size().
|
inlineinherited |
Evaluation function for time-independent vector-valued functions.
Sets output values in the passed-in output
DenseVector.
Definition at line 149 of file fem_function_base.h.
|
private |
Definition at line 147 of file fdm_gradient.h.
Referenced by libMesh::FDMGradient< GradType >::clone(), libMesh::FDMGradient< GradType >::component(), and libMesh::FDMGradient< GradType >::operator()().
|
private |
Definition at line 145 of file fdm_gradient.h.
Referenced by libMesh::FDMGradient< GradType >::clone(), libMesh::FDMGradient< GradType >::component(), libMesh::FDMGradient< GradType >::init_context(), and libMesh::FDMGradient< GradType >::operator()().