18 #ifndef SOLUTION_FUNCTION_H 19 #define SOLUTION_FUNCTION_H 22 #include "libmesh/function_base.h" 41 { libmesh_not_implemented(); }
43 virtual void operator() (
const Point & p,
48 output(0) = soln(p)(0);
49 output(1) = soln(p)(1);
50 output(2) = soln(p)(2);
58 (*this)(p, 0, outvec);
59 return outvec(component_in);
62 virtual std::unique_ptr<FunctionBase<Number>>
clone()
const 63 {
return std::make_unique<SolutionFunction>(); }
78 { libmesh_not_implemented(); }
80 virtual void operator() (
const Point & p,
85 output(0) = soln.grad(p).row(0);
86 output(1) = soln.grad(p).row(1);
87 output(2) = soln.grad(p).row(2);
95 (*this)(p, 0, outvec);
96 return outvec(component_in);
99 virtual std::unique_ptr<FunctionBase<Gradient>>
clone()
const 100 {
return std::make_unique<SolutionGradient>(); }
107 #endif // SOLUTION_FUNCTION_H virtual Number component(unsigned int component_in, const Point &p, const Real)
virtual std::unique_ptr< FunctionBase< Gradient > > clone() const
virtual void zero() override final
Set every element in the vector to 0.
virtual std::unique_ptr< FunctionBase< Number > > clone() const
virtual Gradient component(unsigned int component_in, const Point &p, const Real)
This class defines a vector in LIBMESH_DIM dimensional Real or Complex space.
The libMesh namespace provides an interface to certain functionality in the library.
GradDivExactSolution soln
GradDivExactSolution soln
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
Base class for functors that can be evaluated at a point and (optionally) time.
A Point defines a location in LIBMESH_DIM dimensional Real space.