34 #ifndef FGSTANDARDATMOSPHERE_H 35 #define FGSTANDARDATMOSPHERE_H 42 #include "math/FGTable.h" 43 #include "models/FGAtmosphere.h" 49 #define ID_STANDARDATMOSPHERE "$Id: FGStandardAtmosphere.h,v 1.17 2012/04/13 13:18:27 jberndt Exp $" 111 bool InitModel(
void);
143 {
if (to == eCelsius || to == eKelvin)
return TemperatureBias/1.80;
else return TemperatureBias; }
148 {
if (to == eCelsius || to == eKelvin)
return TemperatureDeltaGradient/1.80;
else return TemperatureDeltaGradient; }
250 double StdSLtemperature, StdSLdensity, StdSLpressure, StdSLsoundspeed;
252 double TemperatureBias;
253 double TemperatureDeltaGradient;
254 double GradientFadeoutAltitude;
256 FGTable* StdAtmosTemperatureTable;
257 std::vector<double> LapseRateVector;
258 std::vector<double> PressureBreakpointVector;
269 virtual void bind(
void);
270 void Debug(
int from);
virtual double GetStdDensity(double altitude) const
Returns the standard density at a specified altitude.
virtual double GetTemperatureBias(eTemperature to) const
Returns the temperature bias over the sea level value in degrees Rankine.
void CalculateLapseRates()
Recalculate the lapse rate vectors when the temperature profile is altered in a way that would change...
virtual void SetTemperatureSL(double t, eTemperature unit=eFahrenheit)
Sets the Sea Level temperature, if it is to be different than the standard.
virtual void SetTemperature(double t, double h, eTemperature unit=eFahrenheit)
Sets the temperature at the supplied altitude, if it is to be different than the standard temperature...
ePressure
Enums for specifying pressure units.
virtual double GetPressure(void) const
Returns the pressure in psf.
virtual void PrintStandardAtmosphereTable()
Prints the U.S. Standard Atmosphere table.
FGStandardAtmosphere(FGFDMExec *)
Constructor.
virtual void SetTemperatureGradedDelta(double t, double h, eTemperature unit=eFahrenheit)
Sets the temperature delta value at the supplied altitude/elevation above sea level, to be added to the standard temperature and ramped out by 86 km.
virtual double GetStdTemperatureSL() const
Returns the standard sea level temperature in degrees Rankine.
virtual double GetStdPressure(double altitude) const
Returns the standard pressure at the specified altitude.
void CalculatePressureBreakpoints()
Calculate (or recalculate) the atmospheric pressure breakpoints at the altitudes in the standard temp...
Models an empty, abstract base atmosphere class.
virtual void SetPressureSL(ePressure unit, double pressure)
Sets the sea level pressure for modeling an off-standard pressure profile.
virtual void SetTemperatureBias(eTemperature unit, double t)
Sets the temperature bias to be added to the standard temperature at all altitudes.
virtual void ResetSLTemperature()
This function resets the model to apply no bias or delta gradient to the temperature.
virtual double GetTemperatureDeltaGradient(eTemperature to)
Returns the temperature gradient to be applied on top of the standard temperature gradient...
virtual ~FGStandardAtmosphere()
Destructor.
eTemperature
Enums for specifying temperature units.
virtual double GetStdTemperatureRatio(double h) const
Returns the ratio of the standard temperature at the supplied altitude over the standard sea level te...
virtual void ResetSLPressure()
Resets the sea level to the Standard sea level pressure, and recalculates dependent parameters so tha...
virtual double GetStdTemperature(double altitude) const
Returns the standard temperature in degrees Rankine at a specified altitude.
Encapsulates the JSBSim simulation executive.
virtual double GetTemperature() const
Returns the actual, modeled temperature at the current altitude in degrees Rankine.
virtual void SetSLTemperatureGradedDelta(eTemperature unit, double t)
Sets a Sea Level temperature delta that is ramped out by 86 km.
virtual double GetStdPressure100K(double altitude) const
Returns the standard pressure at a specified altitude in psf.