18#ifndef SOLUTION_FUNCTION_H
19#define SOLUTION_FUNCTION_H
22#include "libmesh/function_base.h"
25#include "curl_curl_exact_solution.h"
42 { libmesh_not_implemented(); }
49 const Real x=p(0), y=p(1), z=p(2);
61 const Real x=p(0), y=p(1), z=p(2);
62 return soln(x, y, z)(component_in);
65 virtual std::unique_ptr<FunctionBase<Number>>
clone()
const
66 {
return std::make_unique<SolutionFunction>(
_u_var); }
84 { libmesh_not_implemented(); }
91 const Real x=p(0), y=p(1), z=p(2);
101 const Real x=p(0), y=p(1), z=p(2);
105 virtual std::unique_ptr<FunctionBase<Gradient>>
clone()
const
106 {
return std::make_unique<SolutionGradient>(
_u_var); }
110 const unsigned int _u_var;
virtual Number operator()(const Point &, const Real=0)
virtual std::unique_ptr< FunctionBase< Number > > clone() const
const unsigned int _u_var
SolutionFunction(const unsigned int u_var)
GradDivExactSolution soln
virtual Number component(unsigned int component_in, const Point &p, const Real)
~SolutionFunction()=default
const unsigned int _u_var
~SolutionGradient()=default
GradDivExactSolution soln
SolutionGradient(const unsigned int u_var)
virtual Gradient component(unsigned int component_in, const Point &p, const Real)
virtual Gradient operator()(const Point &, const Real=0)
virtual std::unique_ptr< FunctionBase< Gradient > > clone() const
Defines a dense vector for use in Finite Element-type computations.
virtual void zero() override final
Set every element in the vector to 0.
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.
TypeVector< T > row(const unsigned int r) const
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.
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real