Wildmeshing Toolkit
wmtk::operations::AMIPSOptimizationSmoothingPeriodic Class Reference

#include <AMIPSOptimizationSmoothingPeriodic.hpp>

Inheritance diagram for wmtk::operations::AMIPSOptimizationSmoothingPeriodic:
[legend]
Collaboration diagram for wmtk::operations::AMIPSOptimizationSmoothingPeriodic:
[legend]

Classes

class  WMTKAMIPSProblem
 

Public Member Functions

 AMIPSOptimizationSmoothingPeriodic (Mesh &periodic_mesh, Mesh &position_mesh, const attribute::MeshAttributeHandle &coords)
 
std::vector< simplex::Simplexexecute (const simplex::Simplex &simplex) override
 returns an empty vector in case of failure More...
 
const polysolve::jsonlinear_solver_params () const
 
const polysolve::jsonnonlinear_solver_params () const
 
void set_linear_solver_params (const polysolve::json &params)
 
void set_nonlinear_solver_params (const polysolve::json &params)
 
- Public Member Functions inherited from wmtk::operations::AttributesUpdate
 AttributesUpdate (Mesh &m)
 
virtual PrimitiveType primitive_type () const override
 
- Public Member Functions inherited from wmtk::operations::Operation
 Operation (Mesh &mesh)
 
virtual ~Operation ()
 
virtual std::vector< simplex::Simplexoperator() (const simplex::Simplex &simplex)
 
virtual double priority (const simplex::Simplex &simplex) const
 
virtual bool use_random_priority () const
 
virtual bool & use_random_priority ()
 
const Meshmesh () const
 
Meshmesh ()
 
void add_invariant (std::shared_ptr< Invariant > invariant)
 
void set_priority (const std::function< double(const simplex::Simplex &)> &func)
 
std::shared_ptr< const operations::AttributeTransferStrategyBaseget_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
 
Meshm_periodic_mesh
 
Meshm_position_mesh
 
const attribute::MeshAttributeHandlem_coordinate_handle
 
polysolve::json m_linear_solver_params
 
polysolve::json m_nonlinear_solver_params
 
function::AMIPS m_amips
 

Additional Inherited Members

- Protected Member Functions inherited from wmtk::operations::AttributesUpdate
virtual std::vector< simplex::Simplexunmodified_primitives (const simplex::Simplex &simplex) const override
 Returns all simplices that will be potentially affected by the operation. More...
 
- Protected Member Functions inherited from wmtk::operations::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)
 
- Protected Attributes inherited from wmtk::operations::Operation
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
 

Detailed Description

Definition at line 19 of file AMIPSOptimizationSmoothingPeriodic.hpp.

Constructor & Destructor Documentation

◆ AMIPSOptimizationSmoothingPeriodic()

wmtk::operations::AMIPSOptimizationSmoothingPeriodic::AMIPSOptimizationSmoothingPeriodic ( Mesh periodic_mesh,
Mesh position_mesh,
const attribute::MeshAttributeHandle coords 
)

Definition at line 231 of file AMIPSOptimizationSmoothingPeriodic.cpp.

References create_solver(), m_linear_solver_params, and m_nonlinear_solver_params.

Here is the call graph for this function:

Member Function Documentation

◆ create_solver()

void wmtk::operations::AMIPSOptimizationSmoothingPeriodic::create_solver ( )
private

Definition at line 253 of file AMIPSOptimizationSmoothingPeriodic.cpp.

References m_linear_solver_params, m_nonlinear_solver_params, m_solver, and wmtk::opt_logger().

Referenced by AMIPSOptimizationSmoothingPeriodic(), set_linear_solver_params(), and set_nonlinear_solver_params().

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

◆ execute()

◆ linear_solver_params()

const polysolve::json& wmtk::operations::AMIPSOptimizationSmoothingPeriodic::linear_solver_params ( ) const
inline

Definition at line 33 of file AMIPSOptimizationSmoothingPeriodic.hpp.

References m_linear_solver_params.

◆ nonlinear_solver_params()

const polysolve::json& wmtk::operations::AMIPSOptimizationSmoothingPeriodic::nonlinear_solver_params ( ) const
inline

Definition at line 34 of file AMIPSOptimizationSmoothingPeriodic.hpp.

References m_nonlinear_solver_params.

◆ set_linear_solver_params()

void wmtk::operations::AMIPSOptimizationSmoothingPeriodic::set_linear_solver_params ( const polysolve::json params)
inline

Definition at line 37 of file AMIPSOptimizationSmoothingPeriodic.hpp.

References create_solver(), and m_linear_solver_params.

Here is the call graph for this function:

◆ set_nonlinear_solver_params()

void wmtk::operations::AMIPSOptimizationSmoothingPeriodic::set_nonlinear_solver_params ( const polysolve::json params)
inline

Definition at line 43 of file AMIPSOptimizationSmoothingPeriodic.hpp.

References create_solver(), and m_nonlinear_solver_params.

Here is the call graph for this function:

Member Data Documentation

◆ m_amips

function::AMIPS wmtk::operations::AMIPSOptimizationSmoothingPeriodic::m_amips
private

Definition at line 58 of file AMIPSOptimizationSmoothingPeriodic.hpp.

◆ m_coordinate_handle

const attribute::MeshAttributeHandle& wmtk::operations::AMIPSOptimizationSmoothingPeriodic::m_coordinate_handle
private

Definition at line 53 of file AMIPSOptimizationSmoothingPeriodic.hpp.

Referenced by execute().

◆ m_linear_solver_params

polysolve::json wmtk::operations::AMIPSOptimizationSmoothingPeriodic::m_linear_solver_params
private

◆ m_nonlinear_solver_params

polysolve::json wmtk::operations::AMIPSOptimizationSmoothingPeriodic::m_nonlinear_solver_params
private

◆ m_periodic_mesh

Mesh& wmtk::operations::AMIPSOptimizationSmoothingPeriodic::m_periodic_mesh
private

Definition at line 51 of file AMIPSOptimizationSmoothingPeriodic.hpp.

Referenced by execute().

◆ m_position_mesh

Mesh& wmtk::operations::AMIPSOptimizationSmoothingPeriodic::m_position_mesh
private

Definition at line 52 of file AMIPSOptimizationSmoothingPeriodic.hpp.

Referenced by execute().

◆ m_solver

std::shared_ptr<polysolve::nonlinear::Solver> wmtk::operations::AMIPSOptimizationSmoothingPeriodic::m_solver
private

Definition at line 50 of file AMIPSOptimizationSmoothingPeriodic.hpp.

Referenced by create_solver(), and execute().


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