Re-increased but added to the convergency limit
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
use nalgebra::SVector;
|
||||
use roots::find_root_regula_falsi;
|
||||
use roots::{find_root_regula_falsi, SimpleConvergency};
|
||||
|
||||
use super::callback::Callback;
|
||||
use super::controller::{Controller, PIController};
|
||||
@@ -30,6 +30,7 @@ where
|
||||
}
|
||||
}
|
||||
pub fn solve(&mut self) -> Solution<S, D> {
|
||||
let mut convergency = SimpleConvergency{ eps: 1e-14, max_iter: 150 };
|
||||
let mut times: Vec<f64> = vec![self.ode.t];
|
||||
let mut states: Vec<SVector<f64, D>> = vec![self.ode.y];
|
||||
let mut dense_coefficients: Vec<Vec<SVector<f64, D>>> = Vec::new();
|
||||
@@ -71,7 +72,7 @@ where
|
||||
let test_y = self.integrator.step(&self.ode, test_t).0;
|
||||
(callback.event)(self.ode.t + test_t, test_y, &self.ode.params)
|
||||
};
|
||||
let root = find_root_regula_falsi(0.0, step, &f, &mut 1e-8).unwrap();
|
||||
let root = find_root_regula_falsi(0.0, step, &f, &mut convergency).unwrap();
|
||||
step = root;
|
||||
(new_y, _, dense_option) = self.integrator.step(&self.ode, step);
|
||||
(callback.effect)(&mut self.ode);
|
||||
|
||||
Reference in New Issue
Block a user