package jsci.physics;

import jsci.maths.vectors.AbstractDoubleVector;

public abstract class AbstractClassicalParticle extends Particle {
	/**
	 * @jsci.planetphysics mass
	 */
        public abstract double getMass();
        public abstract AbstractDoubleVector getPosition();
	/**
	 * @jsci.planetphysics velocity
	 */
        public abstract AbstractDoubleVector getVelocity();
	/**
	 * @jsci.planetphysics momentum
	 */
        public AbstractDoubleVector getMomentum() {
                return getVelocity().scalarMultiply(getMass());
        }
        public double speed() {
                return getVelocity().norm();
        }
        public double energy() {
                AbstractDoubleVector vel = getVelocity();
                return getMass()*vel.scalarProduct(vel)/2.0;
        }
}


 

Ads help maintain this website.