summaryrefslogtreecommitdiff
path: root/src/main/Particle.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/Particle.cc')
-rw-r--r--src/main/Particle.cc6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/main/Particle.cc b/src/main/Particle.cc
index 405b6b5..230f049 100644
--- a/src/main/Particle.cc
+++ b/src/main/Particle.cc
@@ -33,14 +33,16 @@ Vector3D Particle::getPosition() const {return position;}
void Particle::setPosition(const Vector3D& pos) {position = pos;}
+void Particle::translate(const Vector3D& dx) {position += dx;}
+
Vector3D Particle::getForce() const {return force;}
void Particle::setForce(const Vector3D& f) {force = f;}
-void Particle::applyForce(const Vector3D& f) {force = force + f;}
+void Particle::applyForce(const Vector3D& f) {force += f;}
void Particle::applyMagneticForce(const Vector3D& b, double dt) {
- if (b != Vector3D::Null) {
+ if (dt != 0 && b != Vector3D::Null) {
Vector3D f = charge * velocity.cross(b);
applyForce(f.rotate(velocity.cross(f), (dt * f.norm()) / (2 * gamma * mass * velocity.norm())));
}