\r
import org.jscience.physics.amount.Amount;\r
\r
-public class ConvergentDivergentNozzle extends MotorPart implements Nozzle {\r
+public class ConvergentDivergentNozzle implements Nozzle, Validating {\r
\r
private Amount<Length> throatDiameter;\r
\r
\r
\r
public void setThroatDiameter(Amount<Length> throatDiameter) {\r
- if ( exitDiameter != null && throatDiameter.isGreaterThan(exitDiameter))\r
- throw new IllegalArgumentException("Throat > Exit");\r
- Amount<Length> old = this.throatDiameter;\r
this.throatDiameter = throatDiameter;\r
- firePropertyChange("throatDiameter", old, throatDiameter);\r
}\r
\r
\r
\r
\r
public void setExitDiameter(Amount<Length> exitDiameter) {\r
- if ( throatDiameter != null && exitDiameter.isLessThan(throatDiameter))\r
- throw new IllegalArgumentException("Throat > Exit");\r
- Amount<Length> old = this.exitDiameter;\r
this.exitDiameter = exitDiameter;\r
- firePropertyChange("exitDiameter", old, exitDiameter);\r
}\r
\r
public Amount<Force> thrust(Amount<Pressure> Po, Amount<Pressure> Pe, Amount<Pressure> Patm, final double k ){\r
}\r
\r
public void setEfficiency(double efficiency) {\r
- double old = this.efficiency;\r
this.efficiency = efficiency;\r
- firePropertyChange("efficiency", old, efficiency);\r
}\r
\r
public Shape nozzleShape(Amount<Length> chamberDiameter){\r
\r
return s;\r
}\r
+\r
+ @Override\r
+ public void validate() throws ValidationException {\r
+ if ( exitDiameter != null && throatDiameter.isGreaterThan(exitDiameter))\r
+ throw new IllegalArgumentException("Throat > Exit");\r
+ }\r
}\r