9#include <ipc/collision_mesh.hpp>
10#include <ipc/friction/friction_collisions.hpp>
11#include <ipc/potentials/friction_potential.hpp>
31 const ipc::CollisionMesh &collision_mesh,
32 const std::shared_ptr<time_integrator::ImplicitTimeIntegrator> time_integrator,
35 const ipc::BroadPhaseMethod broad_phase_method,
37 const int n_lagging_iters);
39 std::string
name()
const override {
return "friction"; }
41 void force_shape_derivative(
const Eigen::MatrixXd &prev_solution,
const Eigen::MatrixXd &solution,
const Eigen::MatrixXd &adjoint,
const ipc::FrictionCollisions &friction_constraints_set, Eigen::VectorXd &term);
66 void update_lagging(
const Eigen::VectorXd &
x,
const int iter_num)
override;
86 double mu()
const {
return mu_; }
Eigen::SparseMatrix< double, Eigen::ColMajor > StiffnessMatrix