From: Bill Kuker Date: Mon, 22 Nov 2010 14:25:14 +0000 (+0000) Subject: Add fuel mass to summary X-Git-Url: https://git.gag.com/?a=commitdiff_plain;h=921a8af5911c9c02e52d237baed8292120ff211a;hp=7e529f7e6f800950dafc5f3a015d2a308c383a20;p=sw%2Fmotorsim Add fuel mass to summary --- diff --git a/gui/com/billkuker/rocketry/motorsim/visual/SummaryPanel.java b/gui/com/billkuker/rocketry/motorsim/visual/SummaryPanel.java index 0cfaef9..189b781 100644 --- a/gui/com/billkuker/rocketry/motorsim/visual/SummaryPanel.java +++ b/gui/com/billkuker/rocketry/motorsim/visual/SummaryPanel.java @@ -64,7 +64,7 @@ public class SummaryPanel extends JPanel implements Burn.BurnProgressListener { SummaryPanel.this.add(new JLabel("Max Thrust")); SummaryPanel.this.add(new JLabel("Average Thust")); SummaryPanel.this.add(new JLabel("Max Pressure")); - + SummaryPanel.this.add(new JLabel("Fuel Mass")); SummaryPanel.this.add(new JLabel("Safty Factor")); SummaryPanel.this.add(new JLabel(bi.getRating())); @@ -78,7 +78,9 @@ public class SummaryPanel extends JPanel implements Burn.BurnProgressListener { .ammountToRoundedString(bi.averageThrust()))); SummaryPanel.this.add(new JLabel(RocketScience .ammountToRoundedString(bi.maxPressure()))); - + SummaryPanel.this.add(new JLabel(RocketScience + .ammountToRoundedString(bi.getPropellantMass()))); + Color saftyColor; if (bi.getSaftyFactor() == null) { diff --git a/src/com/billkuker/rocketry/motorsim/BurnSummary.java b/src/com/billkuker/rocketry/motorsim/BurnSummary.java index 8c53749..beb145c 100644 --- a/src/com/billkuker/rocketry/motorsim/BurnSummary.java +++ b/src/com/billkuker/rocketry/motorsim/BurnSummary.java @@ -3,7 +3,10 @@ package com.billkuker.rocketry.motorsim; import javax.measure.quantity.Dimensionless; import javax.measure.quantity.Duration; import javax.measure.quantity.Force; +import javax.measure.quantity.Mass; import javax.measure.quantity.Pressure; +import javax.measure.quantity.Volume; +import javax.measure.quantity.VolumetricDensity; import javax.measure.unit.SI; import org.jscience.physics.amount.Amount; @@ -19,6 +22,7 @@ public class BurnSummary { Amount maxThrust = Amount.valueOf(0, SI.NEWTON); Amount maxPressure = Amount.valueOf(0, SI.MEGA(SI.PASCAL)); Amount isp; + Amount propellantMass; Double saftyFactor; public BurnSummary(Burn b) { @@ -49,6 +53,11 @@ public class BurnSummary { if ( b.getMotor().getChamber().getBurstPressure() != null ) saftyFactor = b.getMotor().getChamber().getBurstPressure().divide(maxPressure).to(Dimensionless.UNIT).doubleValue(Dimensionless.UNIT); + + Amount vol = b.getMotor().getGrain().volume(Amount.valueOf(0, SI.MILLIMETER)); + Amount ideal = b.getMotor().getFuel().getIdealDensity(); + Amount actual = ideal.times(b.getMotor().getFuel().getDensityRatio()); + propellantMass = vol.times(actual).to(SI.GRAM); } public String getRating() { @@ -95,5 +104,9 @@ public class BurnSummary { public Amount maxPressure(){ return maxPressure; } + + public Amount getPropellantMass() { + return propellantMass; + } }