Wildmeshing Toolkit
|
#include <AMIPSOptimizationSmoothing.hpp>
Classes | |
class | WMTKAMIPSProblem |
Public Member Functions | |
AMIPSOptimizationSmoothing (Mesh &mesh, const attribute::MeshAttributeHandle &coords) | |
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< polysolve::nonlinear::Solver > | m_solver |
const attribute::MeshAttributeHandle & | m_coordinate_handle |
polysolve::json | m_linear_solver_params |
polysolve::json | m_nonlinear_solver_params |
function::AMIPS | m_amips |
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 19 of file AMIPSOptimizationSmoothing.hpp.
wmtk::operations::AMIPSOptimizationSmoothing::AMIPSOptimizationSmoothing | ( | Mesh & | mesh, |
const attribute::MeshAttributeHandle & | coords | ||
) |
Definition at line 228 of file AMIPSOptimizationSmoothing.cpp.
References create_solver(), m_linear_solver_params, and m_nonlinear_solver_params.
|
private |
Definition at line 247 of file AMIPSOptimizationSmoothing.cpp.
References m_linear_solver_params, m_nonlinear_solver_params, m_solver, and wmtk::opt_logger().
Referenced by AMIPSOptimizationSmoothing(), 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 257 of file AMIPSOptimizationSmoothing.cpp.
References wmtk::attribute::MeshAttributeHandle::as(), wmtk::simplex::cofaces_single_dimension_simplices(), wmtk::Mesh::create_accessor(), wmtk::attribute::MeshAttributeHandle::dimension(), wmtk::Edge, wmtk::simplex::utils::SimplexComparisons::equal(), wmtk::operations::AttributesUpdate::execute(), wmtk::simplex::faces_single_dimension(), wmtk::Mesh::get_child_meshes(), wmtk::function::AMIPS::get_raw_coordinates(), wmtk::attribute::MeshAttributeHandle::holds(), wmtk::operations::AMIPSOptimizationSmoothing::WMTKAMIPSProblem< S >::initial_value(), wmtk::Mesh::is_ccw(), wmtk::autogen::is_ccw(), wmtk::operations::AMIPSOptimizationSmoothing::WMTKAMIPSProblem< S >::is_step_valid(), m_amips, m_coordinate_handle, m_solver, wmtk::operations::Operation::mesh(), wmtk::Tetrahedron, wmtk::Triangle, wmtk::simplex::Simplex::tuple(), and wmtk::Vertex.
|
inline |
Definition at line 30 of file AMIPSOptimizationSmoothing.hpp.
References m_linear_solver_params.
|
inline |
Definition at line 31 of file AMIPSOptimizationSmoothing.hpp.
References m_nonlinear_solver_params.
|
inline |
Definition at line 34 of file AMIPSOptimizationSmoothing.hpp.
References create_solver(), and m_linear_solver_params.
|
inline |
Definition at line 40 of file AMIPSOptimizationSmoothing.hpp.
References create_solver(), and m_nonlinear_solver_params.
|
private |
Definition at line 54 of file AMIPSOptimizationSmoothing.hpp.
Referenced by execute().
|
private |
Definition at line 48 of file AMIPSOptimizationSmoothing.hpp.
Referenced by execute().
|
private |
Definition at line 51 of file AMIPSOptimizationSmoothing.hpp.
Referenced by AMIPSOptimizationSmoothing(), create_solver(), linear_solver_params(), and set_linear_solver_params().
|
private |
Definition at line 52 of file AMIPSOptimizationSmoothing.hpp.
Referenced by AMIPSOptimizationSmoothing(), create_solver(), nonlinear_solver_params(), and set_nonlinear_solver_params().
|
private |
Definition at line 47 of file AMIPSOptimizationSmoothing.hpp.
Referenced by create_solver(), and execute().