# FlightGear

FlightGear Flight Simulator (often shortened to FlightGear or FGFS) is a free, open source multi-platform flight simulator developed by the FlightGear project since 1997.
David Murr started this project on April 8, 1996. This project had its first release in 1997 and continued in development. It has specific builds for a variety of different operating systems including Microsoft Windows, macOS, Linux, IRIX, and Solaris.
FlightGear is an atmospheric and orbital flight simulator used in aerospace research and industry. Its flight dynamics engine (JSBSim) is used in a 2015 NASA benchmark to judge new simulation code to the standards of the space industry.

## History

FlightGear started as an online proposal in 1996 by David Murr, living in the United States. He was dissatisfied with proprietary, available, simulators like the Microsoft Flight Simulator, citing motivations of companies not aligning with the simulators' players ("simmers"), and proposed a new flight simulator developed by volunteers over the Internet. The flight simulator was created using custom 3D graphics code. Development of an OpenGL based version was spearheaded by Curtis Olson starting in 1997. FlightGear incorporated other open-source resources, including the LaRCsim flight dynamics engine from NASA, and freely available elevation data. The first working binaries using OpenGL came out in 1997. By 1999 FlightGear had replaced LaRCsim with JSBSim built to the sims' needs, and in 2015 NASA used JSBSim alongside 6 other space industry standards to create a measuring stick to judge future space industry simulation code.
FlightGear reached 1.0 in 2007, 2.0 in 2010, and there were 9 major releases under 2.x and 3.x labels, with the final one under the previous numbering scheme being "3.4", since "3.6" was cancelled. The project moved to a regular release cadence with 2-4 releases per year since 2016, with the first version under the new naming scheme being "2016.1". Around that time, the graphical front end "FlightGear Launch Control", also known as "FGRun", was replaced by a hard-coded Qt launcher. FlightGear's source code is released under the terms of the GNU General Public License and is free and open-source software.
The FlightGear project has been nominated by SourceForge, and subsequently chosen as project of the month by the community, in 2015, 2017, and 2019.

## Simulator features
### Physics

Forces experienced by a flying aircraft depend on the time-varying state of atmospheric fluid flow along the flight path - the atmosphere being a fluid that can exchange energy, exchange moisture or particles, change phase or other state, and exert force with boundaries formed by surfaces. Fluid behaviour is often characterised by eddies or vortices on varying scales down to the microscopic, but is harder to observe as the air is clear except for moisture phase changes like condensation trails or clouds. The atmosphere-terrain boundary interaction follows fluid dynamics, just with processes on hugely varying scales and 'weather' is the planetary boundary layer. The aircraft surface interaction works with the same dynamics, but on a limited range of scales. Forces experienced at any point along a flight path, therefore, are the result of complicated atmospheric processes on varying spatial scales, and complex flow along the craft's surface. Craft also experience varying gravitational force based on the 3d shape of the potential well and the non-spherical shape of the Earth.

#### Atmospheric & Environmental Physics

FlightGear can simulate the atmosphere ranging from energy inputs/outputs to the system, like energy from the sun or volcanic sources, through to fluid flow on various scales and changes of state. FlightGear is able to model different surface characteristics such as heating or cooling, and the exchange of heat and moisture with the atmosphere depending on factors like windflow or dew point. FlightGear models the continuously evolving life-cycle of phenomena on various scales, driven by interaction of fluid with terrain. They range from turbulence on different scales to, individual thermals, thunderstorms, through to moving air layers, and depicting air-masses on the scale of thousands of kilometers. Atmospheric water is modeled by FlightGear ranging from state changes such as condensing into cloud or haze layers, along with energy provided from latent heat to drive convective fluid flow, through to precipitation as rain droplets, snow, or hail.
The process of generating lift creates turbulence with vortices, and FlightGear models wake turbulence with shedding of wingtip vortices by flown craft as well as AI craft.
FlightGear also has a less physically accurate model that uses METAR weather updates of differing frequency, designed for safe operation of aerodromes, to dis-continuously force atmosphere based on attempted guesses of processes that are fundamentally constrained by the closeness or density of observation stations, as well as the small-scale, limited, rounded off, non-smoothly varying, and need-to-know precision of information. Aloft waypoint settings modelling high altitude behaviors of wind can be synced to updates from Jeppeson.
Flightgear has a simulation of planetary bodies in the solar system which is used for purposes like driving latitude dependent weather from solar radiation, as well as the brightness and position of stars for celestial navigation. There is a model of gravity based on a non-spherical Earth, and craft can even experience differing gravity across their bodies which will exert twisting force. A model of the observed variation in the Earth's complex magnetic field, and the option to simulate, to an extent, the propagation of radio wave signals due to interaction with different types of terrain, also exists in FlightGear.
FlightGear uses an exact, non-spherical, model of Earth, and is also able to simulate flight in polar regions and airports (arctic or antarctic) without simulator errors due to issues with coordinate systems.

