Updated the way that steps are handled

This commit is contained in:
Connor Johnstone
2025-08-12 15:54:23 -04:00
parent 9075dac669
commit 2659d78582
7 changed files with 108 additions and 57 deletions

View File

@@ -38,7 +38,7 @@ mod tests {
// Set up the problem (ODE, Integrator, Controller, and Callbacks)
let ode = ODE::new(&derivative, 0.0, 6.3, y0, params);
let dp45 = DormandPrince45::new(1e-12_f64, 1e-6_f64);
let dp45 = DormandPrince45::new().a_tol(1e-12).r_tol(1e-6);
let controller = PIController::default();
let value_too_high = Callback {
@@ -68,7 +68,7 @@ mod tests {
// Set up the problem (ODE, Integrator, Controller, and Callbacks)
let ode = ODE::new(&derivative, 2.0, 3.0, y0, params);
let dp45 = DormandPrince45::new(1e-8_f64, 1e-8_f64);
let dp45 = DormandPrince45::new();
let controller = PIController::default();
// Solve the problem
@@ -105,11 +105,9 @@ mod tests {
// Integrate
let ode = ODE::new(&derivative, 0.0, 10.0 * period, y0, params);
let dp45 = DormandPrince45::new(1e-12_f64, 1e-12_f64);
let dp45 = DormandPrince45::new().a_tol(1e-12).r_tol(1e-12);
let controller = PIController::new(0.37, 0.04, 10.0, 0.2, 1000.0, 0.9, 0.01);
let mut problem = Problem::new(ode, dp45, controller);
let solution = problem.solve();
assert_relative_eq!(