39 const libMesh::NumericVector<Real>& sol,
40 const libMesh::NumericVector<Real>& dsol) {
61 val = RealVectorX::Zero(1),
62 grad = RealVectorX::Zero(
_dim),
63 dval = RealVectorX::Zero(1);
66 gradmat = RealMatrixX::Zero(1,
_dim);
84 grad = gradmat.row(0);
96 v = -dval(0)/grad.squaredNorm()*grad;
virtual void gradient(const libMesh::Point &p, const Real t, RealMatrixX &g) const
calculates the gradient of value of the function at the specified point, p, and time, t, and returns it in g.
virtual void perturbation(const libMesh::Point &p, const Real t, RealVectorX &v) const
calculates the value of perturbation in the function at the specified point, p, and time...
This provides a wrapper FieldFunction compatible class that interpolates the solution using libMesh's...
virtual ~LevelSetBoundaryVelocity()
void init(MAST::SystemInitialization &sys, const libMesh::NumericVector< Real > &sol, const libMesh::NumericVector< Real > &dsol)
LevelSetBoundaryVelocity(const unsigned int dim)
Matrix< Real, Dynamic, Dynamic > RealMatrixX
This creates the base class for functions that have a saptial and temporal dependence, and provide sensitivity operations with respect to the functions and parameters.
void clear()
clear the solution
Matrix< Real, Dynamic, 1 > RealVectorX
void init(const libMesh::NumericVector< Real > &sol, const libMesh::NumericVector< Real > *dsol=nullptr)
initializes the data structures to perform the interpolation function of sol.
MAST::MeshFieldFunction * _phi
virtual void operator()(const libMesh::Point &p, const Real t, RealVectorX &v) const
calculates the value of the function at the specified point, p, and time, t, and returns it in v...