1
0
Fork 0

Move the calculations of Mach to the base class.

This commit is contained in:
ehofman 2004-10-02 13:34:06 +00:00
parent 0304651a9b
commit 1d081cdd93
4 changed files with 18 additions and 3 deletions

View file

@ -36,7 +36,6 @@ FGAIBallistic::FGAIBallistic(FGAIManager* mgr) {
gravity = 32;
// buoyancy = 64;
no_roll = false;
Mach = 0.4;
}
FGAIBallistic::~FGAIBallistic() {

View file

@ -67,7 +67,6 @@ private:
bool wind; // if true, local wind will be applied to object
double Cd; // drag coefficient
double mass; // slugs
double Mach;
void Run(double dt);
};

View file

@ -98,9 +98,23 @@ void FGAIBase::update(double dt) {
}
rho = p / (1718 * (T + 459.7));
// calculate the speed of sound at altitude
// a = sqrt ( g * R * (T + 459.7))
// where:
// a = speed of sound [ft/s]
// g = specific heat ratio, which is usually equal to 1.4
// R = specific gas constant, which equals 1716 ft-lb/slug/°R
a = sqrt ( 1.4 * 1716 * (T + 459.7));
// calculate Mach number
Mach = speed/a;
// cout << "Speed(ft/s) "<< speed <<" Altitude(ft) "<< altitude << " Mach " << Mach;
}
void FGAIBase::Transform() {
if (!invisible) {
aip.setPosition(pos.lon(), pos.lat(), pos.elev() * SG_METER_TO_FEET);

View file

@ -182,6 +182,9 @@ public:
double rho;
double T; // temperature, degs farenheit
double p; // pressure lbs/sq ft
double a; // speed of sound at altitude (ft/s)
double Mach; // Mach number
static const double e;
static const double lbs_to_slugs;