14 class IntegrableFunctional;
18 class PeriodicMeshToMesh;
31 namespace AdjointTools
36 const Eigen::MatrixXd &solution,
37 const std::set<int> &interested_ids,
39 const int cur_step = 0);
43 const Eigen::MatrixXd &solution,
44 const std::set<int> &interested_ids,
47 Eigen::VectorXd &term);
50 const Eigen::MatrixXd &solution,
52 const std::set<int> &interested_ids,
54 Eigen::VectorXd &term,
55 const int cur_time_step);
59 const Eigen::MatrixXd &sol,
60 const Eigen::MatrixXd &adjoint,
61 Eigen::VectorXd &one_form);
73 const Eigen::MatrixXd &sol,
74 const Eigen::MatrixXd &adjoint,
75 Eigen::VectorXd &one_form);
80 const Eigen::VectorXd &periodic_mesh_representation,
81 const Eigen::MatrixXd &sol,
82 const Eigen::MatrixXd &adjoint,
83 Eigen::VectorXd &one_form);
88 const Eigen::MatrixXd &adjoint_nu,
89 const Eigen::MatrixXd &adjoint_p,
90 Eigen::VectorXd &one_form);
93 const Eigen::MatrixXd &sol,
94 const Eigen::MatrixXd &adjoint,
95 Eigen::VectorXd &one_form);
99 const Eigen::MatrixXd &adjoint_nu,
100 const Eigen::MatrixXd &adjoint_p,
101 Eigen::VectorXd &one_form);
105 const Eigen::MatrixXd &adjoint_nu,
106 const Eigen::MatrixXd &adjoint_p,
107 Eigen::VectorXd &one_form);
111 const Eigen::MatrixXd &adjoint_nu,
112 const Eigen::MatrixXd &adjoint_p,
113 Eigen::VectorXd &one_form);
116 const Eigen::MatrixXd &adjoint_nu,
117 const Eigen::MatrixXd &adjoint_p,
118 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);
138 const std::vector<int> &boundary_ids,
139 const Eigen::MatrixXd &adjoint_nu,
140 const Eigen::MatrixXd &adjoint_p,
141 Eigen::VectorXd &one_form);
145 const Eigen::VectorXd &primitives);
148 const Eigen::VectorXd &nodes);
151 const Eigen::MatrixXd &
V);
153 const Eigen::MatrixXd &
V);
156 const Eigen::MatrixXd &
V);
158 const Eigen::MatrixXd &
V);
160 void scaled_jacobian(
const Eigen::MatrixXd &
V,
const Eigen::MatrixXi &
F, Eigen::VectorXd &quality);
Storage for additional data required by differntial code.