Single-arc Variational Equations Propagation

For propagation of the variational equations alongside the system state, a different sort of simulator object - a VariationalSimulator - has to be used. VariationalSimulator objects contain a Simulator object, which means that they can do anything that a Simulator can plus the added functionality of propagating variational equations.

To propagate the variational equations alongside the single-arc system state, the SingleArcVariationalSimulator derivative of the VariationalSimulator base class should be used. With the basic simulation setup (system of bodies, integrator settings, propagator settings) and the parameter settings for the variational equations, a variational equations solver can be set up. The setup works similarly to the normal dynamics simulator:

variational_equations_solver = estimation_setup.SingleArcVariationalSimulator(
        bodies, integrator_settings, propagator_settings,
        estimation_setup.create_parameters_to_estimate(parameter_settings, bodies)
        )

The state history, state transition matrices, and sensitivity matrices can then be extracted:

states = variational_equations_solver.state_history
state_transition_matrices = variational_equations_solver.state_transition_matrix_history
sensitivity_matrices = variational_equations_solver.sensitivity_matrix_history

For a complete example of propagation and usage of the variational equations, please see the tutorial Linear sensitivity analysis of perturbed orbit.