Learn what YASim is in FlightGear, how its geometry-based flight model calculates forces, how it differs from JSBSim, and why aircraft vary.
YASim (“Yet Another Simulator”) is one of FlightGear’s flight-dynamics models. It represents an aircraft as a set of aerodynamic, mass, propulsion and landing-gear elements, calculates the forces and moments on them from the local airflow, then integrates those results to move the aircraft in six degrees of freedom.
How does the YASim flight model work?
YASim turns a compact physical description of the aircraft into a working flight model rather than reading aerodynamics from the visible 3D mesh. Its simplified blade-element approach divides wings and stabilisers into sections, while separate elements represent the fuselage, engines, undercarriage and distributed mass.
- YASim loads the aircraft definition. The XML configuration supplies dimensions, surface positions, mass locations, propulsion data, control mappings and aerodynamic settings such as stall behaviour and flap effects.
- The setup solver processes design conditions. Using declared cruise and approach states—typically speed, altitude, fuel load, angle of attack and selected control positions—it derives internal aerodynamic scaling and trim values that allow the model to satisfy those target conditions.
- Forces are calculated at each simulation step. YASim finds the local airflow over each element, including the effect of the aircraft’s translational and rotational motion. It then calculates lift, drag and side force, along with engine thrust and landing-gear reactions where applicable.
- The forces and moments are combined. Its rigid-body integrator updates velocity, attitude and position, producing the aircraft’s pitch, roll, yaw and movement through space.
This is not computational fluid dynamics. YASim does not model every airflow interaction around the airframe, and an accurate-looking exterior model contributes no aerodynamic accuracy unless its dimensions and characteristics have also been entered correctly in the YASim definition.
What controls a YASim aircraft’s behaviour?
The quality of a YASim aircraft depends primarily on its configuration and validation data, not simply on the fact that it uses YASim.
- Geometry: wing span, chord, sweep, incidence, dihedral, tail size and the positions of aerodynamic surfaces.
- Mass and balance: empty mass, fuel, payload and the locations used to calculate the centre of gravity and moments of inertia.
- Design points: the approach and cruise conditions supplied to the solver.
- Propulsion: thrust or power, propeller characteristics and engine position.
- Controls: elevator, aileron, rudder, trim, flap, spoiler and throttle property mappings, including their effective ranges.
- Non-linear behaviour: configured stall characteristics, flap lift and drag, gear drag and other effects that cannot be inferred reliably from dimensions alone.
A solver that matches cruise and approach does not automatically guarantee realistic climb, stall, spin or high-speed behaviour. Those parts of the envelope still need suitable data and careful testing. Our discussion of what determines realism in FlightGear aircraft explains why results differ so much between packages.
YASim or JSBSim: which flight model is better?
Neither YASim nor JSBSim is inherently more realistic; they use different authoring methods, and the better result is usually the model supported by better source data and tuning.
| Consideration | YASim | JSBSim |
|---|---|---|
| Primary basis | Aircraft geometry, component definitions and solved design conditions | Equations, aerodynamic coefficients, lookup tables and functions |
| Useful when | Reliable dimensions and performance targets exist, but full coefficient data is unavailable | Detailed aerodynamic, stability and control data is available |
| Typical strength | A plausible model can be built from a comparatively compact physical description | Authors can define measured behaviour explicitly across many conditions |
| Typical failure | Incompatible solver targets, poor geometry, incorrect mass distribution or incomplete stall tuning | Incorrect coefficient tables, unit errors or faulty system and control logic |
FlightGear supports several approaches; our explanation of FlightGear’s available flight-dynamics engines provides the broader architecture around YASim and JSBSim.
How can I tell whether an aircraft uses YASim?
The most dependable method is to inspect the aircraft package’s main -set.xml file. A YASim aircraft will normally contain <flight-model>yasim</flight-model>, while its <aero> entry identifies the associated aerodynamic definition.
Changing that value does not convert an aircraft to another flight-dynamics engine. YASim and JSBSim require different model data, so replacing the flight-model name usually produces loading errors or an unusable aircraft.
Why can a YASim aircraft feel wrong?
A poorly behaving YASim aircraft usually has a configuration, loading or control problem rather than a fundamental limitation shared by every YASim model.
- Solver warnings or failure: the requested cruise and approach conditions may be incompatible with the geometry, mass or available thrust. Check FlightGear’s log output before changing controller sensitivity.
- Pitch instability or excessive trim: inspect centre-of-gravity position, mass placement, tail geometry and elevator mapping. Also rule out a control axis mapped twice.
- Correct cruise but poor climb or stall: the model may have been tuned only around its solver design points without enough validation elsewhere in the envelope.
- Weak or excessive flap and gear effects: control-property mappings or the configured lift and drag changes may be wrong.
- Bouncing on the ground: suspect undercarriage contact positions, spring rates and damping before changing the aerodynamic surfaces.
Different aircraft can therefore give very different impressions of YASim. Trying another package from the guide to finding and adding FlightGear aircraft helps separate an aircraft-specific problem from a control or simulator-wide fault. Judge any model against published speeds, trim settings and handling across several weights and flight regimes, not merely by whether one approach and landing feels convincing.