20 #ifndef LIBMESH_MESH_FUNCTION_H 21 #define LIBMESH_MESH_FUNCTION_H 40 template <
typename T>
class DenseVector;
41 class EquationSystems;
42 template <
typename T>
class NumericVector;
44 class PointLocatorBase;
69 const std::vector<unsigned int> & vars,
83 const unsigned int var,
121 virtual void clear ()
override;
132 virtual std::unique_ptr<FunctionBase<Number>>
clone ()
const override;
139 const Real time=0.)
override;
168 #ifdef LIBMESH_ENABLE_SECOND_DERIVATIVES 195 const std::set<subdomain_id_type> * subdomain_ids);
214 const std::set<subdomain_id_type> * subdomain_ids);
224 std::vector<Gradient> & output,
225 const std::set<subdomain_id_type> * subdomain_ids =
nullptr);
234 std::map<
const Elem *, std::vector<Gradient>> & output);
243 std::map<
const Elem *, std::vector<Gradient>> & output,
244 const std::set<subdomain_id_type> * subdomain_ids);
254 std::vector<Tensor> & output,
255 const std::set<subdomain_id_type> * subdomain_ids =
nullptr);
313 const std::set<subdomain_id_type> * subdomain_ids =
nullptr)
const;
322 const std::set<subdomain_id_type> * subdomain_ids =
nullptr)
const;
376 #endif // LIBMESH_MESH_FUNCTION_H Manages multiples systems of equations.
const EquationSystems & _eqn_systems
virtual std::unique_ptr< FunctionBase< Number > > clone() const override
const NumericVector< Number > & _vector
PointLocatorBase * _point_locator
MeshFunction & operator=(const MeshFunction &)=delete
MeshFunction(const EquationSystems &eqn_systems, const NumericVector< Number > &vec, const DofMap &dof_map, const std::vector< unsigned int > &vars, const FunctionBase< Number > *master=nullptr)
const Elem * find_element(const Point &p, const std::set< subdomain_id_type > *subdomain_ids=nullptr) const
The base class for all geometric element types.
Gradient gradient(const Point &p, const Real time=0.)
void disable_out_of_mesh_mode(void)
Manages the degrees of freedom (DOFs) in a simulation.
DenseVector< Number > _out_of_mesh_value
void enable_out_of_mesh_mode(const DenseVector< Number > &value)
virtual void clear() override
std::set< const Elem * > find_elements(const Point &p, const std::set< subdomain_id_type > *subdomain_ids=nullptr) const
std::map< const Elem *, Number > discontinuous_value(const Point &p, const Real time=0.)
void unset_point_locator_tolerance()
An object whose state is distributed along a set of processors.
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
const PointLocatorBase & get_point_locator(void) const
Number operator()(const Point &p, const Real time=0.) override
BuildType
Base class for different Tree types.
void set_point_locator_tolerance(Real tol)
Base class for functors that can be evaluated at a point and (optionally) time.
std::map< const Elem *, Gradient > discontinuous_gradient(const Point &p, const Real time=0.)
A geometric point in (x,y,z) space.
Tensor hessian(const Point &p, const Real time=0.)
virtual void init() override
const std::vector< unsigned int > _system_vars