propagation_setup
#
Definition of propagation settings.
This module contains submodules to define propagation settings. It also contains a set of factory functions to create dynamical models for translational state, rotational state, and mass rate.
Functions#

Function to create a set of acceleration models from a dictionary of bodies linked to acceleration model types. 

Function to create a set of acceleration models from a dictionary of bodies linked to acceleration model types. 

Function to create a set of massrate models from associated settings. 
 create_acceleration_models(body_system: tudatpy.kernel.numerical_simulation.environment.SystemOfBodies, selected_acceleration_per_body: Dict[str, Dict[str, List[tudatpy.kernel.numerical_simulation.propagation_setup.acceleration.AccelerationSettings]]], bodies_to_propagate: List[str], central_bodies: List[str]) Dict[str, Dict[str, List[tudatpy.kernel.numerical_simulation.propagation.AccelerationModel]]] #
Function to create a set of acceleration models from a dictionary of bodies linked to acceleration model types.
Function to create a set of acceleration models from a map of bodies and acceleration model types. The propagated bodies and central bodies are provided as two separate lists with the same order.
 Parameters:
body_system (SystemOfBodies) – System of bodies to be used in the propagation.
selected_acceleration_per_body (Dict[str, Dict[str, List[AccelerationSettings]]]) – Keyvalue container, with key denoting the body undergoing the acceleration, and the value containing an additional keyvalue container, with the body exerting acceleration, and list of acceleration settings exerted by this body.
bodies_to_propagate (list) – List of bodies to propagate.
central_bodies (list) – List of central bodies, each referred to each propagated body in the same order.
 Returns:
Set of accelerations acting on the bodies to propagate, provided as dual keyvalue container, similar to the acceleration settings input, but now with
AccelerationModel
lists as inner value Return type:
AccelerationMap
Examples
In this example, the acceleration model includes a spherical harmonic (degree and order 5) gravitational acceleration and aerodynamic acceleration exerted by the Earth, as well as pointmass gravity exerted by the Sun and the Moon. The variable
accelerations_settings_vehicle
denotes the list of bodies exerting accelerations and the types of accelerations, while the variableacceleration_settings
associates this list with the body undergoing the acceleration ("Vehicle"
).# Define bodies that are propagated. bodies_to_propagate = ["Vehicle"] # Define central bodies. central_bodies = ["Earth"] # Define accelerations acting on Vehicle accelerations_settings_vehicle = dict( Sun=[propagation_setup.acceleration.point_mass_gravity()], Moon=[propagation_setup.acceleration.point_mass_gravity()], Earth=[propagation_setup.acceleration.spherical_harmonic_gravity(5, 5), propagation_setup.acceleration.aerodynamic()] ) # Create global accelerations settings dictionary acceleration_settings = {"Vehicle": accelerations_settings_vehicle} # Create acceleration models acceleration_models = propagation_setup.create_acceleration_models( bodies, acceleration_settings, bodies_to_propagate, central_bodies)
 create_torque_models(body_system: tudatpy.kernel.numerical_simulation.environment.SystemOfBodies, selected_torque_per_body: Dict[str, Dict[str, List[tudatpy.kernel.numerical_simulation.propagation_setup.torque.TorqueSettings]]], bodies_to_propagate: List[str]) Dict[str, Dict[str, List[tudatpy.kernel.numerical_simulation.propagation.TorqueModel]]] #
Function to create a set of acceleration models from a dictionary of bodies linked to acceleration model types.
Function to create a set of acceleration models from a map of bodies and acceleration model types. The propagated bodies is provided as a list.
 Parameters:
body_system (SystemOfBodies) – System of bodies to be used in the propagation.
selected_torque_per_body (Dict[str, Dict[str, List[TorqueSettings]]]) – Keyvalue container, with key denoting the body undergoing the torque, and the value containing an additional keyvalue container, with the body exerting torque, and list of torque settings exerted by this body.
bodies_to_propagate (list) – List of bodies to propagate.
 Returns:
Set of torques acting on the bodies to propagate, provided as dual keyvalue container, similar to the torque settings input, but now with
TorqueModel
lists as inner value Return type:
TorqueModelMap
Examples
In this example, the following torques are exerted on the vehicle: sphericalharmonic gravitational torque (up to order 4 and degree 4) and aerodynamic torque exerted by the Earth, seconddegree gravitational torque exerted by the Sun and the Moon. The variable
torques_settings_vehicle
denotes the list of bodies exerting torques and the types of torques, while the variabletorque_settings
associates this list with the body undergoing the torque.# Define bodies that are propagated bodies_to_propagate = ["Vehicle"] # Define torques per each exerting body torque_settings_vehicle = dict( Sun=[propagation_setup.torque.second_degree_gravitational()], Moon=[propagation_setup.torque.second_degree_gravitational()], Earth=[propagation_setup.torque.spherical_harmonic_gravitational(4, 4), propagation_setup.torque.aerodynamic()] ) # Create global torque settings dictionary torque_settings = {"Vehicle": torque_settings_vehicle} # Create torque models torque_models = propagation_setup.create_torque_models( bodies, torque_settings, bodies_to_propagate )
 create_mass_rate_models(body_system: tudatpy.kernel.numerical_simulation.environment.SystemOfBodies, selected_mass_rates_per_body: Dict[str, List[tudatpy.kernel.numerical_simulation.propagation_setup.mass_rate.MassRateModelSettings]], acceleration_models: Dict[str, Dict[str, List[tudatpy.kernel.numerical_simulation.propagation.AccelerationModel]]] = None) Dict[str, List[tudatpy.kernel.numerical_simulation.propagation.MassRateModel]] #
Function to create a set of massrate models from associated settings.
Function to create a set of massrate models from a map of bodies and massrate model types. If the massrate depends on any acceleration models (e.g. thrust), the acceleration models must be provided as an input.
 Parameters:
body_system (SystemOfBodies) – System of bodies to be used in the propagation.
selected_mass_rates_per_body (Dict[str, List[MassRateModelSettings]]) – Keyvalue container, with key denoting the body with changing mass, and the value containing a list of mass rate settings (in most cases, this list will have only a single entry)
acceleration_models (AccelerationMap) – Sorted list of acceleration models, as created by
create_acceleration_models()
 Returns:
Set of massrate models, as keyvalue container, same as the settings input, with the difference that the rate settings objects have been processed into the associated objects calculating the actual massrate changes.
 Return type:
MassRateModelMap