1 package com.billkuker.rocketry.motorsim.motors.example;
\r
3 import java.awt.Shape;
\r
4 import java.awt.geom.Ellipse2D;
\r
5 import java.awt.geom.Rectangle2D;
\r
7 import javax.measure.unit.SI;
\r
9 import org.jscience.physics.amount.Amount;
\r
11 import com.billkuker.rocketry.motorsim.Burn;
\r
12 import com.billkuker.rocketry.motorsim.ConvergentDivergentNozzle;
\r
13 import com.billkuker.rocketry.motorsim.CylindricalChamber;
\r
14 import com.billkuker.rocketry.motorsim.Motor;
\r
15 import com.billkuker.rocketry.motorsim.fuel.KNSU;
\r
16 import com.billkuker.rocketry.motorsim.grain.ExtrudedShapeGrain;
\r
18 public class CSlot extends Motor {
\r
21 setFuel(new KNSU());
\r
23 CylindricalChamber c = new CylindricalChamber();
\r
24 c.setLength(Amount.valueOf(150, SI.MILLIMETER));
\r
25 c.setID(Amount.valueOf(50, SI.MILLIMETER));
\r
28 setGrain(new ExtrudedShapeGrain() {
\r
31 Shape outside = new Ellipse2D.Double(0, 0, 30, 30);
\r
32 xsection.add(outside);
\r
33 xsection.inhibit(outside);
\r
34 xsection.subtract(new Rectangle2D.Double(12.5,13, 5, 30));
\r
35 setLength(Amount.valueOf(150, SI.MILLIMETER));
\r
36 setForeEndInhibited(false);
\r
37 setAftEndInhibited(false);
\r
38 } catch (Exception e) {
\r
44 ConvergentDivergentNozzle n = new ConvergentDivergentNozzle();
\r
45 n.setThroatDiameter(Amount.valueOf(7, SI.MILLIMETER));
\r
46 n.setExitDiameter(Amount.valueOf(10, SI.MILLIMETER));
\r
47 n.setEfficiency(.85);
\r
51 public static void main(String args[]){
\r
52 new Burn(new CSlot());
\r