VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Member Functions | Static Public Member Functions | Protected Attributes
DtAircraftFuelConsumptionModel Class Referenceabstract

Implements the Breguet range equation V(L/D) Range = ---—*ln(Wi/Wf) g*SFC V = Velocity L/D = Lift/Drag ratio (aerodynamic efficiency) SFC = Specific fuel consumption (engine efficiency) Wi = initial weight Wf = final weight.

Subclasses implement various interpolation schemes.

Inheritance diagram for DtAircraftFuelConsumptionModel:
Inheritance graph
[legend]

Public Member Functions

 DtAircraftFuelConsumptionModel ()
 
virtual ~DtAircraftFuelConsumptionModel ()
 
virtual bool isValid () const
 
virtual bool addDataPoints (const DtRwAircraftEngineEfficiencyDataPointList &datapoints, double startMass, double endMass, std::ostream *errorStream=0)=0
 
virtual double calculateEfficiency (double range, double speed, double startMass, double endMass) const
 
virtual double calculateRange (double speed, double altitude, double startMass, double endMass) const
 
virtual double interpolateEfficiency (double speed, double altitude) const =0
 
virtual double fuelConsumed (double range, double speed, double altitude, double mass) const
 
virtual bool shouldConsumeFuel () const
 
virtual void setShouldConsumeFuel (bool shouldConsume)
 

Static Public Member Functions

static
DtAircraftFuelConsumptionModel
Create (const DtRwAircraftEngineEfficiencyDataPointList &datapoints)
 

Protected Attributes

bool myShouldConsumeFuel
 

Constructor & Destructor Documentation

DtAircraftFuelConsumptionModel::DtAircraftFuelConsumptionModel ( )
virtual DtAircraftFuelConsumptionModel::~DtAircraftFuelConsumptionModel ( )
virtual

Virtual destructor.

Member Function Documentation

static DtAircraftFuelConsumptionModel* DtAircraftFuelConsumptionModel::Create ( const DtRwAircraftEngineEfficiencyDataPointList datapoints)
static

Factory function.

virtual bool DtAircraftFuelConsumptionModel::isValid ( ) const
virtual

Allows system to be configured but still warn user that something may be wrong.

Reimplemented in DtBilinearInterpolationAircraftFuelConsumptionModel, and DtConstantAircraftFuelConsumptionModel.

virtual bool DtAircraftFuelConsumptionModel::addDataPoints ( const DtRwAircraftEngineEfficiencyDataPointList datapoints,
double  startMass,
double  endMass,
std::ostream *  errorStream = 0 
)
pure virtual

Configure the model with a set of data points. Each data point has a range, altitude, and speed. Combined with the startMass and endMass, can be used to determine an engine efficiency.

Parameters
startMassStarting mass of aircraft.
endMassEnding mass of aircraft. For example if the aircraft starts out with a full fuel tank and uses all of it's fuel (the usual case for range specifications) then startMass would be the mass of the aircraft plus the mass of the full fuel tank and endMass would be the mass of the aircraft. This doesn't have to be the case though, if you knew the range when using half the fuel then you could use that.

Implemented in DtBilinearInterpolationAircraftFuelConsumptionModel, DtConstantAircraftFuelConsumptionModel, and DtNoFuelUsageAircraftFuelConsumptionModel.

virtual double DtAircraftFuelConsumptionModel::calculateEfficiency ( double  range,
double  speed,
double  startMass,
double  endMass 
) const
virtual

Calculates an engine efficiency. This is a function of Breguet equation and generally should not be override by subclasses.

virtual double DtAircraftFuelConsumptionModel::calculateRange ( double  speed,
double  altitude,
double  startMass,
double  endMass 
) const
virtual

Calculates the range at specific conditions.

Reimplemented in DtNoFuelUsageAircraftFuelConsumptionModel.

virtual double DtAircraftFuelConsumptionModel::interpolateEfficiency ( double  speed,
double  altitude 
) const
pure virtual

Interpolate an engine efficiency at a given speed and altitude.

Implemented in DtBilinearInterpolationAircraftFuelConsumptionModel, DtConstantAircraftFuelConsumptionModel, and DtNoFuelUsageAircraftFuelConsumptionModel.

virtual double DtAircraftFuelConsumptionModel::fuelConsumed ( double  range,
double  speed,
double  altitude,
double  mass 
) const
virtual

Calculate the fuel consumed over a given range.

Parameters
massThe mass of the aircraft (airframe + fuel) at the start of the movement. Does not take into account the amount of fuel the aircraft has, i.e. it may use more fuel than the aircraft has. It's up to the user to actually deal with decrementing the fuel.

Reimplemented in DtNoFuelUsageAircraftFuelConsumptionModel.

virtual bool DtAircraftFuelConsumptionModel::shouldConsumeFuel ( ) const
virtual

Returns true if the model should currently consume fuel.

Reimplemented in DtNoFuelUsageAircraftFuelConsumptionModel.

virtual void DtAircraftFuelConsumptionModel::setShouldConsumeFuel ( bool  shouldConsume)
virtual

Enables or disables fuel consumption.

Member Data Documentation

bool DtAircraftFuelConsumptionModel::myShouldConsumeFuel
protected

The documentation for this class was generated from the following file:

Document ID: Generated on Wed Mar 27 22:49:11 EDT 2024 from SVN revision 264633
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)