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