Wildmeshing Toolkit
wmtk::function::AMIPS Class Reference

#include <AMIPS.hpp>

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

Public Member Functions

 AMIPS (const Mesh &mesh, const attribute::MeshAttributeHandle &attribute_handle)
 Construct a new AMIPS function. More...
 
 ~AMIPS ()
 
double get_value (const simplex::Simplex &domain_simplex) const override
 This function is defined over a simplex (normally a triangle or tetrahedron). More...
 
Eigen::VectorXd get_gradient (const simplex::Simplex &domain_simplex, const simplex::Simplex &variable_simplex) const override
 
Eigen::MatrixXd get_hessian (const simplex::Simplex &domain_simplex, const simplex::Simplex &variable_simplex) const override
 
template<int64_t NV, int64_t DIM>
std::array< double, NV *DIM > get_raw_coordinates (const simplex::Simplex &domain_simplex, const std::optional< simplex::Simplex > &variable_simplex={}) const
 
- Public Member Functions inherited from wmtk::function::PerSimplexFunction
 PerSimplexFunction (const Mesh &mesh, const PrimitiveType primitive_type, const attribute::MeshAttributeHandle &variable_attribute_handle)
 
virtual ~PerSimplexFunction ()
 
const Meshmesh () const
 
const attribute::MeshAttributeHandleattribute_handle () const
 
int64_t embedded_dimension () const
 

Additional Inherited Members

- Protected Attributes inherited from wmtk::function::PerSimplexFunction
const PrimitiveType m_primitive_type
 

Detailed Description

Definition at line 19 of file AMIPS.hpp.

Constructor & Destructor Documentation

◆ AMIPS()

wmtk::function::AMIPS::AMIPS ( const Mesh mesh,
const attribute::MeshAttributeHandle attribute_handle 
)

Construct a new AMIPS function.

Parameters
mesh
attribute_handleThe handle to the attribute that differentiation is with respect to

Definition at line 682 of file AMIPS.cpp.

References wmtk::Vertex.

◆ ~AMIPS()

wmtk::function::AMIPS::~AMIPS ( )
inline

Definition at line 30 of file AMIPS.hpp.

Member Function Documentation

◆ get_gradient()

Eigen::VectorXd wmtk::function::AMIPS::get_gradient ( const simplex::Simplex domain_simplex,
const simplex::Simplex variable_simplex 
) const
overridevirtual

Reimplemented from wmtk::function::PerSimplexFunction.

Definition at line 703 of file AMIPS.cpp.

References wmtk::simplex::Simplex::primitive_type(), wmtk::function::Tet_AMIPS_jacobian(), wmtk::Tetrahedron, wmtk::function::Tri_AMIPS_jacobian(), and wmtk::Triangle.

Here is the call graph for this function:

◆ get_hessian()

Eigen::MatrixXd wmtk::function::AMIPS::get_hessian ( const simplex::Simplex domain_simplex,
const simplex::Simplex variable_simplex 
) const
overridevirtual

Reimplemented from wmtk::function::PerSimplexFunction.

Definition at line 719 of file AMIPS.cpp.

References wmtk::simplex::Simplex::primitive_type(), wmtk::function::Tet_AMIPS_hessian(), wmtk::Tetrahedron, wmtk::function::Tri_AMIPS_hessian(), and wmtk::Triangle.

Here is the call graph for this function:

◆ get_raw_coordinates()

template<int64_t NV, int64_t DIM>
std::array< double, NV *DIM > wmtk::function::AMIPS::get_raw_coordinates ( const simplex::Simplex domain_simplex,
const std::optional< simplex::Simplex > &  variable_simplex = {} 
) const

Definition at line 638 of file AMIPS.cpp.

References wmtk::function::PerSimplexFunction::attribute_handle(), wmtk::Mesh::create_const_accessor(), wmtk::function::PerSimplexFunction::embedded_dimension(), wmtk::function::utils::get_simplex_attributes(), wmtk::function::PerSimplexFunction::m_primitive_type, wmtk::function::PerSimplexFunction::mesh(), and wmtk::simplex::Simplex::tuple().

Referenced by wmtk::operations::AMIPSOptimizationSmoothing::execute().

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

◆ get_value()

double wmtk::function::AMIPS::get_value ( const simplex::Simplex domain_simplex) const
overridevirtual

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.

Implements wmtk::function::PerSimplexFunction.

Definition at line 687 of file AMIPS.cpp.

References wmtk::simplex::Simplex::primitive_type(), wmtk::function::Tet_AMIPS_energy(), wmtk::Tetrahedron, wmtk::function::Tri_AMIPS_energy(), and wmtk::Triangle.

Here is the call graph for this function:

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