OGS 6.2.0-97-g4a610c866
ODESolverTypes.h
Go to the documentation of this file.
1 
10 #pragma once
11 
12 #include <functional>
13 #include <Eigen/Core>
14 
15 namespace MathLib
16 {
17 namespace ODE
18 {
21 
30 template <int N, int M>
31 using MappedMatrix = Eigen::Map<Eigen::Matrix<double, N, M, Eigen::ColMajor>>;
32 
34 template <int N, int M>
35 using MappedConstMatrix =
36  Eigen::Map<const Eigen::Matrix<double, N, M, Eigen::ColMajor>>;
37 
39 template <int N>
41 
43 template <int N>
45 
52 template <unsigned N>
53 using Function = std::function<bool(
54  const double t, MappedConstVector<N> const& y, MappedVector<N>& ydot)>;
55 
62 template <unsigned N>
63 using JacobianFunction = std::function<bool(const double t,
64  MappedConstVector<N> const& y,
65  MappedConstVector<N> const& ydot,
67 
69 
70 } // namespace ODE
71 } // 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
std::function< bool(const double t, MappedConstVector< N > const &y, MappedVector< N > &ydot)> Function
Eigen::Map< Eigen::Matrix< double, N, M, Eigen::ColMajor > > MappedMatrix
MappedMatrix< N, 1 > MappedVector
Eigen::Map< const Eigen::Matrix< double, N, M, Eigen::ColMajor > > MappedConstMatrix
Behaves like a const Eigen::Matrix.