Propagating Dynamics#
With all the necessary simulation settings in place (Environment Setup and Propagation Setup), it is time to run the simulation. In Tudat(Py), this is done by means of a simulator object, which handles the setup and execution of the simulation, by tieing all the settings and models defined on the above pages together, defining and solving the state derivative equation:
where \(\mathbf{x}\) defines the state vector that is to be propagated, \(\mathbf{f}\) the state derivative function (see Translational Dynamics for one example) \(t_{0}\) and \(\mathbf{x}_{0}\) define the initial time and state. The parameter vector \(\mathbf{p}\) is included explicitly in the state derivative function above to denote its dependence on various environmental and system parameters.
The above differential equations are solved:
Using the specific choice of integrator
Are terminated by user-specified termination settings, see options in API documentation
The output of the propagation consists of the state that is propagated, as well as any number of output (dependent) variables.
Simulations in which only the system state is propagated are handled by simulator objects derived from the Simulator base class.
The creation of this object is done using the create_dynamics_simulator() function :
dynamics_simulator = dynamics.simulator.create_dynamics_simulator(
body_system, propagator_settings)
propagation_results = dynamics_simulator.propagation_results
where the two inputs specify (roughly) what the physical environment is (the bodies) and how the simulator is supposed to act on this
physical environment. By default, creating the dynamics simulator immediately starts the propagation.
The choice of single-, multi- or hybrid-arc (see here) is defined by the choice of propagator_settings, resulting in the dynamics_simulator
being of type SingleArcSimulator, MultiArcSimulator or
HybridArcSimulator, respectively.
The results of the numerical integration are stored in the propagation_results, which is described in more detail below, along with a
more detailed description of the process that is executed during the propagation: