Sandals
v0.0.0
A C++ library for ODEs/DAEs integration
|
Class container for an boundary value problem (BVP) of ODEs/DAEs. More...
#include <BVP.hh>
Public Types | |
using | VectorF = typename Implicit<Real, N, M>::VectorF |
using | Pointer = std::shared_ptr<Implicit<Real, N, M>> |
using | NewtonB = Optimist::RootFinder::Newton<Real, N> |
Public Member Functions | |
BVP (std::string t_name) | |
RungeKutta< Real, N, M > & | rk () |
RungeKutta< Real, N, M > const & | rk () const |
virtual VectorF | b (VectorF const &x_ini, VectorF const &x_end) const =0 |
virtual MatrixJF | Jb_x_ini (VectorF const &x_ini, VectorF const &x_end) const =0 |
virtual MatrixJF | Jb_x_end (VectorF const &x_ini, VectorF const &x_end) const =0 |
bool | solve_single_shooting (VectorX const &t_mesh, VectorN const &ics, Solution< Real, N, M > &sol) const |
Private Attributes | |
NewtonB | m_newton |
RungeKutta< Real, N, M > | m_rk |
std::string | m_name |
Class container for an boundary value problem (BVP) of ordinary differential equations (ODEs) or differential algebraic equations (DAEs).
Real | The scalar number type. |
N | The dimension of the implicit ODE/DAE system. |
M | The dimension of the invariants manifold. |
using Sandals::BVP< Real, N, M >::NewtonB = Optimist::RootFinder::Newton<Real, N> |
Templetized Newton solver for the boundary conditions.
using Sandals::BVP< Real, N, M >::Pointer = std::shared_ptr<Implicit<Real, N, M>> |
Shared pointer to an implicit ODE system.
using Sandals::BVP< Real, N, M >::VectorF = typename Implicit<Real, N, M>::VectorF |
Templetized vector type.
|
inline |
|
pure virtual |
Evaluate the boundary conditions function of the problem \( \mathbf{b}(\mathbf{x}_{\text{ini}}, \mathbf{x}_{\text{end}}) \).
[in] | x_ini | Initial states \( \mathbf{x}_{\text{ini}} \). |
[in] | x_end | Final states \( \mathbf{x}_{\text{end}} \). |
|
pure virtual |
Evaluate the Jacobian of the boundary conditions function \( \mathbf{b}(\mathbf{x}_{\text{ini}}, \mathbf{x}_{\text{end}}) \) with respect to the final states \( \mathbf{x}_{\text{end}} \).
[in] | x_ini | Initial states \( \mathbf{x}_{\text{ini}} \). |
[in] | x_end | Final states \( \mathbf{x}_{\text{end}} \). |
|
pure virtual |
Evaluate the Jacobian of the boundary conditions function \( \mathbf{b}(\mathbf{x}_{\text{ini}}, \mathbf{x}_{\text{end}}) \) with respect to the initial states \( \mathbf{x}_{\text{ini}} \).
[in] | x_ini | Initial states \( \mathbf{x}_{\text{ini}} \). |
[in] | x_end | Final states \( \mathbf{x}_{\text{end}} \). |
|
inline |
Get the Runge-Kutta method reference.
|
inline |
Get the Runge-Kutta method const reference.
|
inline |
Solve the boundary value problem (BVP) using the Runge-Kutta method uning a single shooting method.
[in] | t_mesh | Independent variable (or time) mesh \( \mathbf{t} \). |
[in] | ics | Initial conditions \( \mathbf{x}(t = 0) \). |
[out] | sol | The solution of the system over the mesh of independent variable. |
|
private |
Name of the ODE/DAE system.
|
mutableprivate |
Newton solver for the boundary conditions.
|
private |
Runge-Kutta method for the BVP.