AnyarInc / Ascent

A fast and flexible C++ simulation engine and differential equation solver.
Apache License 2.0
125 stars 15 forks source link

Additional Multistep Methods #22

Closed mwalcott3 closed 3 years ago

mwalcott3 commented 3 years ago

ABM4 is a fixed step Adams Bashforth Moulton method I added as both a standard integrator and a modular integrator. I have an adaptive version that reinitializes every time the timestep is changed but since you cant necessarily estimate the error on the initializer I decided that was a bad idea.

VABM uses the Krogh formulas for performing the Adams Bashforth Moulton method with varying timesteps so you don't have to reinitialize every time you change the timestep. This comes at the cost of calculating coefficients every timestep but if your system evaluations are expensive it may be worth it since you only need 2 system evaluations per step no matter your order. I'll update this to vary the order like ode113 if this is useful.