11#include <ipc/potentials/barrier_potential.hpp>
12#include <ipc/smooth_contact/smooth_collisions.hpp>
13#include <ipc/smooth_contact/smooth_contact_potential.hpp>
36 std::string
name()
const override {
return "collision barrier"; }
38 double max_step_size(
const Eigen::VectorXd &x0,
const Eigen::VectorXd &x1)
const override;
62 std::shared_ptr<const State> state,
63 const std::vector<int> &boundary_ids,
65 const bool use_log_barrier =
false,
66 const double dmin = 0);
68 std::string
name()
const override {
return "layer thickness"; }
70 double max_step_size(
const Eigen::VectorXd &x0,
const Eigen::VectorXd &x1)
const override {
return 1.; }
85 std::string
name()
const override {
return "deformed_collision_barrier"; }
95 double max_step_size(
const Eigen::VectorXd &x0,
const Eigen::VectorXd &x1)
const override;
120 std::shared_ptr<const State> state,
121 std::shared_ptr<const DiffCache> diff_cache,
Storage for additional data required by differntial code.
main class that contains the polyfem solver and all its state
A collection of VariableToSimulation.