OGS
ODESolverTypes.h
Go to the documentation of this file.
1 
11 #pragma once
12 
13 #include <functional>
14 #include <Eigen/Core>
15 
16 namespace MathLib
17 {
18 namespace ODE
19 {
22 
31 template <int N, int M>
32 using MappedMatrix = Eigen::Map<Eigen::Matrix<double, N, M, Eigen::ColMajor>>;
33 
35 template <int N, int M>
37  Eigen::Map<const Eigen::Matrix<double, N, M, Eigen::ColMajor>>;
38 
40 template <int N>
42 
44 template <int N>
46 
53 template <unsigned N>
54 using Function = std::function<bool(
55  const double t, MappedConstVector<N> const& y, MappedVector<N>& ydot)>;
56 
63 template <unsigned N>
64 using JacobianFunction = std::function<bool(const double t,
65  MappedConstVector<N> const& y,
66  MappedConstVector<N> const& ydot,
67  MappedMatrix<N, N>& jac)>;
68 
70 
71 } // namespace ODE
72 } // namespace MathLib
std::function< bool(const double t, MappedConstVector< N > const &y, MappedConstVector< N > const &ydot, MappedMatrix< N, N > &jac)> JacobianFunction
MappedConstMatrix< N, 1 > MappedConstVector
Eigen::Map< const Eigen::Matrix< double, N, M, Eigen::ColMajor > > MappedConstMatrix
Behaves like a const Eigen::Matrix.
Eigen::Map< Eigen::Matrix< double, N, M, Eigen::ColMajor > > MappedMatrix
std::function< bool(const double t, MappedConstVector< N > const &y, MappedVector< N > &ydot)> Function
MappedMatrix< N, 1 > MappedVector