7#include <ipc/collisions/tangential/tangential_collisions.hpp>
8#include <ipc/potentials/tangential_adhesion_potential.hpp>
14 const Eigen::MatrixXd &prev_solution,
15 const Eigen::MatrixXd &solution,
16 const Eigen::MatrixXd &adjoint,
17 const ipc::TangentialCollisions &tangential_constraints_set,
18 Eigen::VectorXd &term)
24 const Eigen::MatrixXd velocities = (U - U_prev) / form.
time_integrator_->dt();
27 tangential_constraints_set,
32 ipc::TangentialPotential::DiffWRT::REST_POSITIONS);
static void force_shape_derivative(TangentialAdhesionForm &form, const Eigen::MatrixXd &prev_solution, const Eigen::MatrixXd &solution, const Eigen::MatrixXd &adjoint, const ipc::TangentialCollisions &tangential_constraints_set, Eigen::VectorXd &term)
Eigen::MatrixXd unflatten(const Eigen::VectorXd &x, int dim)
Unflatten rowwises, so every dim elements in x become a row.
Eigen::SparseMatrix< double, Eigen::ColMajor > StiffnessMatrix