16 , m_function(function)
32 const auto neighs =
domain(variable_simplex);
51 const auto neighs =
domain(variable_simplex);
70 const auto neighs =
domain(variable_simplex);
PrimitiveType top_simplex_type() const
int64_t embedded_dimension() const
PrimitiveType attribute_type() const
double get_value(const simplex::Simplex &variable_simplex) const override
collects the local neigh and call the same m_function on all simplicies
PerSimplexFunction & m_function
Eigen::MatrixXd get_hessian(const simplex::Simplex &variable_simplex) const override
get_hessian evaluates the hessian of the function f(x) defined wrt the variable x.
Eigen::VectorXd get_gradient(const simplex::Simplex &variable_simplex) const override
get_gradient collects the local neigh and call the gradient of m_function on all simplicies
PrimitiveType m_domain_simplex_type
std::vector< simplex::Simplex > domain(const simplex::Simplex &variable_simplex) const override
LocalNeighborsSumFunction(Mesh &mesh, const attribute::MeshAttributeHandle &handle, PerSimplexFunction &function)
virtual Eigen::VectorXd get_gradient(const simplex::Simplex &domain_simplex, const simplex::Simplex &variable_simplex) const
int64_t embedded_dimension() const
const Mesh & mesh() const
virtual double get_value(const simplex::Simplex &domain_simplex) const =0
This function is defined over a simplex (normally a triangle or tetrahedron).
virtual Eigen::MatrixXd get_hessian(const simplex::Simplex &domain_simplex, const simplex::Simplex &variable_simplex) const
PrimitiveType primitive_type() const
std::vector< Simplex > cofaces_single_dimension_simplices(const Mesh &mesh, const Simplex &simplex, PrimitiveType cofaces_type)