JSBSim
JSBSim is an open source Flight Dynamics Model (FDM) software library that models the flight dynamics of an aerospace vehicle. The library has been incorporated into FlightGear. It can also be called from a small standalone program to create a batch simulation tool. JSBSim has been in development and use since 1996, and has been built on all of the most popular platforms in use today including those running Linux, macOS, and Windows operating systems. JSBSim is written in C++ and uses XML configuration files.
- JSBSim was also once used by OpenEaagles and can be integrated into Unreal Engine. [1]
- JSBSim Commander is a software program for developing FDM for aircraft with JSBSim.
Overview
JSBSim provides several different physics models which work together to calculate the overall vehicle dynamics.
- Mass Balance - This model uses weight (mass) to provide a force due to gravity and moments of inertia to damp changes in rotational velocity. Empty mass and inertia are specified, and point masses (which can have a shape and size) and fuel load are added in.
- Ground Reactions - JSBSim has a fairly simple system for ground reactions. You can have structural contacts which are uni-directional or bogeys which act only in a given direction. Both are modeled as spring and damper systems. Each bogey or structural contact provides a force on the vehicle when in contact with the ground. If the contact is not at the CG it also provides a rotating moment.
- Propulsion - JSBSim models a variety of engine types using different methods. All engines provide a force along their X axis, and create moments if this force in not applied at the CG. The propeller and rotor thrusters also create turning moments.
- Aerodynamics - JSBSim's aerodyamics are a blank slate. It is entirely up to the vehicle author to use valid formulas. The aerodynamic force is divided into Lift, Drag, and Side. You can also create Roll, Pitch and Yaw moments. In addition, if the aerodynamic force reference point is not coincident to the CoG the forces will create a hidden moment.
- Buoyant forces - Lighter than air craft, e.g. gas balloons, pressure airships (e.g. blimps) and rigid airships, can be simulated with this model.
- External forces - If the aerodynamic section is too limiting, or you want to simulate glider tow ropes, catapults or other things, you can add forces at arbitrary points.
- Atmosphere - JSBSim can be set up to use its own atmosphere model, or it can use an externally supplied model. There are three turbulence models to chose from.
- Systems - A JSBSim system can implement any sort of model. This is a very useful facility as you can have any number of systems referenced from the aircraft configuration file. JSBSim Systems can be used to model items required in the FDM, and non-flight items, such electrics, hydraulics.
- Gravity - The Gravity Force.
Aeromatic and Aeromatic++
Aeromatic and Aeromatic++ can be used to create aircraft configuration files for use with the JSBSim Flight Dynamics Model. There are 2 versions of the programs, the old online Aeromatic, and the newer C++ Aeromatic (Aeromatic++).
Related content
- JSBSim Aerodynamics notes
- JSBSim Aerodynamics input and outputs
- JSBSim GroundReactions
- JSBSim Engine configuration
- JSBSim Thruster configuration
- JSBSim Fuel System
- Howto: Write a fuel system in JSBSim
- DATCOM, lets you input many more variables than Aeromatic
- Howto: Setup winch and aerotowing for JSBSim-aircraft
- Howto: methods to replace the NASAL code with JSBSim code
- JSBSim Buoyant forces
- Howto:Modelling hydrodynamics in JSBSim
External links
- JSBSim web site (github.io page)
- JSBSim repository on github
- JSBSim PDF documentation
- JSBSim curve editing tool (forum)
- Aeromatic (online)
- DATCOM+