Table 1.6. Stepper Algorithms
Algorithm | Class | Concept | System Concept | Order | Error Estimation | Dense Output | Internal state | Remarks |
---|---|---|---|---|---|---|---|---|
Explicit Euler | | 1 | No | Yes | No | Very simple, only for demonstrating purpose | ||
Modified Midpoint | | configurable (2) | No | No | No | Used in Bulirsch-Stoer implementation | ||
Runge-Kutta 4 | | 4 | No | No | No | The classical Runge-Kutta scheme, good general scheme without error control | ||
Cash-Karp | | 5 | Yes (4) | No | No | Good general scheme with error estimation, to be used in controlled_error_stepper | ||
Dormand-Prince 5 | | 5 | Yes (4) | Yes | Yes | Standard method with error control and dense output, to be used in controlled_error_stepper and in dense_output_controlled_explicit_fsal. | ||
Fehlberg 78 | | 8 | Yes (7) | No | No | Good high order method with error estimation, to be used in controlled_error_stepper. | ||
Adams Bashforth | | configurable | No | No | Yes | Multistep method | ||
Adams Bashforth Moulton | | configurable | No | No | Yes | Combined multistep method | ||
Controlled Runge-Kutta | | depends | Yes | No | depends | Error control for Error Stepper. Requires an Error Stepper from above. Order depends on the given ErrorStepper | ||
Dense Output Runge-Kutta | | depends | No | Yes | Yes | Dense output for Stepper and Error Stepper from above if they provide dense output functionality (like | ||
Bulirsch-Stoer | | variable | Yes | No | No | Stepper with step size and order control. Very good if high precision is required. | ||
Bulirsch-Stoer Dense Output | | variable | Yes | Yes | No | Stepper with step size and order control as well as dense output. Very good if high precision and dense output is required. | ||
Implicit Euler | | 1 | No | No | No | Basic implicit routine. Requires the Jacobian. Works only with Boost.uBLAS vectors as state types. | ||
Rosenbrock 4 | | 4 | Yes | Yes | No | Good for stiff systems. Works only with Boost.uBLAS vectors as state types. | ||
Controlled Rosenbrock 4 | | 4 | Yes | Yes | No | Rosenbrock 4 with error control. Works only with Boost.uBLAS vectors as state types. | ||
Dense Output Rosenbrock 4 | | 4 | Yes | Yes | No | Controlled Rosenbrock 4 with dense output. Works only with Boost.uBLAS vectors as state types. | ||
Symplectic Euler | | 1 | No | No | No | Basic symplectic solver for separable Hamiltonian system | ||
Symplectic RKN McLachlan | | 4 | No | No | No | Symplectic solver for separable Hamiltonian system with 6 stages and order 4. | ||
Symplectic RKN McLachlan | | 4 | No | No | No | Symplectic solver with 5 stages and order 4, can be used with arbitrary precision types. | ||
Velocity Verlet | | 1 | No | No | Yes | Velocity verlet method suitable for molecular dynamics simulation. |