package jsci.physics;
import jsci.maths.vectors.AbstractDoubleVector;
import jsci.maths.vectors.DoubleVector;
/**
* The drag force is proportional to the square of a particle's speed.
* D(v) = -k |v| v
*/
public class Drag {
private final double coefficient;
public Drag(double coeff) {
coefficient = coeff;
}
public Force createForce(AbstractClassicalParticle p) {
return new Force(p);
}
private class Force extends jsci.physics.Force {
private final AbstractClassicalParticle p;
public Force(AbstractClassicalParticle p) {
this.p = p;
}
public AbstractDoubleVector getVector(double t) {
AbstractDoubleVector pvel = p.getVelocity();
final double vec[] = new double[pvel.dimension()];
final double k = -coefficient*p.speed();
for(int i=0; i
Ads help maintain this website.