Coryab/implement penningtrap #3
@ -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;
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user