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.Velocity;
\r
6 import javax.measure.quantity.VolumetricDensity;
\r
7 import javax.measure.unit.SI;
\r
9 import org.jscience.physics.amount.Amount;
\r
11 import com.billkuker.rocketry.motorsim.RocketScience.MolarWeight;
\r
12 import com.billkuker.rocketry.motorsim.visual.Chart;
\r
14 public class KNER extends SaintRobertFuel {
\r
17 super(SaintRobertFuel.Type.NONSI);
\r
22 protected double burnrateCoefficient(Amount<Pressure> pressure) {
\r
27 protected double burnrateExponent(Amount<Pressure> pressure) {
\r
32 public Amount<VolumetricDensity> getIdealDensity() {
\r
33 return Amount.valueOf(1819.9, 0, SI.KILOGRAM.divide(SI.METER.pow(3))).to(VolumetricDensity.UNIT);
\r
36 public CombustionProduct getCombustionProduct() {
\r
37 return new CombustionProduct(){
\r
39 public Amount<Temperature> getIdealCombustionTemperature() {
\r
40 return Amount.valueOf(1600, SI.KELVIN);
\r
43 public Amount<MolarWeight> getEffectiveMolarWeight() {
\r
44 return Amount.valueOf("38.78 kg/kmol").to(MolarWeight.UNIT);
\r
47 public double getRatioOfSpecificHeats() {
\r
51 public double getRatioOfSpecificHeats2Phase() {
\r
57 public static void main( String args[]) throws Exception{
\r
58 KNER f = new KNER();
\r
60 Chart<Pressure, Velocity> burnRate = new Chart<Pressure, Velocity>(
\r
62 SI.METERS_PER_SECOND,
\r
66 burnRate.new IntervalDomain(
\r
67 Amount.valueOf(0, SI.MEGA(SI.PASCAL)),
\r
68 Amount.valueOf(11, SI.MEGA(SI.PASCAL)),
\r
75 public double getCombustionEfficiency() {
\r
79 public double getDensityRatio() {
\r