From b26137ea33c4c2ca39deb51a60d7bc8658da11dd Mon Sep 17 00:00:00 2001 From: Cory Date: Sat, 30 Sep 2023 13:35:17 +0200 Subject: [PATCH] Correct total_force_external --- src/PenningTrap.cpp | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/PenningTrap.cpp b/src/PenningTrap.cpp index 6dde7ee..e5f2520 100644 --- a/src/PenningTrap.cpp +++ b/src/PenningTrap.cpp @@ -77,8 +77,17 @@ arma::vec PenningTrap::force_on_particle(int i, int j) arma::vec PenningTrap::total_force_external(int i) { Particle p = this->particles.at(i); + + arma::vec::fixed<3> v_cross_B; + + arma::vec::fixed<3> B = this->external_B_field(p.r_vec); + + v_cross_B(0) = p.v_vec(2)*B(3) - p.v_vec(3)*B(2); + v_cross_B(1) = p.v_vec(1)*B(3) - p.v_vec(3)*B(1); + v_cross_B(2) = p.v_vec(1)*B(2) - p.v_vec(2)*B(1); + arma::vec force = p.q - *(this->external_E_field(p.r_vec) + this->external_B_field(p.r_vec)); + *(this->external_E_field(p.r_vec) + v_cross_B); return force; }