propagation
#
Functionalities and utilities of propagation objects.
This module provides functionalities for propagation settings objects. It also contains some utility functions that extract specific quantities from propagation settings and body objects. Note that the classes in this module are rarely created manually, but are instead created by the functionality in the propagation_setup module.
Functions#

Function to get the states of a set of bodies, with respect to some set of central bodies, at the requested time. 
Function to retrieve the initial state for a list of propagator settings. 
 get_state_of_bodies(bodies_to_propagate: List[str], central_bodies: List[str], body_system: tudatpy.kernel.numerical_simulation.environment.SystemOfBodies, initial_time: float) numpy.ndarray[numpy.float64[m, 1]] #
Function to get the states of a set of bodies, with respect to some set of central bodies, at the requested time.
Function to get the states of a set of bodies, with respect to some set of central bodies, at the requested time.
 Parameters:
bodies_to_propagate (body_system) – List of bodies to be propagated.
central_bodies (list[str]) – List of central bodies, each referred to a body being propagated (in the same order).
bodies_to_propagate – System of bodies used in the propagation.
initial_time (float) – Initial time of the propagation.
 Returns:
Time at which the states should be retrieved.
 Return type:
 combine_initial_states(propagator_settings_per_type: Dict[tudat::propagators::IntegratedStateType, List[tudat::propagators::SingleArcPropagatorSettings<double, double>]]) numpy.ndarray[numpy.float64[m, 1]] #
Function to retrieve the initial state for a list of propagator settings.
Function to retrieve the initial state for a list of propagator settings. This way, the initial state for different quantities to be propagated (e.g., translational state, rotational state, mass) are retrieved and organized in a single container.
 Parameters:
propagator_settings_per_type (dict) – Propagator settings where the type of propagation is reported as key and the respective list of propagator settings as value.
 Returns:
Vector of initial states, sorted in order of IntegratedStateType, and then in the order of the vector of SingleArcPropagatorSettings of given type.
 Return type:
Enumerations#
Enumeration of types of termination of propagation. 
Classes#
Base class for objects that store all results of a numerical propagation. 

Class that stores all the results (including logging data) of a singlearc propagation 

Object that provides information on the reason for the termination of the propagation. 
 class SimulationResults#
Base class for objects that store all results of a numerical propagation. Derived class are implemented for single, multi and hybridarc propagation of botj dynamics and variational equations
 property dependent_variable_interface#
No documentation found.
 class SingleArcSimulationResults#
Class that stores all the results (including logging data) of a singlearc propagation
 property cumulative_computation_time_history#
readonly
History of cumulative computation time in seconds needed during the propagation as keyvalue pairs. At each epoch (key) the computation time (value) in seconds is the total computation time used up to and including that time step. This includes the total time up to and including the current time step, since the beginning of the (singlearc) propagation.
 property cumulative_number_of_function_evaluations_history#
No documentation found.
 property dependent_variable_history#
readonly
Dependent variables computed during the propagation as keyvalue pairs. The vector of all dependent variables concatenated into a single vector as value, with the epoch as key. They order of the concatenated dependent variables in a single value is provided by the
dependent_variable_ids
attribute of this object. Type:
 property dependent_variable_ids#
readonly
Keyvalue container with the starting entry of the dependent variables saved (key), along with associated ID (value).
 property initial_and_final_times#
No documentation found.
 property integration_completed_successfully#
readonly
Boolean defining whether the last propagation was finished successfully, as defined by the termination conditions, or if it was terminated prematurely (for instance due to an exception, or an Inf/NaN state entry being detected).
 Type:
 property processed_state_ids#
readonly
Keyvalue container with the starting entry of the states (key), along with associated ID (value).
 property propagated_state_ids#
readonly
Keyvalue container with the starting entry of the states (key), along with associated ID (value).
 property propagated_state_vector_length#
No documentation found.
 property propagation_is_performed#
No documentation found.
 property solution_is_cleared#
No documentation found.
 property state_history#
readonly
Numerical solution of the equations of motion as keyvalue pairs. The key denotes the epoch. The value contains the numerically calculated state at this epoch. For this function, the states are always converted to socalled ‘processed’ formulations (e.g. Cartesian states for translational dynamics), see here for details. For the history of the states that were actually propagated, use the
unprocessed_state_history
.Note
The propagated state at each epoch contains the state types in the following order: Translational ( C ), Rotational ( R ), Mass ( M ), and Custom ( C ). When propagating two bodies, an example of what the output state would look like is for instance: [ T Body 1, T Body 2, R Body 1, R Body 2, M Body 1, M Body 2 ] The specifics can be retrieved using the
state_ids
attribute of this classNote
For propagation of translational dynamics using cowell propagator, the conventional and propagated coordinates are identical.
 Type:
 property termination_details#
readonly
Object describing the details of the event that triggered the termination of the last propagation.
 property total_computation_time#
No documentation found.
 property total_number_of_function_evaluations#
No documentation found.
 property unprocessed_state_history#
readonly
Numerical solution of the equations of motion as keyvalue pairs, without any processing applied. The key denotes the epoch. The value contains the numerically calculated state at this epoch. This attribute contains the states of the propagated bodies expressed in the “raw” form in which the propagation took place. For instance, when using a GaussKepler propagation scheme, this attribute will contain the numerically propagated Keplerian elements at each time epoch
 Type:
 class PropagationTerminationDetails#
Object that provides information on the reason for the termination of the propagation.
 property terminated_on_exact_condition#
Boolean defining whether the propagation was terminated on an exact final condition, or once the propagation went past the determined final condition. The choice of behaviour is defined by the termination settings provided as input to the Simulator object. This variable only has a meaningful definition if the
termination_reason
has valuetermination_condition_reached
 Type:
 property termination_reason#
Enum defining the reason the propagation was terminated