avg_mass_ | polyfem::solver::ContactForm | protected |
barrier_potential() const | polyfem::solver::ContactForm | inline |
barrier_potential_ | polyfem::solver::ContactForm | protected |
barrier_stiffness() const | polyfem::solver::ContactForm | inline |
barrier_stiffness_ | polyfem::solver::ContactForm | protected |
broad_phase_method_ | polyfem::solver::ContactForm | protected |
candidates_ | polyfem::solver::ContactForm | protected |
ccd_max_iterations_ | polyfem::solver::ContactForm | protected |
ccd_tolerance_ | polyfem::solver::ContactForm | protected |
collision_mesh_ | polyfem::solver::ContactForm | protected |
collision_set() const | polyfem::solver::ContactForm | inline |
collision_set_ | polyfem::solver::ContactForm | protected |
compute_displaced_surface(const Eigen::VectorXd &x) const | polyfem::solver::ContactForm | |
ContactForm(const ipc::CollisionMesh &collision_mesh, const double dhat, const double avg_mass, const bool use_convergent_formulation, const bool use_adaptive_barrier_stiffness, 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::ContactForm | |
dhat() const | polyfem::solver::ContactForm | inline |
dhat_ | polyfem::solver::ContactForm | protected |
disable() | polyfem::solver::Form | inline |
dmin_ | polyfem::solver::ContactForm | protected |
enable() | polyfem::solver::Form | inline |
enable_shape_derivatives() const | polyfem::solver::ContactForm | inline |
enable_shape_derivatives_ | polyfem::solver::ContactForm | protected |
enabled() const | polyfem::solver::Form | inline |
enabled_ | polyfem::solver::Form | protected |
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::PeriodicContactForm | protectedvirtual |
force_periodic_shape_derivative(const State &state, const PeriodicMeshToMesh &periodic_mesh_map, const Eigen::VectorXd &periodic_mesh_representation, const ipc::Collisions &contact_set, const Eigen::VectorXd &solution, const Eigen::VectorXd &adjoint_sol, Eigen::VectorXd &term) | polyfem::solver::PeriodicContactForm | |
force_shape_derivative(const ipc::Collisions &collision_set, const Eigen::MatrixXd &solution, const Eigen::VectorXd &adjoint_sol, Eigen::VectorXd &term) | polyfem::solver::ContactForm | virtual |
init(const Eigen::VectorXd &x) override | polyfem::solver::PeriodicContactForm | 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 override | polyfem::solver::PeriodicContactForm | virtual |
is_step_valid(const Eigen::VectorXd &x0, const Eigen::VectorXd &x1) const | polyfem::solver::Form | inlinevirtual |
is_time_dependent_ | polyfem::solver::ContactForm | protected |
line_search_begin(const Eigen::VectorXd &x0, const Eigen::VectorXd &x1) override | polyfem::solver::PeriodicContactForm | virtual |
line_search_end() override | polyfem::solver::ContactForm | virtual |
max_barrier_stiffness_ | polyfem::solver::ContactForm | protected |
max_lagging_iterations() const | polyfem::solver::Form | inlinevirtual |
max_step_size(const Eigen::VectorXd &x0, const Eigen::VectorXd &x1) const override | polyfem::solver::PeriodicContactForm | virtual |
n_single_dof_ | polyfem::solver::PeriodicContactForm | private |
name() const override | polyfem::solver::ContactForm | inlinevirtual |
output_dir_ | polyfem::solver::Form | protected |
PeriodicContactForm(const ipc::CollisionMesh &periodic_collision_mesh, const Eigen::VectorXi &tiled_to_single, const double dhat, const double avg_mass, const bool use_convergent_formulation, const bool use_adaptive_barrier_stiffness, 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::PeriodicContactForm | |
post_step(const polysolve::nonlinear::PostStepData &data) override | polyfem::solver::PeriodicContactForm | virtual |
prev_distance_ | polyfem::solver::ContactForm | protected |
proj | polyfem::solver::PeriodicContactForm | mutableprivate |
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::ContactForm | |
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::PeriodicContactForm | protectedvirtual |
set_apply_DBC(const Eigen::VectorXd &x, bool apply_DBC) | polyfem::solver::Form | inlinevirtual |
set_barrier_stiffness(const double barrier_stiffness) | polyfem::solver::ContactForm | inline |
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_weight(const double weight) | polyfem::solver::Form | inline |
single_to_tiled(const Eigen::VectorXd &x) const | polyfem::solver::PeriodicContactForm | |
solution_changed(const Eigen::VectorXd &new_x) override | polyfem::solver::PeriodicContactForm | virtual |
tiled_to_single_ | polyfem::solver::PeriodicContactForm | private |
tiled_to_single_grad(const Eigen::VectorXd &grad) const | polyfem::solver::PeriodicContactForm | |
update_barrier_stiffness(const Eigen::VectorXd &x, const Eigen::MatrixXd &grad_energy) override | polyfem::solver::PeriodicContactForm | virtual |
update_collision_set(const Eigen::MatrixXd &displaced_surface) | polyfem::solver::ContactForm | protected |
update_lagging(const Eigen::VectorXd &x, const int iter_num) | polyfem::solver::Form | inlinevirtual |
update_projection() const | polyfem::solver::PeriodicContactForm | private |
update_quantities(const double t, const Eigen::VectorXd &x) override | polyfem::solver::PeriodicContactForm | virtual |
use_adaptive_barrier_stiffness() const | polyfem::solver::ContactForm | inline |
use_adaptive_barrier_stiffness_ | polyfem::solver::ContactForm | protected |
use_cached_candidates_ | polyfem::solver::ContactForm | protected |
use_convergent_formulation() const | polyfem::solver::ContactForm | inline |
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::ContactForm | protectedvirtual |
value_unweighted(const Eigen::VectorXd &x) const override | polyfem::solver::PeriodicContactForm | protectedvirtual |
weight() const override | polyfem::solver::ContactForm | inlinevirtual |
weight_ | polyfem::solver::Form | protected |
~ContactForm()=default | polyfem::solver::ContactForm | virtual |
~Form() | polyfem::solver::Form | inlinevirtual |