Why are we doing this?
Currently, our rk45 solver implementation in ODE_solver.cpp has hardcoded Dormand-Prince coefficients inside the main loop. While Dormand-Prince is a great default, we already have an enum defined for other popular adaptive methods:
enum step_method {
fehlberg,
dormand_prince,
Cash_Karp,
};
However, selecting fehlberg or Cash_Karp currently has no effect on the integration.
Why are we doing this?
Currently, our
rk45solver implementation inODE_solver.cpphas hardcoded Dormand-Prince coefficients inside the main loop. While Dormand-Prince is a great default, we already have an enum defined for other popular adaptive methods:enum step_method { fehlberg, dormand_prince, Cash_Karp, };However, selecting fehlberg or Cash_Karp currently has no effect on the integration.