Single-arc Variational Equations Propagation#
For propagation of the variational equations alongside the system state, a different sort of simulator object - a VariationalEquationsSolver
- has to be used.
The VariationalEquationsSolver
objects contain a DynamicsSimulator
object, which means that they can do anything that a DynamicsSimulator
can plus the added functionality of propagating variational equations.
To propagate the variational equations alongside the single-arc system state, the create_variational_equations_solver()
function should be used, which returns a SingleArcVariationalSimulator
, derived of the VariationalEquationsSolver
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 = numerical_simulation.create_variational_equations_solver(
bodies, 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.