numerics 0.1.0
Loading...
Searching...
No Matches
ode.cpp File Reference
#include "ode/ode.hpp"
#include <algorithm>
#include <cmath>

Go to the source code of this file.

Namespaces

namespace  num
 

Functions

EulerSteps num::euler (ODERhsFn f, Vector y0, ODEParams p={})
 
RK4Steps num::rk4 (ODERhsFn f, Vector y0, ODEParams p={})
 
RK45Steps num::rk45 (ODERhsFn f, Vector y0, ODEParams p={})
 
VerletSteps num::verlet (AccelFn accel, Vector q0, Vector v0, ODEParams p={})
 
Yoshida4Steps num::yoshida4 (AccelFn accel, Vector q0, Vector v0, ODEParams p={})
 
RK4_2ndSteps num::rk4_2nd (AccelFn accel, Vector q0, Vector v0, ODEParams p={})
 
ODEResult num::ode_euler (ODERhsFn f, Vector y0, ODEParams p={}, ObserverFn obs=nullptr)
 Forward Euler, 1st-order, fixed step.
 
ODEResult num::ode_rk4 (ODERhsFn f, Vector y0, ODEParams p={}, ObserverFn obs=nullptr)
 Classic 4th-order Runge-Kutta, fixed step.
 
ODEResult num::ode_rk45 (ODERhsFn f, Vector y0, ODEParams p={}, ObserverFn obs=nullptr)
 Adaptive Dormand-Prince RK45 with FSAL and PI step-size control.
 
SymplecticResult num::ode_verlet (AccelFn accel, Vector q0, Vector v0, ODEParams p={}, SympObserverFn obs=nullptr)
 Velocity Verlet, 2nd-order symplectic, 1 force evaluation per step.
 
SymplecticResult num::ode_yoshida4 (AccelFn accel, Vector q0, Vector v0, ODEParams p={}, SympObserverFn obs=nullptr)
 Yoshida 4th-order symplectic, 3 force evaluations per step.
 
SymplecticResult num::ode_rk4_2nd (AccelFn accel, Vector q0, Vector v0, ODEParams p={}, SympObserverFn obs=nullptr)
 RK4 for second-order systems q'' = accel(q), Nystrom form.