Wildmeshing Toolkit
|
#include <AMIPS.hpp>
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 Mesh & | mesh () const |
const attribute::MeshAttributeHandle & | attribute_handle () const |
int64_t | embedded_dimension () const |
Additional Inherited Members | |
Protected Attributes inherited from wmtk::function::PerSimplexFunction | |
const PrimitiveType | m_primitive_type |
wmtk::function::AMIPS::AMIPS | ( | const Mesh & | mesh, |
const attribute::MeshAttributeHandle & | attribute_handle | ||
) |
Construct a new AMIPS function.
mesh | |
attribute_handle | The handle to the attribute that differentiation is with respect to |
Definition at line 682 of file AMIPS.cpp.
References wmtk::Vertex.
|
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.
|
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.
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().
|
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.
domain_simplex | The domain that the function is defined over. |
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.