Additional BodiesFor some purposes, for instance stability against gravitational perturbations or impact analyses, it is useful to have more than just the stars, a planet and a moon in the simulation. For this purpose, additional orbiting bodies can be defined. Basically these will be processed by the orbital solver and only by the orbital solver, i.e. they will not radiate, reflect light, acquire a temperature, simulate thermodynamics or even cause eclipses, but their gravity will affect everything else in the simulation and, if the collision finder is switched on, they can collide with other bodies in the simulation.
Hyperbolic orbitsUnlike the main objects which the simulation - at least conceptually - requires in stable 2-body orbits (which may still be destabilized by a third object), additional orbiting bodies can be on hyperbolic orbits.In this case, an initial distance of the body must be specified, and, as is the usual convention for hyperbolic orbits, the semimajor axis needs to be negative and the eccentricity greater than unity. The following section describes a comet on a hyperbolic trajectory that passes by Jupiter:
The parameters should otherwise be familiar from defining orbits. An orbiting body must have a name (because it is not definable otherwise) and can be attached to any other named object that has been declared before - all orbital parameters then ar interpreted relative to that object. Rather than apoapsis for elliptic orbits, the code outputs hyperbolic excess velocity, initial velocity, escape velocity and flight path angle as orbital parameters of the defined object:
Impact studiesThe worldbuilder code comes with an impact detection that can be switched on using collision_finder true in the config block.The impact simulation only works for small objects impacting large ones - for equal sized objects, the resulting physics is very complicated as energy is dissipated into heat and debris clouds are created and may re-form under their own gravitation. But if a small object impacts on a large one, it is simply removed from the simulation and the large body continues its orbit unaltered. Using the collision detection, one can investigate questions like to what degree the presence of additional planets or moons shield a world of interest from asteroids or comets. Running such studies requires generating a large number of different possible impactors and evolving the simulation for sufficiently long to see where they end up. To do so, it is possible to specify orbital elements such that they are randomized every time the simulation starts, for instance
generates a small comet with a short period around Jupiter that has a chance of impacting on one of the Galilean moons. If instead of e.g. eccentricity the pair eccentricity_min and eccentricity_max are specified, the object is initialized with a random value within these limits every time the simulation is started. In such a way, a large distribution of random impactor orbits can be generated. The config file example30.cfg contains the four Galilean moons in addition to eight random test bodies to simulate where they ultimately impact. Note at this point that the simulation also treats the (negligible) interaction among all test bodies correctly - which slows the simulation down when too many are added. For performance reasons it is generally better to run few test bodies sequentially (which removes the interactionsamong them) than to increase their number in a single run. If the example config file is run several times, this is the distribution of impacts on the four moons:
It turns out that for the sample specified, Io is the most likely moon to be hit, but also the other moons take a lot of impacts (which would ultimately hit Io if they were not there). With some patience in gathering enough data and adding/removing objects, one can in such way lean what role a particular body plays in protecting abother from cosmic debris.
Continue with Geology. Back to main index Back to science Back to worldbuilder Created by Thorsten Renk 2024 - see the disclaimer, privacy statement and contact information. |