20 virtual std::string
name()
const = 0;
29 virtual void update(
const Eigen::VectorXd &
x) = 0;
main class that contains the polyfem solver and all its state
Maps optimization variables to forward simulation legacy::State variables.
virtual int inverse_dof() const =0
Compute optimization variables dof.
virtual Eigen::VectorXd inverse_eval() const =0
Compute optimization variables from forward simulation legacy::State.
virtual void update(const Eigen::VectorXd &x)=0
Update forward simulation states from optimization variables.
virtual Eigen::VectorXd compute_adjoint_term(const Eigen::VectorXd &x) const =0
Compute adjoint contribution of objective gradient.
virtual bool affect_state(const legacy::State &target) const =0
Return true if current var2sim maps to target state.
virtual void update_state_variables(const Eigen::VectorXd &x, Eigen::VectorXd &state_variables) const =0
Update state variables from optimization variables.
virtual ParameterType parameter_type() const =0
virtual Eigen::VectorXd apply_parametrization_jacobian(const Eigen::VectorXd &term, const Eigen::VectorXd &x) const =0
Apply parametrization jacobian to compute the gradient w.r.t.
virtual ~VariableToSimulation()=default
virtual std::string name() const =0