Board index FlightGear Development Spaceflight

Space FDM discussion (split)

Discussion about development and usage of spacecraft

Space FDM discussion (split)

Postby Hooray » Tue Jan 12, 2016 9:14 pm

Since we have been seeing some revamped interest in this (mainly inspired by the spaceshuttle and moonlight efforts), I am moving relevant postings to this thread so that FDM related postings are kept in a single place, hoping to update the corresponding wiki article as we move on:

Subject: Space Shuttle
Thorsten wrote:We need no more and no less than what I wrote - a numerically stable solver for orbital dynamics. [...]
The precision of the variables is not the issue, the issue is reaching the necessary precision and long-term stability in the computation. Even floating point precision is good enough to resolve the world on a ~10 m scale (we know that from applying shaders in world coords).
The algorithm needs to be stable against perturbations and self-correcting. Whether it's done in Nasal, xml or C++ is rather irrelevant.

Subject: Implementing moonlight (or not)
bugman wrote:An FDM simulating real orbital mechanics, which properly handles the three-body problem, is required for any moon adventures. Then the FlightGear time acceleration framework would be useful (the [a]/[A] buttons), and the maximum acceleration of x32 extended to higher values. But the orbital mechanics is currently missing. It needs to be implemented in JSBSim. Or in a new orbital/space FDM which can be hot switched to on the FG side. In any case, there is a lot of work ahead.

Referring to "numerically-stable" solvers, it seems that there is a handful of open source projects (GPL compatible and using C++) that may eventually come in handy for anybody seriously interested in this:
libnova is a general purpose, double precision, Celestial Mechanics, Astrometry and Astrodynamics library.

The intended audience of libnova is C / C++ programmers, astronomers and anyone else interested in calculating positions of astronomical objects or celestial mechanics. libnova is the calculation engine used by the Nova project and most importantly, is free software.

The current version of libnova can calculate:

Apparent Position
Dynamical Time
Julian Day
Proper Motion
Sidereal Time
Solar Coordinates (using VSOP87)
Coordinate Transformations
Planetary Positions Mercury - Pluto (Mercury - Neptune using VSOP87)
Planetary Magnitude, illuminated disk and phase angle.
Lunar Position (using ELP82), phase angle.
Elliptic Motion of bodies (Asteroid + Comet positional and orbit data)
Asteroid + Comet magnitudes
Parabolic Motion of bodies (Comet positional data)
Orbit velocities and lengths
Atmospheric refraction
Rise, Set and Transit times.
Semidiameters of the Sun, Moon, Planets and asteroids.
Angular separation of bodies
Hyperbolic motion of bodies
Heliocentric (barycentric) time correction
ORSA is an interactive tool for scientific grade Celestial Mechanics computations. Asteroids, comets, artificial satellites, Solar and extra-Solar planetary systems can be accurately reproduced, simulated, and analyzed.


accurate numerical algorithms
use of JPL ephemeris files for accurate planets positions
Qt-based graphical user interface
advanced 2D plotting tool and 3D OpenGL viewer
import asteroids and comets from all the known databases (MPC, JPL, Lowell, AstDyS, and NEODyS)
integrated download tool to update databases
stand alone numerical library liborsa
save and restore session from a single file

With ORSA 0.6 it is possible to import and integrate artificial satellites, and the image on the left shows the Earth as viewed from the weather satellite Meteosat 6. A units converter tool is also available, and is visible on the top right corner of the image. The OpenGL viewer has been greatly enhanced, and now it is possible to observe the system from any point and using either a orthographic or perspective projection.

There's also a pure Java library:

Additional pointers at: ... n-software
Please don't send support requests by PM, instead post your questions on the forum so that all users can contribute and benefit
Thanks & all the best,
Help write next month's newsletter !
pui2canvas | MapStructure | Canvas Development | Programming resources
Posts: 11272
Joined: Tue Mar 25, 2008 8:40 am

Return to Spaceflight

Who is online

Users browsing this forum: No registered users and 1 guest