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. |
本文介绍了多种数值计算中的步进算法,包括显式欧拉、改进中点法、四阶龙格-库塔等经典方法,以及Cash-Karp、Dormand-Prince5等具有误差估计的Runge-Kutta算法。还涉及了Adams-Bashforth、Adams-Bashforth-Moulton等多步方法,以及控制型Runge-Kutta和Bulirsch-Stoer算法,用于高精度需求。对于隐式系统,文章提到了隐式Euler、Rosenbrock4及其控制器,特别适合于 stiff 系统。此外,还涵盖了适用于可分离哈密顿系统的辛算法,如Symplectic Euler和RKN McLachlan。最后,针对分子动力学模拟,介绍了Velocity Verlet方法。
1151

被折叠的 条评论
为什么被折叠?



