Add fuel mass to summary
authorBill Kuker <bkuker@billkuker.com>
Mon, 22 Nov 2010 14:25:14 +0000 (14:25 +0000)
committerBill Kuker <bkuker@billkuker.com>
Mon, 22 Nov 2010 14:25:14 +0000 (14:25 +0000)
gui/com/billkuker/rocketry/motorsim/visual/SummaryPanel.java
src/com/billkuker/rocketry/motorsim/BurnSummary.java

index 0cfaef941a750be2056cba0eaf68e920c1fe7c95..189b78114cee09aee63c774e00bff0ad9de781bc 100644 (file)
@@ -64,7 +64,7 @@ public class SummaryPanel extends JPanel implements Burn.BurnProgressListener {
                                SummaryPanel.this.add(new JLabel("Max Thrust"));\r
                                SummaryPanel.this.add(new JLabel("Average Thust"));\r
                                SummaryPanel.this.add(new JLabel("Max Pressure"));\r
-\r
+                               SummaryPanel.this.add(new JLabel("Fuel Mass"));\r
                                SummaryPanel.this.add(new JLabel("Safty Factor"));\r
 \r
                                SummaryPanel.this.add(new JLabel(bi.getRating()));\r
@@ -78,7 +78,9 @@ public class SummaryPanel extends JPanel implements Burn.BurnProgressListener {
                                                .ammountToRoundedString(bi.averageThrust())));\r
                                SummaryPanel.this.add(new JLabel(RocketScience\r
                                                .ammountToRoundedString(bi.maxPressure())));\r
-\r
+                               SummaryPanel.this.add(new JLabel(RocketScience\r
+                                               .ammountToRoundedString(bi.getPropellantMass())));\r
+                               \r
                                Color saftyColor;\r
                                if (bi.getSaftyFactor() == null) {\r
 \r
index 8c53749e1adca094f410ef1a91b0c6448f0083fa..beb145c3c02b1862d5275c4e16065aa5035b03cf 100644 (file)
@@ -3,7 +3,10 @@ package com.billkuker.rocketry.motorsim;
 import javax.measure.quantity.Dimensionless;\r
 import javax.measure.quantity.Duration;\r
 import javax.measure.quantity.Force;\r
+import javax.measure.quantity.Mass;\r
 import javax.measure.quantity.Pressure;\r
+import javax.measure.quantity.Volume;\r
+import javax.measure.quantity.VolumetricDensity;\r
 import javax.measure.unit.SI;\r
 \r
 import org.jscience.physics.amount.Amount;\r
@@ -19,6 +22,7 @@ public class BurnSummary {
        Amount<Force> maxThrust = Amount.valueOf(0, SI.NEWTON);\r
        Amount<Pressure> maxPressure = Amount.valueOf(0, SI.MEGA(SI.PASCAL));\r
        Amount<Duration> isp;\r
+       Amount<Mass> propellantMass;\r
        Double saftyFactor;\r
        \r
        public BurnSummary(Burn b) {\r
@@ -49,6 +53,11 @@ public class BurnSummary {
 \r
                if ( b.getMotor().getChamber().getBurstPressure() != null )\r
                        saftyFactor = b.getMotor().getChamber().getBurstPressure().divide(maxPressure).to(Dimensionless.UNIT).doubleValue(Dimensionless.UNIT);\r
+\r
+               Amount<Volume> vol = b.getMotor().getGrain().volume(Amount.valueOf(0, SI.MILLIMETER));\r
+               Amount<VolumetricDensity> ideal = b.getMotor().getFuel().getIdealDensity();\r
+               Amount<VolumetricDensity> actual = ideal.times(b.getMotor().getFuel().getDensityRatio());\r
+               propellantMass = vol.times(actual).to(SI.GRAM);\r
        }\r
 \r
        public String getRating() {\r
@@ -95,5 +104,9 @@ public class BurnSummary {
        public Amount<Pressure> maxPressure(){\r
                return maxPressure;\r
        }\r
+       \r
+       public Amount<Mass> getPropellantMass() {\r
+               return propellantMass;\r
+       }\r
 \r
 }\r