Added ISP calculation
authorBill Kuker <bkuker@billkuker.com>
Tue, 1 Sep 2009 00:47:31 +0000 (00:47 +0000)
committerBill Kuker <bkuker@billkuker.com>
Tue, 1 Sep 2009 00:47:31 +0000 (00:47 +0000)
src/com/billkuker/rocketry/motorsim/visual/BurnPanel.java

index 7cf8ac1dbe56eebb2345d2d25af5c18f44843542..f9e0d9c51133f415229c4267a64bc2023841cb47 100644 (file)
@@ -124,17 +124,24 @@ public class BurnPanel extends JPanel {
                                int percent = (int)(100 * fraction);\r
                                char cl = (char)((int)'A' + cn);\r
 \r
+                               \r
+                               Amount<Duration> isp = ns.divide(\r
+                                               b.getMotor().getGrain().volume(Amount.valueOf(0, SI.MILLIMETER))\r
+                                                       .times(b.getMotor().getFuel().getIdealDensity().times(b.getMotor().getFuel().getDensityRatio()))\r
+                                               ).to(SI.METERS_PER_SECOND).divide(Amount.valueOf(9.81, SI.METERS_PER_SQUARE_SECOND)).to(SI.SECOND);\r
                        \r
                        JPanel text = new JPanel(new GridLayout(2,5));\r
 \r
                        text.add(new JLabel("Rating"));\r
                        text.add(new JLabel("Total Impulse"));\r
+                       text.add(new JLabel("ISP"));\r
                        text.add(new JLabel("Max Thrust"));\r
                        text.add(new JLabel("Average Thust"));\r
                        text.add(new JLabel("Max Pressure"));\r
                        \r
                        text.add(new JLabel(percent + "% " + new String(new char[]{cl}) + "-" +Math.round(averageThrust.doubleValue(SI.NEWTON))));\r
                        text.add(new JLabel(approx(ns)));\r
+                       text.add(new JLabel(approx(isp)));                      \r
                        text.add(new JLabel(approx(maxThrust)));\r
                        text.add(new JLabel(approx(averageThrust)));\r
                        text.add(new JLabel(approx(maxPressure)));\r