Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 0 additions & 23 deletions src/main/java/dal/gravity/AbstractEarthPendulum.java

This file was deleted.

6 changes: 4 additions & 2 deletions src/main/java/dal/gravity/AbstractPendulum.java
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,10 @@
*/
public abstract class AbstractPendulum {


/* instance variables - string length, point mass, angular displacement
//abstract class
/** gravitational constant */
public static final double GRAVITY = 9.80665;
/* instance variables - string length, point mass, angular displacement
* at t=0, constant for local gravitational field in m/s^2 (e.g., 9.81 on Earth)
*/
private double stringLength, pointMass;
Expand Down
2 changes: 1 addition & 1 deletion src/main/java/dal/gravity/PendulumRunner.java
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
* versus the Euler algorithm approximation
*/
public class PendulumRunner {

//run the main
public static void main (String [] args) {
NumberFormat nf = NumberFormat.getInstance ();
nf.setMaximumFractionDigits (3);
Expand Down
6 changes: 3 additions & 3 deletions src/main/java/dal/gravity/RegularPendulum.java
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
/**
* Represents a pendulum
*/
public class RegularPendulum extends AbstractEarthPendulum {
public class RegularPendulum extends AbstractPendulum {
private double delta, iterations = 0;
private double dissipation;
private double lastTheta, lastVel, lastAccel;
Expand All @@ -13,7 +13,7 @@ public class RegularPendulum extends AbstractEarthPendulum {
*/
public RegularPendulum (double inLength, double inMass, double inTheta0,
double inDelta, double inDiss) {
super (inLength, inMass, inTheta0);
super (inLength, inMass, inTheta0, GRAVITY);
delta=inDelta;
dissipation = inDiss;
lastVel = 0;
Expand All @@ -25,7 +25,7 @@ public RegularPendulum (double inLength, double inMass, double inTheta0,
double inDelta) {
this (inLength, inMass, inTheta0, inDelta, 0);
}

public void step () {
iterations++;
lastTheta = lastTheta + lastVel*delta;
Expand Down
6 changes: 3 additions & 3 deletions src/main/java/dal/gravity/SimplePendulum.java
Original file line number Diff line number Diff line change
Expand Up @@ -3,18 +3,18 @@
/**
* Represents pendulums exhibiting (approximately) simple harmonic motion
*/
public class SimplePendulum extends AbstractEarthPendulum {
public class SimplePendulum extends AbstractPendulum {

private double angularFrequency, periodOfMotion;

//simple
/**
* Creates a new Pendulum instance using
* inLength: the string length (>0)
* inMass: the point mass (>0)
* inTheta0: angular displacement at t=0 (0<=theta0<=pi/6)
*/
public SimplePendulum (double inLength, double inMass, double inTheta0) {
super (inLength, inMass, inTheta0);
super (inLength, inMass, inTheta0,GRAVITY);
angularFrequency = Math.sqrt (this.getGravitationalField () / this.getStringLength ());
periodOfMotion = 2 * Math.PI
* Math.sqrt (this.getStringLength () / this.getGravitationalField ());
Expand Down