diff options
author | eug-vs <eugene@eug-vs.xyz> | 2024-12-15 23:00:51 +0100 |
---|---|---|
committer | eug-vs <eugene@eug-vs.xyz> | 2024-12-15 23:00:51 +0100 |
commit | c3c82ae06405fa2c7bacac1d03d148897321c32b (patch) | |
tree | 4f34eb58970a0a10e6cc380343d0a41ebcc1c5ff /physics/src/solver/midpoint.rs | |
parent | f502048ade181deeef3bb6c4b0bab1cd6852ce03 (diff) | |
download | particle-physics-c3c82ae06405fa2c7bacac1d03d148897321c32b.tar.gz |
feat: use Runge Kutta ODE solver
Diffstat (limited to 'physics/src/solver/midpoint.rs')
-rw-r--r-- | physics/src/solver/midpoint.rs | 18 |
1 files changed, 0 insertions, 18 deletions
diff --git a/physics/src/solver/midpoint.rs b/physics/src/solver/midpoint.rs deleted file mode 100644 index 2d71758..0000000 --- a/physics/src/solver/midpoint.rs +++ /dev/null @@ -1,18 +0,0 @@ -use crate::{algebra::Scalar, particle_system::ParticleSystem}; -use super::{PhaseSpace, Solver}; - -impl Solver for ParticleSystem { - fn step(&mut self, dt: Scalar) { - let mut state = self.collect_phase_space(); - - // Shift to the midpoint - self.scatter_phase_space(&PhaseSpace { - 0: state.0.clone() + self.compute_derivative().0 * dt / 2.0, - }); - - state.0 += self.compute_derivative().0 * dt; - self.scatter_phase_space(&state); - - self.t += dt; - } -} |