10 class PeriodicMeshToMesh;
25 const Eigen::VectorXi &tiled_to_single,
27 const double avg_mass,
30 const bool is_time_dependent,
32 const ipc::BroadPhaseMethod broad_phase_method,
33 const double ccd_tolerance,
34 const int ccd_max_iterations);
36 void init(
const Eigen::VectorXd &
x)
override;
38 void 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);
69 double max_step_size(
const Eigen::VectorXd &x0,
const Eigen::VectorXd &x1)
const override;
74 void line_search_begin(
const Eigen::VectorXd &x0,
const Eigen::VectorXd &x1)
override;
83 void post_step(
const polysolve::nonlinear::PostStepData &data)
override;
main class that contains the polyfem solver and all its state
Eigen::SparseMatrix< double, Eigen::ColMajor > StiffnessMatrix