9 class IntegrableFunctional;
13 class PeriodicMeshToMesh;
39 namespace AdjointTools
44 const Eigen::MatrixXd &solution,
45 const std::set<int> &interested_ids,
47 const int cur_step = 0);
51 const Eigen::MatrixXd &solution,
52 const std::set<int> &interested_ids,
55 Eigen::VectorXd &term);
58 const Eigen::MatrixXd &solution,
60 const std::set<int> &interested_ids,
62 Eigen::VectorXd &term,
63 const int cur_time_step);
66 const Eigen::MatrixXd &sol,
67 const Eigen::MatrixXd &adjoint,
68 Eigen::VectorXd &one_form);
79 const Eigen::MatrixXd &sol,
80 const Eigen::MatrixXd &adjoint,
81 Eigen::VectorXd &one_form);
85 const Eigen::VectorXd &periodic_mesh_representation,
86 const Eigen::MatrixXd &sol,
87 const Eigen::MatrixXd &adjoint,
88 Eigen::VectorXd &one_form);
92 const Eigen::MatrixXd &adjoint_nu,
93 const Eigen::MatrixXd &adjoint_p,
94 Eigen::VectorXd &one_form);
97 const Eigen::MatrixXd &sol,
98 const Eigen::MatrixXd &adjoint,
99 Eigen::VectorXd &one_form);
102 const Eigen::MatrixXd &adjoint_nu,
103 const Eigen::MatrixXd &adjoint_p,
104 Eigen::VectorXd &one_form);
107 const Eigen::MatrixXd &adjoint_nu,
108 const Eigen::MatrixXd &adjoint_p,
109 Eigen::VectorXd &one_form);
112 const Eigen::MatrixXd &adjoint_nu,
113 const Eigen::MatrixXd &adjoint_p,
114 Eigen::VectorXd &one_form);
117 const Eigen::MatrixXd &adjoint_nu,
118 const Eigen::MatrixXd &adjoint_p,
119 Eigen::VectorXd &one_form);
122 const Eigen::MatrixXd &adjoint,
123 Eigen::VectorXd &one_form);
126 const Eigen::MatrixXd &adjoint_nu,
127 const Eigen::MatrixXd &adjoint_p,
128 Eigen::VectorXd &one_form);
131 const std::vector<int> &boundary_ids,
132 const Eigen::MatrixXd &sol,
133 const Eigen::MatrixXd &adjoint,
134 Eigen::VectorXd &one_form);
137 const std::vector<int> &boundary_ids,
138 const Eigen::MatrixXd &adjoint_nu,
139 const Eigen::MatrixXd &adjoint_p,
140 Eigen::VectorXd &one_form);
144 const Eigen::VectorXd &primitives);
147 const Eigen::VectorXd &nodes);
150 const Eigen::MatrixXd &
V);
152 const Eigen::MatrixXd &
V);
155 const Eigen::MatrixXd &
V);
157 const Eigen::MatrixXd &
V);
159 double triangle_jacobian(
const Eigen::VectorXd &v1,
const Eigen::VectorXd &v2,
const Eigen::VectorXd &v3);
160 double tet_determinant(
const Eigen::VectorXd &v1,
const Eigen::VectorXd &v2,
const Eigen::VectorXd &v3,
const Eigen::VectorXd &v4);
161 void scaled_jacobian(
const Eigen::MatrixXd &
V,
const Eigen::MatrixXi &
F, Eigen::VectorXd &quality);
162 bool is_flipped(
const Eigen::MatrixXd &
V,
const Eigen::MatrixXi &
F);
39 namespace AdjointTools {
…}
main class that contains the polyfem solver and all its state