20 using StatePtrs = std::vector<std::shared_ptr<legacy::State>>;
32 Eigen::VectorXi active_dofs);
34 std::string
name()
const override;
37 void update(
const Eigen::VectorXd &
x)
override;
main class that contains the polyfem solver and all its state
Maps to initial solution and solution velocity.
std::vector< std::shared_ptr< DiffCache > > DiffCachePtrs
Eigen::VectorXi active_dofs_
int inverse_dof() const override
Compute optimization variables dof.
Eigen::VectorXd compute_adjoint_term(const Eigen::VectorXd &x) const override
Compute adjoint contribution of objective gradient.
Eigen::VectorXd apply_parametrization_jacobian(const Eigen::VectorXd &term, const Eigen::VectorXd &x) const override
Apply parametrization jacobian to compute the gradient w.r.t.
Eigen::VectorXd inverse_eval() const override
Compute optimization variables from forward simulation legacy::State.
std::vector< std::shared_ptr< legacy::State > > StatePtrs
std::string name() const override
DiffCachePtrs diff_caches_
void update(const Eigen::VectorXd &x) override
Update forward simulation states from optimization variables.
bool affect_state(const legacy::State &target) const override
Return true if current var2sim maps to target state.
ParameterType parameter_type() const override
void update_state_variables(const Eigen::VectorXd &x, Eigen::VectorXd &state_variables) const override
Update state variables from optimization variables.
CompositeParametrization parametrization_
Maps optimization variables to forward simulation legacy::State variables.