32 throw std::runtime_error(
"Gradient not implemented");
38 throw std::runtime_error(
"Hessian not implemented");
virtual Eigen::VectorXd get_gradient(const simplex::Simplex &domain_simplex, const simplex::Simplex &variable_simplex) const
const attribute::MeshAttributeHandle & attribute_handle() 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).
PerSimplexFunction(const Mesh &mesh, const PrimitiveType primitive_type, const attribute::MeshAttributeHandle &variable_attribute_handle)
attribute::MeshAttributeHandle m_handle
virtual Eigen::MatrixXd get_hessian(const simplex::Simplex &domain_simplex, const simplex::Simplex &variable_simplex) const
const PrimitiveType m_primitive_type
virtual ~PerSimplexFunction()