Geomi
Abstract_Problem.hpp
1 #ifndef DEF_VARIATIONAL_ABSTRACT_PROBLEM
2 #define DEF_VARIATIONAL_ABSTRACT_PROBLEM
3 
4 #include <Eigen/Core>
5 
6 namespace Variational {
7 namespace Abstract {
8 
9 template <typename T_M, typename T_Q>
10 class Problem : public DiscSyst<T_M,T_Q>
11 {
12 public:
14  { }
15 
16  virtual
18  { }
19 
29  virtual Eigen::Matrix<double,T_Q::DOF,1>
30  dLdq (const T_Q, const T_Q) = 0;
31 
32  virtual Eigen::Matrix<double,T_Q::DOF,1>
33  dLdv (const T_Q, const T_Q) = 0;
34 
35  virtual Eigen::Matrix<double,T_Q::DOF,T_Q::DOF>
36  JqdLdq (const T_Q, const T_Q) = 0;
37 
38  virtual Eigen::Matrix<double,T_Q::DOF,T_Q::DOF>
39  JvdLdq (const T_Q, const T_Q) = 0;
40 
41  virtual Eigen::Matrix<double,T_Q::DOF,T_Q::DOF>
42  JqdLdv (const T_Q, const T_Q) = 0;
43 
44  virtual Eigen::Matrix<double,T_Q::DOF,T_Q::DOF>
45  JvdLdv (const T_Q, const T_Q) = 0;
46 };
47 
48 } // namespace Abstract
49 } // namespace Variational
50 
51 #endif
Definition: DiscSyst.hpp:18
Definition: Abstract_Problem.hpp:10
Definition: Abstract_LieProblem.hpp:6
virtual Eigen::Matrix< double, T_Q::DOF, 1 > dLdq(const T_Q, const T_Q)=0
Definition: Abstract_NOXStep.hpp:9