#### Flight Dynamics

FlightGear supports multiple flight dynamics engines with differing approaches, and external sources such as MATLAB/Simulink, as well as custom flight models for hot air balloons and spacecraft.

##### JSBSim

JSBSim is a data driven flight dynamics engine with a C++ core built to the needs of the FlightGear project from 1996 to replace NASA's LaRCSim, and integrated into FlightGear as the default from 1999. Flight characteristics are preserved despite low frame rate, as JSBSim physics are decoupled from rendering and tick at 120 Hz by default. This also supports high time-acceleration as rendering does not have to be done faster causing the GPU to be a bottleneck.
Mass balance, ground reactions, propulsion, aerodynamics, buoyant forces, external forces, atmospheric forces, and gravitational forces can be utilized by JSBSim, the current default flight dynamics engine supported by FlightGear, to determine flight characteristics. JSBSim supports non-terrestrial atmospheres and has been used to model unmanned flight in the Martian atmosphere by NASA.

###### Benchmark testing by NASA

JSBSim was used by NASA in 2015 with other space industry simulation code, both to establish a ruler to judge future code for the requirements and standards of the space industry, as well as check agreement. The verification tested both atmospheric and orbital flight in 6-degrees-of-freedom for simulations like JSBSim that supported both. The results from 6 participants consisting of NASA Ames Research Center (VMSRTE), Armstrong Flight Research Center (Core), Johnson Space Center (JEOD), Langley Research Center (LaSRS++, POST-II), Marshall Space Flight Center (MAVERIC), and JSBSim were anonymous as NASA wanted to encourage participation. However, the assessment found agreement for all test cases between the majority of participants, with the differences being explainable and reducible for the rest, and with the orbital tests agreeing "quite well" for all participants.

##### YASim

YASim's approach to flight dynamics uses the geometry of the aircraft present in the 3D model at startup, conceptually similar to Blade element theory used by some software, to calculate a rough approximation of fluid dynamics - with the conceptual problems that each "element" is considered in isolation therefore missing affecting fluid flow to other elements, and the approximation breaking down for craft in transonic to hypersonic regimes. By contrast, offline approaches like JSBSim can incorporate windtunnel data. They can also incorporate the results of computational fluid dynamics which can reach computable accuracy only limited by the nature of the problem and present day computational resources.
FlightGear also supports LaRCsim and UIUC.

#### Time acceleration

FlightGear is able to accelerate and decelerate time, speeding up or slowing down the simulation. Time acceleration is a critical feature for simulating longer flights and space missions. For all interactions with the simulator, it allows people to speed up uneventful parts, and gain more experience (decisions and problem solving). It also means automated simulations used for research finish faster - this is helped by FlightGear's headless mode.
FlightGear is able to support high time accelerations by allowing parts of the simulation to run at different rates. This allows saving of CPU and GPU resources by letting unimportant parts of the simulation, like visuals or less time-sensitive aircraft systems, run at slower rates. It also improves performance. Separate clocks are available for JSBSim physics, different parts of aircraft systems, as well as environment simulations at large scale (celestial simulation) and small scale (weather physics).

