Calculate Safty Factor
authorBill Kuker <bkuker@billkuker.com>
Sun, 7 Nov 2010 14:02:22 +0000 (14:02 +0000)
committerBill Kuker <bkuker@billkuker.com>
Sun, 7 Nov 2010 14:02:22 +0000 (14:02 +0000)
src/com/billkuker/rocketry/motorsim/BurnSummary.java

index 4d19a0e5c4016d187492845a3ac24a330ce3d8b7..adc340cc685893693f52277af8efb4c7e819c788 100644 (file)
@@ -1,5 +1,6 @@
 package com.billkuker.rocketry.motorsim;\r
 \r
+import javax.measure.quantity.Dimensionless;\r
 import javax.measure.quantity.Duration;\r
 import javax.measure.quantity.Force;\r
 import javax.measure.quantity.Pressure;\r
@@ -18,6 +19,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
+       Double saftyFactor;\r
        \r
        public BurnSummary(Burn b) {\r
                for (Interval i : b.getData().values()) {\r
@@ -45,6 +47,8 @@ public class BurnSummary {
                .divide(Amount.valueOf(9.81,\r
                                SI.METERS_PER_SQUARE_SECOND)).to(SI.SECOND);\r
 \r
+               if ( b.getMotor().getChamber().burstPressure() != null )\r
+                       saftyFactor = b.getMotor().getChamber().burstPressure().divide(maxPressure).to(Dimensionless.UNIT).doubleValue(Dimensionless.UNIT);\r
        }\r
 \r
        public String getRating() {\r
@@ -61,6 +65,10 @@ public class BurnSummary {
                + Math.round(averageThrust().doubleValue(SI.NEWTON));\r
        }\r
 \r
+       public Double getSaftyFactor(){\r
+               return saftyFactor;\r
+       }\r
+       \r
        public Amount<RocketScience.Impulse> totalImpulse() {\r
                return ns;\r
        }\r