834b4dd5b79897e9fe9fdb98a5e1955bd976cdc3
[sw/motorsim] / src / com / billkuker / rocketry / motorsim / fuel / EditableFuel.java
1 package com.billkuker.rocketry.motorsim.fuel;\r
2 \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
7 \r
8 import org.jscience.physics.amount.Amount;\r
9 \r
10 import com.billkuker.rocketry.motorsim.Fuel;\r
11 import com.billkuker.rocketry.motorsim.RocketScience.MolarWeight;\r
12 \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
23         \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
31                 }\r
32                 public void setEffectiveMolarWeight(Amount<MolarWeight> effectiveMolarWeight) {\r
33                         this.effectiveMolarWeight = effectiveMolarWeight;\r
34                 }\r
35                 public Amount<Temperature> getIdealCombustionTemperature() {\r
36                         return idealCombustionTemperature;\r
37                 }\r
38                 public void setIdealCombustionTemperature(\r
39                                 Amount<Temperature> idealCombustionTemperature) {\r
40                         this.idealCombustionTemperature = idealCombustionTemperature;\r
41                 }\r
42                 public double getRatioOfSpecificHeats() {\r
43                         return ratioOfSpecificHeats;\r
44                 }\r
45                 public void setRatioOfSpecificHeats(double ratioOfSpecificHeats) {\r
46                         this.ratioOfSpecificHeats = ratioOfSpecificHeats;\r
47                 }\r
48                 public double getRatioOfSpecificHeats2Phase() {\r
49                         return ratioOfSpecificHeats2Phase;\r
50                 }\r
51                 public void setRatioOfSpecificHeats2Phase(double ratioOfSpecificHeats2Phase) {\r
52                         this.ratioOfSpecificHeats2Phase = ratioOfSpecificHeats2Phase;\r
53                 }\r
54         }\r
55         \r
56         public EditableFuel() {\r
57                 super(SaintRobertFuel.Type.NONSI);\r
58         }\r
59         \r
60         public String getName() {\r
61                 return name;\r
62         }\r
63 \r
64         public void setName(String name) {\r
65                 this.name = name;\r
66         }\r
67 \r
68 \r
69         @Override\r
70         protected double burnrateCoefficient(Amount<Pressure> pressure) {\r
71                 return a;\r
72         }\r
73 \r
74         @Override\r
75         protected double burnrateExponent(Amount<Pressure> pressure) {\r
76                 return n;\r
77         }\r
78 \r
79 \r
80         public double getA() {\r
81                 return a;\r
82         }\r
83 \r
84         public void setA(double a) {\r
85                 this.a = a;\r
86         }\r
87 \r
88         public double getCombustionEfficiency() {\r
89                 return combustionEfficiency;\r
90         }\r
91 \r
92         public void setCombustionEfficiency(double combustionEfficiency) {\r
93                 this.combustionEfficiency = combustionEfficiency;\r
94         }\r
95 \r
96         public double getDensityRatio() {\r
97                 return densityRatio;\r
98         }\r
99 \r
100         public void setDensityRatio(double densityRatio) {\r
101                 this.densityRatio = densityRatio;\r
102         }\r
103 \r
104         public Amount<VolumetricDensity> getIdealDensity() {\r
105                 return idealDensity;\r
106         }\r
107 \r
108         public void setIdealDensity(Amount<VolumetricDensity> idealDensity) {\r
109                 this.idealDensity = idealDensity;\r
110         }\r
111 \r
112         public double getN() {\r
113                 return n;\r
114         }\r
115 \r
116         public void setN(double n) {\r
117                 this.n = n;\r
118         }\r
119 \r
120         public CombustionProduct getCombustionProduct() {\r
121                 return combustionProduct;\r
122         }\r
123 \r
124         public void setCombustionProduct(CombustionProduct combustionProduct) {\r
125                 this.combustionProduct = combustionProduct;\r
126         }\r
127 \r
128         public SaintRobertFuel.Type getType() {\r
129                 return type;\r
130         }\r
131 \r
132         public void setType(SaintRobertFuel.Type type) {\r
133                 this.type = type;\r
134         }\r
135 \r
136 \r
137 }\r