18 using RefFunc = std::function<void(
double, Eigen::Ref<Eigen::VectorXd>)>;
21 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
28 const Eigen::Ref<const Eigen::VectorXd> & x,
29 const Eigen::Ref<const Eigen::VectorXd> & u,
30 Eigen::Ref<Eigen::VectorXd> dotx) = 0;
34 const Eigen::Ref<const Eigen::VectorXd> & lmd,
35 const Eigen::Ref<const Eigen::VectorXd> & xu,
36 Eigen::Ref<Eigen::VectorXd> dotlmd) = 0;
40 const Eigen::Ref<const Eigen::VectorXd> & x,
41 Eigen::Ref<Eigen::VectorXd> DphiDx) = 0;
45 const Eigen::Ref<const Eigen::VectorXd> & x,
46 const Eigen::Ref<const Eigen::VectorXd> & u,
47 const Eigen::Ref<const Eigen::VectorXd> & lmd,
48 Eigen::Ref<Eigen::VectorXd> DhDu) = 0;
67 const Eigen::IOFormat
vecfmt_dump_ = Eigen::IOFormat(Eigen::StreamPrecision, 0,
", ",
", ",
"",
"",
"",
"");
Eigen::VectorXd state_eq_param_
Eigen::VectorXd u_initial_
EIGEN_MAKE_ALIGNED_OPERATOR_NEW CgmresProblem()
Constructor.
std::function< void(double, Eigen::Ref< Eigen::VectorXd >)> RefFunc
Type of function to return reference state.
virtual void stateEquation(double t, const Eigen::Ref< const Eigen::VectorXd > &x, const Eigen::Ref< const Eigen::VectorXd > &u, Eigen::Ref< Eigen::VectorXd > dotx)=0
Calculate the state equation.
virtual void calcDhDu(double t, const Eigen::Ref< const Eigen::VectorXd > &x, const Eigen::Ref< const Eigen::VectorXd > &u, const Eigen::Ref< const Eigen::VectorXd > &lmd, Eigen::Ref< Eigen::VectorXd > DhDu)=0
Calculate .
virtual void dumpData(std::ofstream &ofs)
Dump model parameters.
Eigen::VectorXd x_initial_
const Eigen::IOFormat vecfmt_dump_
virtual void costateEquation(double t, const Eigen::Ref< const Eigen::VectorXd > &lmd, const Eigen::Ref< const Eigen::VectorXd > &xu, Eigen::Ref< Eigen::VectorXd > dotlmd)=0
Calculate the costate equation.
virtual void calcDphiDx(double t, const Eigen::Ref< const Eigen::VectorXd > &x, Eigen::Ref< Eigen::VectorXd > DphiDx)=0
Calculate .