6#include <polysolve/nonlinear/PostStepData.hpp>
8#include <ipc/broad_phase/broad_phase.hpp>
9#include <ipc/broad_phase/create_broad_phase.hpp>
10#include <ipc/candidates/candidates.hpp>
11#include <ipc/ccd/tight_inclusion_ccd.hpp>
12#include <ipc/collisions/normal/normal_collisions.hpp>
13#include <ipc/collision_mesh.hpp>
14#include <ipc/potentials/normal_adhesion_potential.hpp>
40 const bool is_time_dependent,
42 const ipc::BroadPhaseMethod broad_phase_method,
43 const double ccd_tolerance,
44 const int ccd_max_iterations);
47 std::string
name()
const override {
return "normal adhesion"; }
51 void init(
const Eigen::VectorXd &
x)
override;
83 void line_search_begin(
const Eigen::VectorXd &x0,
const Eigen::VectorXd &x1)
override;
95 void post_step(
const polysolve::nonlinear::PostStepData &data)
override;
107 double Y()
const {
return Y_; }
Eigen::SparseMatrix< double, Eigen::ColMajor > StiffnessMatrix