Wildmeshing Toolkit
Loading...
Searching...
No Matches
AMIPSOptimizationSmoothing.hpp
Go to the documentation of this file.
1#pragma once
2
3#include <polysolve/Types.hpp>
7
8
10class Solver;
11}
12
13namespace wmtk::function {
14class Function;
15}
16
17namespace wmtk::operations {
18
20{
21private:
22 template <int S>
23 class WMTKAMIPSProblem;
24
25public:
27
28 std::vector<simplex::Simplex> execute(const simplex::Simplex& simplex) override;
29
30 const polysolve::json& linear_solver_params() const { return m_linear_solver_params; }
31 const polysolve::json& nonlinear_solver_params() const { return m_nonlinear_solver_params; }
32
33
34 void set_linear_solver_params(const polysolve::json& params)
35 {
38 }
39
40 void set_nonlinear_solver_params(const polysolve::json& params)
41 {
44 }
45
46private:
47 std::shared_ptr<polysolve::nonlinear::Solver> m_solver;
49
50
51 polysolve::json m_linear_solver_params;
53
55
56 void create_solver();
57};
58
59} // namespace wmtk::operations
void set_linear_solver_params(const polysolve::json &params)
std::vector< simplex::Simplex > execute(const simplex::Simplex &simplex) override
returns an empty vector in case of failure
std::shared_ptr< polysolve::nonlinear::Solver > m_solver
const attribute::MeshAttributeHandle & m_coordinate_handle
void set_nonlinear_solver_params(const polysolve::json &params)
const Mesh & mesh() const
Definition Operation.hpp:45