Skip to content

Latest commit

 

History

History
54 lines (35 loc) · 3.34 KB

File metadata and controls

54 lines (35 loc) · 3.34 KB

Multi-type dynamics

Tudat permits the propagation of any combination of types of dynamics, for any number of bodies. One example is the simulation of coupled translational-rotational dynamics of one or more bodies, or the combined translational and mass dynamics of a body (e.g. spacecraft under thrust).

To define multi-type propagator settings, you must first define the propagator settings for each type of dynamics separately, after which you combine these using the ~tudatpy.numerical_simulation.propagation_setup.propagator.multitype function as follows:

Python

/_src_snippets/simulation/environment_setup/full_translational_setup.py

/_src_snippets/simulation/environment_setup/full_rotational_setup.py

/_src_snippets/simulation/environment_setup/full_mass_setup.py

/_src_snippets/simulation/environment_setup/full_multitype_setup.py

C++

/_src_snippets/simulation/environment_setup/req_create_bodies.cpp

This example (note the collapsed combined code for the translational, rotational, and mass dynamics examples) shows the use of the translational, rotational and mass dynamics of a single body Spacecraft. However, the framework is not limited to propagating the different types of dynamics for only one body. You may for instance propagate the translational state and mass of a spacecraft concurrently with the rotational state of the Earth. Also, you may propagate any number of any type of dynamics of any body, e.g. translational dynamics of 6 bodies, rotational dynamics of 4 bodies and mass of 2 bodies, where these three sets of bodies may but need not fully or partially overlap).

When using multi-type propagator settings, the following settings:

  • Output variables
  • Termination settings
  • Integrator settings
  • Initial time
  • Console output and processing settings

that are passed tothe propagation_setup.propagator.multitype function are used. Settings of the same kind are also stored in the constituent single-type propagator settings (above, in the propagator_settings_list input), but these are fully ignored when using multi-type settings! Only the settings of these types explicitly added to the propagation_setup.propagator.multitype function are used.

Conversely, the propagation_setup.propagator.multitype function does not take any initial states as inputs. The complete, multitype, initial state vector is set up from its contituent single-arc settings (with the order as noted below)

Note

The order of the state entries in the multi-type state vector will, in general, be different from the order provided in the propagator_settings_list When different state types are propagated, the state output contains the states in following order:

  • Translational state ( T )
  • Rotational state ( R )
  • Body mass state ( M )
  • Custom state ( C )

To retrieve the definition of the multitype state vector, see console_output.