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
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
.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
+ 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
public Amount<Pressure> maxPressure(){\r
return maxPressure;\r
}\r
+ \r
+ public Amount<Mass> getPropellantMass() {\r
+ return propellantMass;\r
+ }\r
\r
}\r