Wildmeshing Toolkit
wmtk::function::PerSimplexFunction Class Referenceabstract

#include <PerSimplexFunction.hpp>

Inheritance diagram for wmtk::function::PerSimplexFunction:
[legend]
Collaboration diagram for wmtk::function::PerSimplexFunction:
[legend]

Public Member Functions

 PerSimplexFunction (const Mesh &mesh, const PrimitiveType primitive_type, const attribute::MeshAttributeHandle &variable_attribute_handle)
 
virtual ~PerSimplexFunction ()
 
virtual double get_value (const simplex::Simplex &domain_simplex) const =0
 This function is defined over a simplex (normally a triangle or tetrahedron). More...
 
virtual Eigen::VectorXd get_gradient (const simplex::Simplex &domain_simplex, const simplex::Simplex &variable_simplex) const
 
virtual Eigen::MatrixXd get_hessian (const simplex::Simplex &domain_simplex, const simplex::Simplex &variable_simplex) const
 
const Meshmesh () const
 
const attribute::MeshAttributeHandleattribute_handle () const
 
int64_t embedded_dimension () const
 

Protected Attributes

const PrimitiveType m_primitive_type
 

Private Attributes

attribute::MeshAttributeHandle m_handle
 
const Meshm_mesh
 

Detailed Description

Definition at line 11 of file PerSimplexFunction.hpp.

Constructor & Destructor Documentation

◆ PerSimplexFunction()

wmtk::function::PerSimplexFunction::PerSimplexFunction ( const Mesh mesh,
const PrimitiveType  primitive_type,
const attribute::MeshAttributeHandle variable_attribute_handle 
)

Definition at line 6 of file PerSimplexFunction.cpp.

References wmtk::attribute::MeshAttributeHandle::holds(), wmtk::attribute::MeshAttributeHandle::is_same_mesh(), m_handle, and m_mesh.

Here is the call graph for this function:

◆ ~PerSimplexFunction()

virtual wmtk::function::PerSimplexFunction::~PerSimplexFunction ( )
inlinevirtual

Definition at line 18 of file PerSimplexFunction.hpp.

Member Function Documentation

◆ attribute_handle()

const attribute::MeshAttributeHandle& wmtk::function::PerSimplexFunction::attribute_handle ( ) const
inline

Definition at line 42 of file PerSimplexFunction.hpp.

References wmtk::attribute::MeshAttributeHandle::is_valid(), and m_handle.

Referenced by embedded_dimension(), wmtk::function::PerSimplexAutodiffFunction::get_coordinates(), and wmtk::function::AMIPS::get_raw_coordinates().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ embedded_dimension()

int64_t wmtk::function::PerSimplexFunction::embedded_dimension ( ) const

Definition at line 19 of file PerSimplexFunction.cpp.

References attribute_handle(), and wmtk::attribute::MeshAttributeHandle::dimension().

Referenced by wmtk::function::TriangleAMIPS::eval(), wmtk::function::PerSimplexAutodiffFunction::get_gradient(), wmtk::function::LocalNeighborsSumFunction::get_gradient(), wmtk::function::PerSimplexAutodiffFunction::get_hessian(), wmtk::function::LocalNeighborsSumFunction::get_hessian(), wmtk::function::AMIPS::get_raw_coordinates(), wmtk::function::PerSimplexAutodiffFunction::get_value(), and wmtk::function::LocalNeighborsSumFunction::get_value().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ get_gradient()

virtual Eigen::VectorXd wmtk::function::PerSimplexFunction::get_gradient ( const simplex::Simplex domain_simplex,
const simplex::Simplex variable_simplex 
) const
inlinevirtual

Reimplemented in wmtk::function::AMIPS, and wmtk::function::PerSimplexAutodiffFunction.

Definition at line 28 of file PerSimplexFunction.hpp.

Referenced by wmtk::function::LocalNeighborsSumFunction::get_gradient().

Here is the caller graph for this function:

◆ get_hessian()

virtual Eigen::MatrixXd wmtk::function::PerSimplexFunction::get_hessian ( const simplex::Simplex domain_simplex,
const simplex::Simplex variable_simplex 
) const
inlinevirtual

Reimplemented in wmtk::function::AMIPS, and wmtk::function::PerSimplexAutodiffFunction.

Definition at line 34 of file PerSimplexFunction.hpp.

Referenced by wmtk::function::LocalNeighborsSumFunction::get_hessian().

Here is the caller graph for this function:

◆ get_value()

virtual double wmtk::function::PerSimplexFunction::get_value ( const simplex::Simplex domain_simplex) const
pure virtual

This function is defined over a simplex (normally a triangle or tetrahedron).

And the domain of the function is represented by the input argument domain_simplex.

Parameters
domain_simplexThe domain that the function is defined over.
Returns
double The numerical value of the function at the input domain.

Implemented in wmtk::function::EdgeValenceEnergy, wmtk::function::AMIPS, and wmtk::function::PerSimplexAutodiffFunction.

Referenced by wmtk::function::LocalNeighborsSumFunction::get_value().

Here is the caller graph for this function:

◆ mesh()

const Mesh& wmtk::function::PerSimplexFunction::mesh ( ) const
inline

Member Data Documentation

◆ m_handle

attribute::MeshAttributeHandle wmtk::function::PerSimplexFunction::m_handle
private

Definition at line 51 of file PerSimplexFunction.hpp.

Referenced by attribute_handle(), and PerSimplexFunction().

◆ m_mesh

const Mesh& wmtk::function::PerSimplexFunction::m_mesh
private

Definition at line 52 of file PerSimplexFunction.hpp.

Referenced by mesh(), and PerSimplexFunction().

◆ m_primitive_type

const PrimitiveType wmtk::function::PerSimplexFunction::m_primitive_type
protected

The documentation for this class was generated from the following files: