faa.tg.aircraft.adm.engine
Class PistonEngine

java.lang.Object
  extended by faa.tg.aircraft.adm.engine.Engine
      extended by faa.tg.aircraft.adm.engine.PistonEngine
All Implemented Interfaces:
Immutable, java.io.Serializable

public final class PistonEngine
extends Engine
implements Immutable

 PistonEngine represents the object for the PistonEngine Engine. This
 Engine determines the actual thrust and fuel flow of the aircraft used
 to meet the desired commands determined by the Control Logic. In order to
 calculate the thrust and fuel flow, the current atmospheric conditions will
 be considered.
 
See the source: PistonEngine.java

Version:
$Id: PistonEngine.java,v 3.8 2008/10/20 21:37:15 lykensj Exp $
Author:
Mike Capito / Mike Konyak
See Also:
Engine, Thrust, FuelFlowRate, Serialized Form

Field Summary
static java.lang.String CVS_VERSION_ID
          The CVS Version ID
private  EngineCoeff engineCoeff
           
static double IDLE_THRUST_FACTOR
           
private  double kLag
          Deprecated.  
private static TrueAirspeed LANDING_GEAR_MAX_TAS_LIMIT
           
private static int PISTON_SPOOLING_TIME_SEC
           
private static IndicatedAirspeed ROTATION_SPEED_INCREMENT
           
(package private) static long serialVersionUID
           
static double TAKEOFF_THRUST_FACTOR
           
 
Constructor Summary
PistonEngine(EngineCoeff ec)
          Standard constructor accepts EngineCoeff object containing coefficient to describe the Engine's behavior with respect to the AMT (Aircraft Modeling Tool) model.
 
Method Summary
 FuelFlowRate calcFuelFlowRate(Thrust thrustval, Altitude alt, TrueAirspeed trueAirSpeed)
          Method to get the calculated fuel flow.
 Thrust getClimbThrust(Altitude altitude, TrueAirspeed trueAirspeed)
          Calculates and returns the maximum thrust of the piston engine.
 Thrust getDescentThrust(Altitude altitude, TrueAirspeed trueAirSpeed)
          Method to calculate and return the idle thrust of the engine: this is determined by a percentage of max thrust: zero thrust is unrealistic for an idle.
 TrueAirspeed getMaxSpeedForLandingGear()
           
 Thrust getMaxThrustChange(Altitude alt, TrueAirspeed tas)
          Returns the amount that the thrust can change in a timeStep.
 java.lang.String getName()
          Return the name of the engine.
 IndicatedAirspeed getRotationSpeedIncrement()
          This is the amount of speed beyond the rotation speed that the aircraft has to achieve before it's allowed to lift off.
 Thrust getTakeoffThrust(Altitude alt, TrueAirspeed tas)
          Method to calculate and return the takeoff thrust of the engine: this is determined by a percentage of max thrust: Typically 1.2 times maxThrust
 Thrust getTouchdownThrust(Altitude alt, TrueAirspeed tas)
          Method to return the engine thrust used after touchdown.
protected  double spoolingTime()
           
 java.lang.String toString()
          Returns a string representation of the object.
 
Methods inherited from class faa.tg.aircraft.adm.engine.Engine
getMaxThrustChange, temperThrustChange, temperThrustLimit
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

serialVersionUID

static final long serialVersionUID
See Also:
Constant Field Values

CVS_VERSION_ID

public static final java.lang.String CVS_VERSION_ID
The CVS Version ID

See Also:
Constant Field Values

IDLE_THRUST_FACTOR

public static final double IDLE_THRUST_FACTOR
See Also:
getDescentThrust(Altitude, TrueAirspeed), Constant Field Values

TAKEOFF_THRUST_FACTOR

public static final double TAKEOFF_THRUST_FACTOR
See Also:
getTakeoffThrust(Altitude, TrueAirspeed), Constant Field Values

ROTATION_SPEED_INCREMENT

private static final IndicatedAirspeed ROTATION_SPEED_INCREMENT

LANDING_GEAR_MAX_TAS_LIMIT

private static final TrueAirspeed LANDING_GEAR_MAX_TAS_LIMIT

PISTON_SPOOLING_TIME_SEC