### Rendering and visual cues
#### Atmosphere rendering

Flightgear's atmospheric rendering is able to provide constantly changing visual cues of processes affecting atmospheric fluid flow and their likely evolution and history - to make prediction of conditions ahead or when returning at a later time possible. Simulation of directional light scattering by the Advanced Light Scattering framework in the atmosphere shows the 3d distribution, layering, geometry, and even statistical orientation of particles in different scattering regimes like Mie or Rayleigh. This ranges from different moisture droplets, to smog, to ice crystals of different geometry in clouds or halos.

##### Cloud rendering

The 3d density distribution of cloud (or condensation trail) moisture rendered by FlightGear acts as a cue to the corresponding 3d structure of fluid flow, such as the up and down draft loop of storm cell, internal gravity waves forming undulating cloud bands signalling a sweeping cold front, or windshear shaping cirrus clouds at higher altitude.

##### Precipitation and accumulation rendering

FlightGear is able to render rain falling from specific clouds in rain volumes containing the correct droplet size to determine the properties like thickness and intensity of rainbows. Perceptual phenomena like rain streaks are rendered with streak length shortening as time is slowed. Rain and water spray streaks on canopy glass provides cues to the relative air flow, while frost and fog with correct light scattering provide cues to temperature.
FlightGear is able to render specified historical accumulation levels of water and snow accounting for flatness on the surfaces of for both terrain and buildings. This provides cues to surface moisture or friction, and weather driven by surface heating that reduces with snow thickness. FlightGear can render gradual snow and ice cover on inland and ocean water.

##### Hazes and Halos

Layering of hazes is rendered by FlightGear, such as low lying ground haze with 3d structure, smog related to human activity, and dust. FlightGear renders various halos due to ice crystals in the atmosphere, or due to Mie scattering in fog by artificial lights such as landing lights.

##### Orbital rendering

FlightGear is able to render day/night visuals of Earth from orbit at high detail with scattering due to clouds, dust, and moisture, as well as effects such as lightning illuminating storm cells. Orientation cues in cockpit are provided by changing colour of light from Sun, Earth, and Moon for craft such as the Space Shuttle. The gradual transition in lighting for spacecraft, between upper and lower atmosphere regimes, is handled by dedicated rendering code. Auroras are simulated with varying intensity and varying penetration of magnetic flux tubes into the atmosphere. They are visible from both space and ground.
Accurate rendering of planets, moons, and stars with correct phases/brightness based on FlightGear's celestial simulation allows cues or data for celestial navigation - without reliance on vulnerable ground aids, including of pre-GPS era craft. The celestial simulation allows craft such as the Space Shuttle to use star tracker instruments.

##### Environment rendering

Flightgear's Advanced Light Scattering framework simulates locations in time as well as space. The environment simulation renders seasonal change as leaves of different species of trees, bushes, and grass change colour or fall. Simulated swaying of grass, trees and windsocks provide cues to processes changing the windfield near the ground, while wave simulation provides cues near water. Cloud shadows and the general state of the atmosphere affect light traveling to each point of the environment and then traveling in the atmosphere to reach the eye - the cloud setup and particle spread in the atmosphere changes the colour of the light cast on the environment. Water colour therefore changes based on atmosphere overhead, and also depends on water impurites in a region. FlightGear is capable of rendering a variety of volcanic activity of different intensity that, from v2019.2, responds to the windfield, as well as smoke.
The combination of rendering of the state of atmospheric processes, Aurora, simulation of celestial bodies, ground accumulation of rain or snow or dust, ice cover of water, and the environment simulation produces visualisations with a vast number of permutations.

### Multiplayer

