Skip to content

Commit

Permalink
test for branching
Browse files Browse the repository at this point in the history
  • Loading branch information
jic13003 committed Dec 4, 2015
1 parent cafa17d commit 18f63b3
Showing 1 changed file with 8 additions and 52 deletions.
60 changes: 8 additions & 52 deletions src/jat/examples/ThreeBodyExample/ThreeBodyExample.java
Original file line number Diff line number Diff line change
Expand Up @@ -24,9 +24,12 @@ public ThreeBodyExample() {
}

public static void main(String[] args) {
// TODO Auto-generated method stub
// Class that solves a three body problem and plots it
ThreeBodyExample x = new ThreeBodyExample();


// set the final time = one orbit period
double tf = 2.0;

// create a ThreeBody orbit using three masses and gravitational con
ThreeBodyAPL sat = new ThreeBodyAPL(10, 0.3, 1.0, 2.0);
//initialize VectorN elements
Expand All @@ -39,58 +42,11 @@ public static void main(String[] args) {
System.out.println(format.format(v));

// find out the derivs of the problem
double[] derivs = sat.derivs(2.0, y);

// set the final time = one orbit period
double tf = 2.0;

double[] derivs = sat.derivs(tf, y);

// set the initial time to zero
double t0 = 0.0;

// propagate the orbit
FirstOrderIntegrator dp853 = new DormandPrince853Integrator(1.0e-8, 100.0, 1.0e-10, 1.0e-10);
dp853.addStepHandler(sat.stepHandler);
// double[] y = new double[] { 7000.0, 0, 0, .0, 8, 0 }; // initial
// state

dp853.integrate(sat, 0.0, y, 8000, y); // now y contains final state at
// tf

Double[] objArray = sat.time.toArray(new Double[sat.time.size()]);
double[] timeArray = ArrayUtils.toPrimitive(objArray);
double[] xsolArray = ArrayUtils.toPrimitive(sat.xsol.toArray(new Double[sat.time.size()]));
double[] ysolArray = ArrayUtils.toPrimitive(sat.ysol.toArray(new Double[sat.time.size()]));

double[][] XY = new double[timeArray.length][2];

// int a=0;
// System.arraycopy(timeArray,0,XY[a],0,timeArray.length);
// System.arraycopy(ysolArray,0,XY[1],0,ysolArray.length);

for (int i = 0; i < timeArray.length; i++) {
XY[i][0] = xsolArray[i];
XY[i][1] = ysolArray[i];
}

Plot2DPanel p = new Plot2DPanel();

// Plot2DPanel p = new Plot2DPanel(min, max, axesScales, axesLabels);

ScatterPlot s = new ScatterPlot("orbit", Color.RED, XY);
// LinePlot l = new LinePlot("sin", Color.RED, XY);
// l.closed_curve = false;
// l.draw_dot = true;
p.addPlot(s);
p.setLegendOrientation(PlotPanel.SOUTH);
double plotSize = 10000.;
double[] min = { -plotSize, -plotSize };
double[] max = { plotSize, plotSize };
p.setFixedBounds(min, max);

new FrameView(p).setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

System.out.println("end");


}

}

0 comments on commit 18f63b3

Please sign in to comment.