##

Atmosphere Class Referenceabstract
Physics

This models a base atmosphere class to serve as a common interface to any derived atmosphere models. More...

`#include <physics/physics.hh>`

Inherited by AdiabaticAtmosphere.

## Public Member Functions

| Atmosphere (physics::World &_world)
| Default constructor. More...
virtual | ~Atmosphere ()
| Destructor. More...
virtual void | Load (sdf::ElementPtr _sdf)
| Load the atmosphere model. More...
virtual double | MassDensity (const double _altitude=0.0) const
| Get the density in kg/m^3 at a given altitude. More...
virtual double | Pressure (const double _altitude=0.0) const
| Get the pressure at a specified altitude in pascals. More...
virtual void | Reset ()
| Reset the atmosphere model. More...
sdf::ElementPtr | SDF () const
| Get a pointer to the SDF element for this atmosphere model. More...
virtual void | SetPressure (const double _pressure)
| Set the sea level pressure. More...
virtual void | SetTemperature (const double _t)
| Set the sea level temperature. More...
virtual void | SetTemperatureGradient (const double _gradient)=0
| Set the temperature gradient dT/dZ with respect to increasing altitude around sea level. More...
virtual double | Temperature (const double _altitude=0.0) const
| Get the actual modeled temperature in kelvins at a given altitude. More...
double | TemperatureGradient () const
| Get the sea level temperature gradient with respect to increasing altitude. More...
virtual std::string | Type () const =0
| Return the atmosphere model type (such as "adiabatic"). More...

## Static Public Attributes

static const double | IDEAL_GAS_CONSTANT_R
| Universal ideal gas constant in J/(mol.K) More...
static const double | MOLAR_MASS
| Molar mass of the air in kg/mol. More...

## Protected Member Functions

virtual void | OnAtmosphereMsg (ConstAtmospherePtr &_msg)
| Virtual callback for gztopic "~/atmosphere". More...
virtual void | OnRequest (ConstRequestPtr &_msg)
| Virtual callback for gztopic "~/request". More...
void | Publish (const msgs::Response &_msg) const
| Publish response to a request. More...
void | UpdateMassDensity ()
| Update the mass density of the air at sea level using the ideal gas law. More...
physics::World & | World () const
| Return the world. More...

## Detailed Description

This models a base atmosphere class to serve as a common interface to any derived atmosphere models.

## Constructor & Destructor Documentation

## Atmosphere()

Atmosphere | ( | physics::World & | _world | ) |

explicit

Default constructor.

Parameters

  [in] | _world | Reference to the world.

## ~Atmosphere()

virtual ~Atmosphere | ( |  | ) |

virtual

Destructor.

## Member Function Documentation

## Load()

virtual void Load | ( | sdf::ElementPtr | _sdf | ) |

virtual

Load the atmosphere model.

Parameters

  [in] | _sdf | Pointer to the SDF parameters.

Reimplemented in AdiabaticAtmosphere.

## MassDensity()

virtual double MassDensity | ( | const double | _altitude = `0.0` | ) | const

virtual

Get the density in kg/m^3 at a given altitude.

Parameters

  [in] | _altitude | Altitude above sea level in meters.

Returns
  Density in kg/m^3 at the specified altitude.

Reimplemented in AdiabaticAtmosphere.

## OnAtmosphereMsg()

virtual void OnAtmosphereMsg | ( | ConstAtmospherePtr & | _msg | ) |

protected virtual

Virtual callback for gztopic "~/atmosphere".

Parameters

  [in] | _msg | Atmosphere message.

Reimplemented in AdiabaticAtmosphere.

## OnRequest()

virtual void OnRequest | ( | ConstRequestPtr & | _msg | ) |

protected virtual

Virtual callback for gztopic "~/request".

Parameters

  [in] | _msg | Request message.

Reimplemented in AdiabaticAtmosphere.

## Pressure()

virtual double Pressure | ( | const double | _altitude = `0.0` | ) | const

virtual

Get the pressure at a specified altitude in pascals.

Parameters

  [in] | _altitude | Altitude above sea level in meters.

Returns
  Pressure in pascals at the specified altitude.

Reimplemented in AdiabaticAtmosphere.

## Publish()

void Publish | ( | const msgs::Response & | _msg | ) | const

protected

Publish response to a request.

Parameters

  [in] | _msg | Message to be published.

## Reset()

virtual void Reset | ( |  | ) |

virtual

Reset the atmosphere model.

## SDF()

sdf::ElementPtr SDF | ( |  | ) | const

Get a pointer to the SDF element for this atmosphere model.

Returns
  Pointer to the atmosphere SDF element.

## SetPressure()

virtual void SetPressure | ( | const double | _pressure | ) |

virtual

Set the sea level pressure.

Parameters

  [in] | _pressure | Pressure in pascals.

## SetTemperature()

virtual void SetTemperature | ( | const double | _t | ) |

virtual

Set the sea level temperature.

Parameters

  [in] | _t | Temperature value in kelvins.

## SetTemperatureGradient()

virtual void SetTemperatureGradient | ( | const double | _gradient | ) |

pure virtual

Set the temperature gradient dT/dZ with respect to increasing altitude around sea level.

Parameters

  [in] | _gradient | Value of the temperature gradient dT/dZ around sea level in K/m.

Implemented in AdiabaticAtmosphere.

## Temperature()

virtual double Temperature | ( | const double | _altitude = `0.0` | ) | const

virtual

Get the actual modeled temperature in kelvins at a given altitude.

Parameters

  [in] | _altitude | Altitude above sea level in meters.

Returns
  Modeled temperature in kelvin at the specified altitude.

Reimplemented in AdiabaticAtmosphere.

## TemperatureGradient()

double TemperatureGradient | ( |  | ) | const

Get the sea level temperature gradient with respect to increasing altitude.

Returns
  Temperature gradient at sea level in K/m.

## Type()

virtual std::string Type | ( |  | ) | const

pure virtual

Return the atmosphere model type (such as "adiabatic").

Returns
  Type of the atmosphere model.

Implemented in AdiabaticAtmosphere.

## UpdateMassDensity()

void UpdateMassDensity | ( |  | ) |

protected

Update the mass density of the air at sea level using the ideal gas law.

See https://en.wikipedia.org/wiki/Ideal_gas_law

## World()

physics::World& World | ( |  | ) | const

protected

Return the world.

Returns
  Reference to the world.

## Member Data Documentation

## IDEAL_GAS_CONSTANT_R

const double IDEAL_GAS_CONSTANT_R

static

Universal ideal gas constant in J/(mol.K)

## MOLAR_MASS

const double MOLAR_MASS

static

Molar mass of the air in kg/mol.

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

- Atmosphere.hh