broad_phase_ | polyfem::solver::NormalAdhesionForm | protected |
broad_phase_method_ | polyfem::solver::NormalAdhesionForm | protected |
candidates_ | polyfem::solver::NormalAdhesionForm | protected |
collision_mesh_ | polyfem::solver::NormalAdhesionForm | protected |
collision_set() const | polyfem::solver::NormalAdhesionForm | inline |
collision_set_ | polyfem::solver::NormalAdhesionForm | protected |
compute_displaced_surface(const Eigen::VectorXd &x) const | polyfem::solver::NormalAdhesionForm | |
dhat_a() const | polyfem::solver::NormalAdhesionForm | inline |
dhat_a_ | polyfem::solver::NormalAdhesionForm | protected |
dhat_p() const | polyfem::solver::NormalAdhesionForm | inline |
dhat_p_ | polyfem::solver::NormalAdhesionForm | protected |
disable() | polyfem::solver::Form | inline |
dmin_ | polyfem::solver::NormalAdhesionForm | protected |
enable() | polyfem::solver::Form | inline |
enable_shape_derivatives() const | polyfem::solver::NormalAdhesionForm | inline |
enable_shape_derivatives_ | polyfem::solver::NormalAdhesionForm | protected |
enabled() const | polyfem::solver::Form | inline |
enabled_ | polyfem::solver::Form | protected |
finish() | polyfem::solver::Form | inlinevirtual |
first_derivative(const Eigen::VectorXd &x, Eigen::VectorXd &gradv) const | polyfem::solver::Form | inlinevirtual |
first_derivative_unweighted(const Eigen::VectorXd &x, Eigen::VectorXd &gradv) const override | polyfem::solver::NormalAdhesionForm | protectedvirtual |
force_shape_derivative(const ipc::NormalCollisions &collision_set, const Eigen::MatrixXd &solution, const Eigen::VectorXd &adjoint_sol, Eigen::VectorXd &term) | polyfem::solver::NormalAdhesionForm | virtual |
init(const Eigen::VectorXd &x) override | polyfem::solver::NormalAdhesionForm | virtual |
init_lagging(const Eigen::VectorXd &x) | polyfem::solver::Form | inlinevirtual |
is_project_to_psd() const | polyfem::solver::Form | inline |
is_step_collision_free(const Eigen::VectorXd &x0, const Eigen::VectorXd &x1) const | polyfem::solver::Form | inlinevirtual |
is_step_valid(const Eigen::VectorXd &x0, const Eigen::VectorXd &x1) const | polyfem::solver::Form | inlinevirtual |
is_time_dependent_ | polyfem::solver::NormalAdhesionForm | protected |
line_search_begin(const Eigen::VectorXd &x0, const Eigen::VectorXd &x1) override | polyfem::solver::NormalAdhesionForm | virtual |
line_search_end() override | polyfem::solver::NormalAdhesionForm | virtual |
max_lagging_iterations() const | polyfem::solver::Form | inlinevirtual |
max_step_size(const Eigen::VectorXd &x0, const Eigen::VectorXd &x1) const | polyfem::solver::Form | inlinevirtual |
name() const override | polyfem::solver::NormalAdhesionForm | inlinevirtual |
normal_adhesion_potential() const | polyfem::solver::NormalAdhesionForm | inline |
normal_adhesion_potential_ | polyfem::solver::NormalAdhesionForm | protected |
NormalAdhesionForm(const ipc::CollisionMesh &collision_mesh, const double dhat_p, const double dhat_a, const double Y, const bool is_time_dependent, const bool enable_shape_derivatives, const ipc::BroadPhaseMethod broad_phase_method, const double ccd_tolerance, const int ccd_max_iterations) | polyfem::solver::NormalAdhesionForm | |
output_dir_ | polyfem::solver::Form | protected |
post_step(const polysolve::nonlinear::PostStepData &data) override | polyfem::solver::NormalAdhesionForm | virtual |
prev_distance_ | polyfem::solver::NormalAdhesionForm | protected |
project_to_psd_ | polyfem::solver::Form | protected |
resolve_output_path(const std::string &path) const | polyfem::solver::Form | inlineprotected |
save_ccd_debug_meshes | polyfem::solver::NormalAdhesionForm | |
scale_ | polyfem::solver::Form | private |
second_derivative(const Eigen::VectorXd &x, StiffnessMatrix &hessian) const | polyfem::solver::Form | inline |
second_derivative_unweighted(const Eigen::VectorXd &x, StiffnessMatrix &hessian) const override | polyfem::solver::NormalAdhesionForm | protectedvirtual |
set_enabled(const bool enabled) | polyfem::solver::Form | inline |
set_output_dir(const std::string &output_dir) | polyfem::solver::Form | inline |
set_project_to_psd(bool val) | polyfem::solver::Form | inline |
set_scale(const double scale) | polyfem::solver::Form | inlinevirtual |
set_weight(const double weight) | polyfem::solver::Form | inline |
solution_changed(const Eigen::VectorXd &new_x) override | polyfem::solver::NormalAdhesionForm | virtual |
tight_inclusion_ccd_ | polyfem::solver::NormalAdhesionForm | protected |
update_collision_set(const Eigen::MatrixXd &displaced_surface) | polyfem::solver::NormalAdhesionForm | protected |
update_lagging(const Eigen::VectorXd &x, const int iter_num) | polyfem::solver::Form | inlinevirtual |
update_quantities(const double t, const Eigen::VectorXd &x) override | polyfem::solver::NormalAdhesionForm | virtual |
use_cached_candidates_ | polyfem::solver::NormalAdhesionForm | protected |
uses_lagging() const | polyfem::solver::Form | inlinevirtual |
value(const Eigen::VectorXd &x) const | polyfem::solver::Form | inlinevirtual |
value_per_element(const Eigen::VectorXd &x) const | polyfem::solver::Form | inline |
value_per_element_unweighted(const Eigen::VectorXd &x) const override | polyfem::solver::NormalAdhesionForm | protectedvirtual |
value_unweighted(const Eigen::VectorXd &x) const override | polyfem::solver::NormalAdhesionForm | protectedvirtual |
weight() const | polyfem::solver::Form | inlinevirtual |
weight_ | polyfem::solver::Form | protected |
Y() const | polyfem::solver::NormalAdhesionForm | inline |
Y_ | polyfem::solver::NormalAdhesionForm | protected |
~Form() | polyfem::solver::Form | inlinevirtual |
~NormalAdhesionForm()=default | polyfem::solver::NormalAdhesionForm | virtual |