1 package com.billkuker.rocketry.motorsim.fuel;
\r
3 import javax.measure.quantity.Pressure;
\r
4 import javax.measure.quantity.Temperature;
\r
5 import javax.measure.quantity.VolumetricDensity;
\r
6 import javax.measure.unit.SI;
\r
8 import org.jscience.physics.amount.Amount;
\r
10 import com.billkuker.rocketry.motorsim.Fuel;
\r
11 import com.billkuker.rocketry.motorsim.RocketScience.MolarWeight;
\r
13 //TODO Implement MotorPart
\r
14 public class EditableFuel extends SaintRobertFuel {
\r
15 private String name;
\r
16 private double a = 0.0665;
\r
17 private double n = 0.319;
\r
18 private double combustionEfficiency = .97;
\r
19 private double densityRatio = .96;
\r
20 private Amount<VolumetricDensity> idealDensity = Amount.valueOf(1889, 0, SI.KILOGRAM.divide(SI.METER.pow(3))).to(VolumetricDensity.UNIT);
\r
21 CombustionProduct combustionProduct = new EditableCombustionProduct();
\r
22 private SaintRobertFuel.Type type = SaintRobertFuel.Type.NONSI;
\r
24 public static class EditableCombustionProduct implements Fuel.CombustionProduct{
\r
25 private Amount<MolarWeight> effectiveMolarWeight = Amount.valueOf("41.98 kg/kmol").to(MolarWeight.UNIT);;
\r
26 private Amount<Temperature> idealCombustionTemperature = Amount.valueOf(1720, SI.KELVIN);;
\r
27 private double ratioOfSpecificHeats = 1.133;
\r
28 private double ratioOfSpecificHeats2Phase = 1.044;
\r
29 public Amount<MolarWeight> getEffectiveMolarWeight() {
\r
30 return effectiveMolarWeight;
\r
32 public void setEffectiveMolarWeight(Amount<MolarWeight> effectiveMolarWeight) {
\r
33 this.effectiveMolarWeight = effectiveMolarWeight;
\r
35 public Amount<Temperature> getIdealCombustionTemperature() {
\r
36 return idealCombustionTemperature;
\r
38 public void setIdealCombustionTemperature(
\r
39 Amount<Temperature> idealCombustionTemperature) {
\r
40 this.idealCombustionTemperature = idealCombustionTemperature;
\r
42 public double getRatioOfSpecificHeats() {
\r
43 return ratioOfSpecificHeats;
\r
45 public void setRatioOfSpecificHeats(double ratioOfSpecificHeats) {
\r
46 this.ratioOfSpecificHeats = ratioOfSpecificHeats;
\r
48 public double getRatioOfSpecificHeats2Phase() {
\r
49 return ratioOfSpecificHeats2Phase;
\r
51 public void setRatioOfSpecificHeats2Phase(double ratioOfSpecificHeats2Phase) {
\r
52 this.ratioOfSpecificHeats2Phase = ratioOfSpecificHeats2Phase;
\r
56 public EditableFuel() {
\r
57 super(SaintRobertFuel.Type.NONSI);
\r
60 public String getName() {
\r
64 public void setName(String name) {
\r
70 protected double burnrateCoefficient(Amount<Pressure> pressure) {
\r
75 protected double burnrateExponent(Amount<Pressure> pressure) {
\r
80 public double getA() {
\r
84 public void setA(double a) {
\r
88 public double getCombustionEfficiency() {
\r
89 return combustionEfficiency;
\r
92 public void setCombustionEfficiency(double combustionEfficiency) {
\r
93 this.combustionEfficiency = combustionEfficiency;
\r
96 public double getDensityRatio() {
\r
97 return densityRatio;
\r
100 public void setDensityRatio(double densityRatio) {
\r
101 this.densityRatio = densityRatio;
\r
104 public Amount<VolumetricDensity> getIdealDensity() {
\r
105 return idealDensity;
\r
108 public void setIdealDensity(Amount<VolumetricDensity> idealDensity) {
\r
109 this.idealDensity = idealDensity;
\r
112 public double getN() {
\r
116 public void setN(double n) {
\r
120 public CombustionProduct getCombustionProduct() {
\r
121 return combustionProduct;
\r
124 public void setCombustionProduct(CombustionProduct combustionProduct) {
\r
125 this.combustionProduct = combustionProduct;
\r
128 public SaintRobertFuel.Type getType() {
\r
132 public void setType(SaintRobertFuel.Type type) {
\r