PolyFEM
Loading...
Searching...
No Matches
VariableToSimulationGroup.hpp
Go to the documentation of this file.
1#pragma once
2
5
6#include <functional>
7
8namespace polyfem::solver
9{
11 {
12 public:
13 void update(const Eigen::VectorXd &x);
14
17 const Eigen::VectorXd &x,
18 Eigen::VectorXd &state_variable) const;
19
20 Eigen::VectorXd compute_adjoint_term(const Eigen::VectorXd &x) const;
21
26 const Eigen::VectorXd &x,
27 const std::function<Eigen::VectorXd()> &grad) const;
28
29 std::vector<std::shared_ptr<VariableToSimulation>> data;
30 };
31
32} // namespace polyfem::solver
int x
Eigen::VectorXd compute_adjoint_term(const Eigen::VectorXd &x) const
Eigen::VectorXd apply_parametrization_jacobian(ParameterType type, const varform::DifferentiableVarForm &target, const Eigen::VectorXd &x, const std::function< Eigen::VectorXd()> &grad) const
Compute parametrization jacobian for all var2sim matching parameter type and output to target varform...
void compute_state_variable(ParameterType type, const varform::DifferentiableVarForm &target, const Eigen::VectorXd &x, Eigen::VectorXd &state_variable) const
std::vector< std::shared_ptr< VariableToSimulation > > data
Optimization-facing interface implemented by differentiated VarForm adapters.