Wildmeshing Toolkit
|
#include <OptimizationSmoothing.hpp>
Classes | |
class | WMTKProblem |
Public Member Functions | |
OptimizationSmoothing (std::shared_ptr< wmtk::function::Function > energy) | |
std::vector< simplex::Simplex > | execute (const simplex::Simplex &simplex) override |
returns an empty vector in case of failure | |
const polysolve::json & | linear_solver_params () const |
const polysolve::json & | nonlinear_solver_params () const |
void | set_linear_solver_params (const polysolve::json ¶ms) |
void | set_nonlinear_solver_params (const polysolve::json ¶ms) |
![]() | |
AttributesUpdate (Mesh &m) | |
virtual PrimitiveType | primitive_type () const override |
![]() | |
Operation (Mesh &mesh) | |
virtual | ~Operation () |
virtual std::vector< simplex::Simplex > | operator() (const simplex::Simplex &simplex) |
virtual double | priority (const simplex::Simplex &simplex) const |
virtual bool | use_random_priority () const |
virtual bool & | use_random_priority () |
const Mesh & | mesh () const |
Mesh & | mesh () |
void | add_invariant (std::shared_ptr< Invariant > invariant) |
void | set_priority (const std::function< double(const simplex::Simplex &)> &func) |
std::shared_ptr< const operations::AttributeTransferStrategyBase > | get_transfer_strategy (const attribute::MeshAttributeHandle &attribute) |
void | add_transfer_strategy (const std::shared_ptr< const operations::AttributeTransferStrategyBase > &other) |
void | set_transfer_strategy (const attribute::MeshAttributeHandle &attribute, const std::shared_ptr< const operations::AttributeTransferStrategyBase > &other) |
void | clear_attribute_transfer_strategies () |
virtual void | reserve_enough_simplices () |
Private Member Functions | |
void | create_solver () |
Private Attributes | |
std::shared_ptr< wmtk::function::Function > | m_energy |
std::shared_ptr< polysolve::nonlinear::Solver > | m_solver |
polysolve::json | m_linear_solver_params |
polysolve::json | m_nonlinear_solver_params |
Additional Inherited Members | |
![]() | |
virtual std::vector< simplex::Simplex > | unmodified_primitives (const simplex::Simplex &simplex) const override |
Returns all simplices that will be potentially affected by the operation. | |
![]() | |
virtual bool | before (const simplex::Simplex &simplex) const |
virtual bool | after (const std::vector< simplex::Simplex > &unmods, const std::vector< simplex::Simplex > &mods) const |
void | apply_attribute_transfer (const std::vector< simplex::Simplex > &direct_mods) |
![]() | |
std::function< double(const simplex::Simplex &)> | m_priority = nullptr |
invariants::InvariantCollection | m_invariants |
std::vector< std::shared_ptr< const operations::AttributeTransferStrategyBase > > | m_attr_transfer_strategies |
Definition at line 18 of file OptimizationSmoothing.hpp.
wmtk::operations::OptimizationSmoothing::OptimizationSmoothing | ( | std::shared_ptr< wmtk::function::Function > | energy | ) |
Definition at line 158 of file OptimizationSmoothing.cpp.
References create_solver(), m_linear_solver_params, and m_nonlinear_solver_params.
|
private |
Definition at line 168 of file OptimizationSmoothing.cpp.
References m_linear_solver_params, m_nonlinear_solver_params, m_solver, and wmtk::opt_logger().
Referenced by OptimizationSmoothing(), set_linear_solver_params(), and set_nonlinear_solver_params().
|
overridevirtual |
returns an empty vector in case of failure
Reimplemented from wmtk::operations::AttributesUpdate.
Definition at line 178 of file OptimizationSmoothing.cpp.
References wmtk::Mesh::create_accessor(), wmtk::operations::AttributesUpdate::execute(), wmtk::operations::OptimizationSmoothing::WMTKProblem< T >::initial_value(), m_energy, wmtk::operations::Operation::m_invariants, m_solver, wmtk::operations::Operation::mesh(), and wmtk::simplex::Simplex::tuple().
|
inline |
Definition at line 29 of file OptimizationSmoothing.hpp.
References m_linear_solver_params.
|
inline |
Definition at line 30 of file OptimizationSmoothing.hpp.
References m_nonlinear_solver_params.
|
inline |
Definition at line 33 of file OptimizationSmoothing.hpp.
References create_solver(), and m_linear_solver_params.
|
inline |
Definition at line 39 of file OptimizationSmoothing.hpp.
References create_solver(), and m_nonlinear_solver_params.
|
private |
Definition at line 46 of file OptimizationSmoothing.hpp.
Referenced by execute(), wmtk::operations::OptimizationSmoothing::WMTKProblem< T >::gradient(), wmtk::operations::OptimizationSmoothing::WMTKProblem< T >::hessian(), wmtk::operations::OptimizationSmoothing::WMTKProblem< T >::is_step_valid(), and wmtk::operations::OptimizationSmoothing::WMTKProblem< T >::value().
|
private |
Definition at line 50 of file OptimizationSmoothing.hpp.
Referenced by create_solver(), linear_solver_params(), OptimizationSmoothing(), and set_linear_solver_params().
|
private |
Definition at line 51 of file OptimizationSmoothing.hpp.
Referenced by create_solver(), nonlinear_solver_params(), OptimizationSmoothing(), and set_nonlinear_solver_params().
|
private |
Definition at line 47 of file OptimizationSmoothing.hpp.
Referenced by create_solver(), and execute().