private static final int PISTON_SPOOLING_TIME_SEC
See Also:
Constant Field Values

kLag

private double kLag
Deprecated. 
Spooling lag coefficient for piston engines: ratio of the time for the engine to spool from zero thrust to max thrust, divided by the timestep.


engineCoeff

private final EngineCoeff engineCoeff
Constructor Detail

PistonEngine

public PistonEngine(EngineCoeff ec)
Standard constructor accepts EngineCoeff object containing coefficient to describe the Engine's behavior with respect to the AMT (Aircraft Modeling Tool) model.

Parameters:
ec - EngineCoeff object containing the engine coefficients that describe the aircraft.
Method Detail

spoolingTime

protected double spoolingTime()
Specified by:
spoolingTime in class Engine

getClimbThrust

public Thrust getClimbThrust(Altitude altitude,
                             TrueAirspeed trueAirspeed)
Calculates and returns the maximum thrust of the piston engine. This method is needed to extend Engine.

Specified by:
getClimbThrust in class Engine
Parameters:
altitude - Altitude of the aircraft.
trueAirspeed - The true airspeed of the aircraft.
Returns:
The maximum achievable thrust at the given altitude and speed.

getMaxThrustChange

public Thrust getMaxThrustChange(Altitude alt,
                                 TrueAirspeed tas)
Returns the amount that the thrust can change in a timeStep.


getTouchdownThrust

public Thrust getTouchdownThrust(Altitude alt,
                                 TrueAirspeed tas)
Method to return the engine thrust used after touchdown. Zero in the case of Piston Engines.

Specified by:
getTouchdownThrust in class Engine
Parameters:
alt - The altitude of the runway.
tas - The true airspeed of the aircraft.
See Also:
Engine.getTouchdownThrust(Altitude, TrueAirspeed)

getTakeoffThrust

public Thrust getTakeoffThrust(Altitude alt,
                               TrueAirspeed tas)
Method to calculate and return the takeoff thrust of the engine: this is determined by a percentage of max thrust: Typically 1.2 times maxThrust

Specified by:
getTakeoffThrust in class Engine
Parameters:
alt - Altitude of the aircraft.
tas - The true airspeed of the aircraft.
Returns:
Thrust object containing the takeoff thrust value at the given altitude and speed.
See Also:
Engine.getTakeoffThrust(Altitude, TrueAirspeed)

getRotationSpeedIncrement

public final IndicatedAirspeed getRotationSpeedIncrement()
Description copied from class: Engine
This is the amount of speed beyond the rotation speed that the aircraft has to achieve before it's allowed to lift off. This varies per engine.

Specified by:
getRotationSpeedIncrement in class Engine
See Also:
Engine.getRotationSpeedIncrement()

getMaxSpeedForLandingGear

public final TrueAirspeed getMaxSpeedForLandingGear()
Specified by:
getMaxSpeedForLandingGear in class Engine
See Also:
Engine.getMaxSpeedForLandingGear()

getDescentThrust

public Thrust getDescentThrust(Altitude altitude,
                               TrueAirspeed trueAirSpeed)
Method to calculate and return the idle thrust of the engine: this is determined by a percentage of max thrust: zero thrust is unrealistic for an idle.

Specified by:
getDescentThrust in class Engine
Parameters:
altitude - Altitude of the aircraft.
trueAirSpeed - The true airspeed of the aircraft.
Returns:
Thrust object containing the idle thrust value at the given altitude and speed.

calcFuelFlowRate

public FuelFlowRate calcFuelFlowRate(Thrust thrustval,
                                     Altitude alt,
                                     TrueAirspeed trueAirSpeed)
Method to get the calculated fuel flow. This method is needed to extend Engine

Specified by:
calcFuelFlowRate in class Engine
Parameters:
thrustval - The thrust of the engine.
alt - The altitude of the aircraft.
trueAirSpeed - The true airspeed of the aircraft.
Returns:
the fuel consumption as represented by cTf1
See Also:
Engine

toString

public java.lang.String toString()
Returns a string representation of the object.

Overrides:
toString in class java.lang.Object

getName

public java.lang.String getName()
Return the name of the engine.

Specified by:
getName in class Engine