Several networking options allow FlightGear to communicate with other instances of FlightGear. A multiplayer protocol is available for using FlightGear on a local network in a multi aircraft environment. This can be used for formation flight or air traffic control simulation. Soon after the original Multiplayer Protocol became available, it was expanded to allow playing over the internet. It is possible to see other players in the simulator if they have the same aircraft models and viewing their flight path is possible with the simulator's online multiplayer map.
Since FlightGear version 2020.1 it is possible to connect to VATSIM by using the open-source swift pilot client.
Several instances of FlightGear can be synchronized to allow for a multi-monitor environment.

### Weather

FlightGear uses metar data to produce live weather patterns in real time. Detailed weather settings allow for 3d clouds, a variety of cloud types, and precipitation. Precipitation and terrain affect turbulence and cloud formations. Aloft waypoint settings allow high altitude behaviors of wind to be modeled from live weather information, and thermals can also be modeled.

## Critical reception

Although not developed or typically analyzed solely as a game in the traditional sense, FlightGear has nevertheless undergone reviews in a number of online and offline publications, and received positive reviews as a flight simulator game. FlightGear 1.0.0 was noted as being impressive for a game over a decade in the making, with a wide variety of aircraft and features.
PC Magazine noted how it is designed to be easy to add new aircraft and scenery. Linux Format reviewed version 2.0 and rated it 8/10.

## Controversy

In June 2014 Honda lawyers issued a takedown request in which it was claimed that the HondaJet model in the simulator infringes on Honda's trademarks. Subsequently, HondaJet became the first model removed from the simulator for legal reasons.
Games journalist Tim Stone, in his simulation column The Flare Path, criticized the practice of third-parties attempting to profit from the work of community volunteers to the project, pointing to deceptive practices of stealing media available online from other sims to misrepresent VirtualPilot3d, as well as highlighting allegedly fake customer testimonials. Following up in 2018, Tim Stone wrote a second column in which he again criticized the "ethical standards" and "extraordinary willingness to lie in the pursuit of sales" displayed by the advertisements for another game which used screenshots from FlightGear.

## Applications and usages

FlightGear has been used in a range of projects in academia and industry (including NASA). The application has also been used for pilot training and as a research and development platform by various agencies and universities.
The simulator has been used by numerous institutes and companies, such as NASA/Ames Human Centered System Lab. Pragolet s.r.o. and the Endless Runway Project; a consortium of several European aerospace institutes.

### Companies

* MathWorks FlightGear to Simulink interface.
* NASA/Ames Human Centered System Lab - 737NG full scale cockpit simulator.
* Pragolet s.r.o. for light and ultra-light sports aircraft.
* PAL-V Europe NV
* Max Planck Institute for Biological Cybernetics, Germany, HeliLab and MPI CyberMotion Simulator
* Institute for Scientific Research

#### Endless Runway Project

Endless Runway Project, consortium of several European aerospace institutes.

### Universities
#### Africa

* Minia University, Egypt

#### Asia

* The Department of Aircraft and Aeroengine from the Chinese Air Force Engineering University
* Nanjing University of Aeronautics and Astronautics, China
* Shenyang Institute of Automation, China

#### Australia

* RMIT University, Melbourne, Australia

#### Europe

* Institute of Aerospace Engineering at the RWTH Aachen
* University of Naples, Italy
* University of Wales Intelligent Robotics Group, Aberystwyth, UK
* Delft University of Technology, the Netherlands
* Hamburg University of Applied Sciences, Germany
* Technical University of Munich
* Czech Technical University in Prague
* French Aerospace Lab (ONERA) and University of Toulouse, France
* Pázmány Péter Catholic University and the Hungarian Academy of Sciences
* University of Sheffield, England
* Supaéro
* Durham University, England

#### North America

* University of Tennessee, Chattanooga, USA
* Northeastern University, Boston, USA
* Arizona State University, USA
* The Center for Coastal & Ocean Mapping/Joint Hydrographic Center at the University of New Hampshire, USA
* University of Michigan, USA
* University of Toronto Institute for Aerospace Studies, Canada
* Purdue University, Indiana, USA
* University of Arizona, USA

#### South America

* National Technological University, Haedo, Argentina
* Universidade Federal de Minas Gerais, Brazil