environment_setup

This module contains submodules to define environment settings. In Tudat, the definition of ‘environment’ is the collection of all bodies (natural and artificial) and their physical properties. Each of the submodules below contains a set of functions to create a specific type of environment settings.

This module contains the BodyListSettings, which is the contained that holds all the settings for the bodies that are to be created and used in a simulation/analysis. The BodyListSettings stores a list of BodySettings objects, each of which can be endowed with a list of environment (and system) settings, settings for which are defined in the modules listed below . The creation of the actual bodies used in the simulation/analysis from the settings defined in this module is done using the create_system_of_bodies() function.

More details on the procedure and options in creating environment models and bodies can be found in our user guide. For the use of the environment models during a numerical propagation (for instance for custom models) see here.

Functions

get_default_body_settings(bodies[, ...])

Function that retrieves the default settings for the given set of input bodies.

get_default_body_settings_time_limited(...)

Function that retrieves the default settings for the given set of input bodies, with a limited valid time interval.

get_default_single_body_settings(body_name)

Function that retrieves the default settings for a single body.

get_default_single_body_settings_time_limited(...)

Function that retrieves the default settings for a single body, with a limited valid time interval.

get_default_single_alternate_body_settings(...)

Function that retrieves the default settings for a single body, and assigns them to another body.

create_system_of_bodies(body_settings)

Function that creates a System of bodies from associated settings.

create_simplified_system_of_bodies([...])

Function that creates a simplified System of bodies.

direct_relativistic_time_converter_settings(...)

Create settings for a direct relativistic time converter.

set_relativistic_time_converters(bodies, ...)

Attach relativistic time converters to bodies.

create_body_ephemeris(ephemeris_settings, ...)

Function that creates an Ephemeris object.

add_aerodynamic_coefficient_interface(...)

Function that creates an aerodynamic coefficient interface from settings, and adds it to an existing body.

add_radiation_pressure_target_model(bodies, ...)

Function that creates a radiation pressure target model from settings, and adds it to an existing body.

add_flight_conditions(bodies, body_name, ...)

Function that creates a flight conditions, and adds it to an existing body.

add_rotation_model(bodies, body_name, ...)

Function that creates a rotation model, and adds it to an existing body.

add_mass_properties_model(bodies, body_name, ...)

add_rigid_body_properties(bodies, body_name, ...)

Function that creates a rigid body property model, and adds it to an existing body.

add_engine_model(body_name, engine_name, ...)

Function that creates an engine model (to be used for thrust calculations), and adds it to an existing body.

add_variable_direction_engine_model(...)

Function that creates an engine model (to be used for thrust calculations), and adds it to an existing body.

add_empty_tabulated_ephemeris(bodies, body_name)

No documentation found.

add_gravity_field_model(bodies, body_name, ...)

No documentation found.

add_ground_station(*args, **kwargs)

Overloaded function.

convert_ground_station_state_between_itrf_frames(...)

No documentation found.

create_aerodynamic_coefficient_interface(...)

No documentation found.

get_default_single_alternate_body_settings_time_limited(...)

Function that retrieves the default settings for a single body, with a limited valid time interval.

get_default_body_settings(bodies: list[str], base_frame_origin: str = 'SSB', base_frame_orientation: str = 'ECLIPJ2000') tudatpy.kernel.dynamics.environment_setup.BodyListSettings

Function that retrieves the default settings for the given set of input bodies.

Function that retrieves the default settings for the given set of input bodies. Default settings are described in detail in the user guide . Note that if a body is provided as input for which default settings do not exist, an exception is thrown. In addition to settings for each separate body, this function returns an object that defines the global frame origin and orientation.

Note

Before using this function, make sure to have the appropriate set of SPICE kernels loaded. Typically, this is done through the load_standard_kernels() function.

Parameters:
  • bodies (list[str]) – List of name of bodies for which default settings are to be retrieved and created.

  • base_frame_origin (str, default = 'SSB') – Base frame origin of the set of bodies that is to be created. It defaults to the solar system barycenter (SSB), but it can by any of the bodies in bodies (provided it has an ephemeris defined).

  • base_frame_orientation (str, default = 'ECLIPJ2000') – Base frame orientation of the set of bodies that is to be created. It can be either ECLIPJ2000 (default) or J2000.

Returns:

Object containing the settings for the SystemOfBodies that are to be created

Return type:

BodyListSettings

get_default_body_settings_time_limited(bodies: list[str], initial_time: float | SupportsIndex, final_time: float | SupportsIndex, base_frame_origin: str = 'SSB', base_frame_orientation: str = 'ECLIPJ2000', time_step: float | SupportsIndex = 300.0) tudatpy.kernel.dynamics.environment_setup.BodyListSettings

Function that retrieves the default settings for the given set of input bodies, with a limited valid time interval.

Same as get_default_body_settings(), but with body settings valid over a limited time interval. This makes the the extraction of states from ephemerides more computationally efficient, at the expense of more RAM usage, and a constrained time interval over which the ephemerides are valid. See this page for more details.

Parameters:
  • bodies (list[str]) – List of name of bodies for which default settings are to be retrieved and created.

  • initial_time (float) – Start time from which the environment settings should be created.

  • final_time (float) – End time up to which the environment settings should be created.

  • base_frame_origin (str) – Base frame origin of the set of bodies that is to be created.

  • base_frame_orientation (str) – Base frame orientation of the set of bodies that is to be created.

  • time_step (float, default = 300.0) – Time step to be used for the tabulated ephemeris.

Returns:

Object containing the settings for the SystemOfBodies that are to be created

Return type:

BodyListSettings

get_default_single_body_settings(body_name: str, base_frame_orientation: str = 'ECLIPJ2000') tudatpy.kernel.dynamics.environment_setup.BodySettings

Function that retrieves the default settings for a single body.

As get_default_body_settings(), but for retrieving default settings of only a single body

Parameters:
  • body_name (str) – Name of body for which default settings are to be retrieved and created.

  • base_frame_orientation (str, default = 'ECLIPJ2000') – Base frame orientation of the body settings. It can be either ECLIPJ2000 (default) or J2000.

Returns:

Object containing the settings for the body that is to be created

Return type:

BodySettings

get_default_single_body_settings_time_limited(body_name: str, initial_time: float | SupportsIndex, final_time: float | SupportsIndex, base_frame_orientation: str = 'ECLIPJ2000', time_step: float | SupportsIndex = 300.0) tudatpy.kernel.dynamics.environment_setup.BodySettings

Function that retrieves the default settings for a single body, with a limited valid time interval.

As get_default_body_settings_time_limited(), but for retrieving default settings of only a single body

Parameters:
  • body_name (str) – Name of body for which default settings are to be retrieved and created.

  • initial_time (float) – Start time from which the environment settings should be created.

  • final_time (float) – End time up to which the environment settings should be created.

  • base_frame_orientation (str, default = 'ECLIPJ2000') – Base frame orientation of the body settings. It can be either ECLIPJ2000 (default) or J2000.

  • time_step (float, default = 300.0) – Time step to be used for the tabulated ephemeris.

Returns:

Object containing the settings for the body that is to be created

Return type:

BodySettings

get_default_single_alternate_body_settings(body_name: str, source_body_name: str, base_frame_orientation: str = 'ECLIPJ2000') tudatpy.kernel.dynamics.environment_setup.BodySettings

Function that retrieves the default settings for a single body, and assigns them to another body.

As get_default_body_settings(), but for retrieving default settings of only a single body, where the default settings of body with name source_body_name are retrieved and assigned to a body with name body_name. For instance, if source_body_name is set to “Mars”, and ``body_name is set to “Earth” body name Earth will be created, with all the properties of Mars

Parameters:
  • body_name (str) – Name of body for which default settings are to be created.

  • source_body_name (str) – Name of body for which default settings are to be retrieved, and assigned to a body with name body_name.

  • base_frame_orientation (str, default = 'ECLIPJ2000') – Base frame orientation of the body settings. It can be either ECLIPJ2000 (default) or J2000.

Returns:

Object containing the settings for the body that is to be created

Return type:

BodySettings

create_system_of_bodies(body_settings: tudatpy.kernel.dynamics.environment_setup.BodyListSettings) tudatpy.kernel.dynamics.environment.SystemOfBodies

Function that creates a System of bodies from associated settings.

Function that creates a class:~tudatpy.dynamics.environment.SystemOfBodies of bodies from associated settings in a class:~tudatpy.dynamics.environment_setup.BodyListSettings object. This function creates the separate Body objects and stores them in a SystemOfBodies object. This SystemOfBodies object represents the full physical environment in the simulation, and this function is responsible for creating this envitronent from the user-defined settings

Parameters:

body_settings (BodyListSettings) – Object defining the physical environment, with all properties of artificial and natural bodies.

Returns:

Object containing the objects for bodies and environment models constituting the physical environment

Return type:

SystemOfBodies

create_simplified_system_of_bodies(initial_time: float | SupportsIndex = 0) tudatpy.kernel.dynamics.environment.SystemOfBodies

Function that creates a simplified System of bodies.

Function that creates a simplified system of bodies. The following bodies are created in this system: the Sun, all planets of the Solar system, and Pluto. All bodies in this system use Gtop ephemerides and point mass gravity. The Earth is setup with a spherical shape model and a simple rotation model. The reference frame used to setup this simplified system of bodies has its origin at the SSB, and has an ECLIPJ2000 orientation.

Parameters:

initial_time (float, optional, default=0) – Initial system time in seconds since J2000.

Returns:

Object containing the objects for bodies and environment models constituting the physical environment

Return type:

SystemOfBodies

direct_relativistic_time_converter_settings(barycentric_to_bodycentric_settings: tudat::propagators::RelativisticTimeStatePropagatorSettings<double, tudat: :Time>, integrator_settings: tudat::numerical_integrators::IntegratorSettings<tudat::Time>, bodycentric_to_topocentric_settings: list[tudat::propagators::RelativisticTimeStatePropagatorSettings<double, tudat: :Time>] = []) tudatpy.kernel.dynamics.environment_setup.DirectRelativisticTimeConverterSettings

Create settings for a direct relativistic time converter.

This function combines:

  1. One barycentric↔body-centered conversion settings object, and

  2. Zero or more body-centered↔topocentric conversion settings objects

into a single converter-settings object for one body.

The barycentric_to_bodycentric_settings input should be created with:

Each entry in bodycentric_to_topocentric_settings should typically be created with:

This function only assembles converter settings. Use set_relativistic_time_converters() to attach them to bodies.

Parameters:
  • barycentric_to_bodycentric_settings (RelativisticTimePropagatorSettings) – Settings object defining the barycentric↔body-centered leg.

  • integrator_settings (IntegratorSettings) – Numerical integrator settings used when creating the direct converter.

  • bodycentric_to_topocentric_settings (list[RelativisticTimePropagatorSettings], optional) – Optional list of settings objects defining body-centered↔topocentric legs. Each list entry typically corresponds to one reference point/station.

Returns:

Settings object used by set_relativistic_time_converters().

Return type:

DirectRelativisticTimeConverterSettings

set_relativistic_time_converters(bodies: tudatpy.kernel.dynamics.environment.SystemOfBodies, converter_settings: dict[str, tudatpy.kernel.dynamics.environment_setup.DirectRelativisticTimeConverterSettings]) None

Attach relativistic time converters to bodies.

This function takes the converter settings assembled with direct_relativistic_time_converter_settings() and instantiates the corresponding converter models in the provided system of bodies.

For each entry in converter_settings, Tudat sets up:

  • one barycentric↔body-centered conversion leg (first- or second-order), and

  • zero or more body-centered↔topocentric conversion legs.

The key of each dictionary entry is typically the associated body name, while the converter content is defined by the corresponding DirectRelativisticTimeConverterSettings object.

The converter settings used here are typically created from:

After this function returns, each configured body can provide time-scale differences through get_time_scale_converter().

Parameters:
  • bodies (SystemOfBodies) – The system of bodies to which time converters are attached.

  • converter_settings (dict[str, DirectRelativisticTimeConverterSettings]) – Mapping from identifiers (typically body names) to direct converter settings objects. Each entry creates one relativistic time converter configuration.

Returns:

This function modifies bodies in place by attaching converter models.

Return type:

None

create_body_ephemeris(ephemeris_settings: tudatpy.kernel.dynamics.environment_setup.ephemeris.EphemerisSettings, body_name: str) tudatpy.kernel.dynamics.environment.Ephemeris

Function that creates an Ephemeris object.

Function that creates an Ephemeris object, but does not associate it with any specific body (e.g., it does not go into the environment, but can be used independently of it)

Parameters:
  • ephemeris_settings (EphemerisSettings) – Object defining the ephemeris settings.

  • body_name (str) – Name of body for which the ephemeris is created. Note that this input is only relevant for some ephemeris settings (for instance, a spice ephemeris setting), and it does not imply that the ephemeris object is associated with a Body object of this name.

Returns:

Ephemeris object, created according to the provided settings

Return type:

Ephemeris

add_aerodynamic_coefficient_interface(bodies: tudatpy.kernel.dynamics.environment.SystemOfBodies, body_name: str, coefficient_settings: tudatpy.kernel.dynamics.environment_setup.aerodynamic_coefficients.AerodynamicCoefficientSettings) None

Function that creates an aerodynamic coefficient interface from settings, and adds it to an existing body.

This function can be used to add an aerodynamic coefficient interface to an existing body. It requires settings for the aerodynamic coefficients, created using one of the functions from the ~tudatpy.dynamics.environment_setup.aerodynamic_coefficients module. This function creates the actual coefficient interface from these settings, and assigns it to the selected body. In addition to the identifier for the body to which it is assigned, this function requires the full SystemOfBodies as input, to facilitate inter-body dependencies in the coefficient interface

Parameters:
  • bodies (SystemOfBodies) – Object defining the physical environment, with all properties of artificial and natural bodies.

  • body_name (str) – Name of the body to which the aerodynamic coefficients are to be assigned

  • coefficient_settings (AerodynamicCoefficientSettings) – Settings defining the coefficient interface that is to be created.

add_radiation_pressure_target_model(bodies: tudatpy.kernel.dynamics.environment.SystemOfBodies, body_name: str, radiation_pressure_target_settings: tudatpy.kernel.dynamics.environment_setup.radiation_pressure.RadiationPressureTargetModelSettings) None

Function that creates a radiation pressure target model from settings, and adds it to an existing body.

This function can be used to add a radiation pressure target model to an existing body. It requires settings for the radiation pressure target model, created using one of the functions from the radiation_pressure module. This function creates the actual target model from these settings, and assigns it to the selected body. In addition to the identifier for the body to which it is assigned, this function requires the full SystemOfBodies as input, to facilitate inter-body dependencies in the radiation pressure interface.

Parameters:
  • bodies (SystemOfBodies) – Object defining the physical environment, with all properties of artificial and natural bodies.

  • body_name (str) – Name of the body to which the radiation pressure interface is to be assigned

  • radiation_pressure_target_settings (RadiationPressureTargetModelSettings) – Settings defining the radiation pressure target model that is to be created.

add_flight_conditions(bodies: tudatpy.kernel.dynamics.environment.SystemOfBodies, body_name: str, central_body_name: str) None

Function that creates a flight conditions, and adds it to an existing body.

This function can be used to add a FlightConditions object to an existing body. Typically, the FlightConditions are created automatically when they are required (for the calculation of an aerodynamic acceleration, or the saving of certain dependent variables). However, in some cases it may be useful to manually trigger their creation, which is done through this function. If the central_body_name input denotes a body that is endowed with an AtmosphereModel, this function automatically creates an AtmosphericFlightConditions object (capable of calculating density, speed of sound, etc.), instead of the more basic FlightConditions (which is limited to properties such as altitude, latitude, etc.)

Parameters:
  • bodies (SystemOfBodies) – Object defining the physical environment, with all properties of artificial and natural bodies.

  • body_name (str) – Name of the body for which the flight conditions are to be created

  • central_body_name (str) – Name of the central body w.r.t. which the flight conditions are to be created (typically, but not necessarily, the central body of propagation)/

add_rotation_model(bodies: tudatpy.kernel.dynamics.environment.SystemOfBodies, body_name: str, rotation_model_settings: tudatpy.kernel.dynamics.environment_setup.rotation_model.RotationModelSettings) None

Function that creates a rotation model, and adds it to an existing body.

This function can be used to add a RotationalEphemeris object to an existing body. Typically, the RotationalEphemeris is created along with the Body itself. However, in some cases it may be useful to create a rotation model after the Body objects have been created. This function requires settings for the rotation model, created using one of the functions from the rotation_model module. This function creates the actual coefficient interface from these settings, and assigns it to the selected body. In addition to the identifier for the body to which it is assigned, this function requires the full SystemOfBodies as input, to facilitate inter-body dependencies in the radiation model

Parameters:
  • bodies (SystemOfBodies) – Object defining the physical environment, with all properties of artificial and natural bodies.

  • body_name (str) – Name of the body to which the rotation model is to be assigned

  • rotation_model_settings – Settings defining the rotation model that is to be created.

add_mass_properties_model(bodies: tudatpy.kernel.dynamics.environment.SystemOfBodies, body_name: str, mass_property_settings: tudatpy.kernel.dynamics.environment_setup.rigid_body.RigidBodyPropertiesSettings) None
add_rigid_body_properties(bodies: tudatpy.kernel.dynamics.environment.SystemOfBodies, body_name: str, rigid_body_property_settings: tudatpy.kernel.dynamics.environment_setup.rigid_body.RigidBodyPropertiesSettings) None

Function that creates a rigid body property model, and adds it to an existing body.

This function can be used to add a RigidBodyProperties object to an existing body. Typically, the RigidBodyProperties are created along with the Body itself. However, in some cases it may be useful to create body mass properties after the Body objects have been created. This function requires settings for the rigid body properties, created using one of the functions from the rigid_body module. This function creates the actual rigid body properties from these settings, and assigns it to the selected body.

Parameters:
  • bodies (SystemOfBodies) – Object defining the physical environment, with all properties of artificial and natural bodies.

  • body_name (str) – Name of the body to which the model is to be assigned

  • rigid_body_property_settings (RigidBodyPropertiesSettings) – Settings defining the rigid body properties model that is to be created.

add_engine_model(body_name: str, engine_name: str, thrust_magnitude_settings: tudat::simulation_setup::ThrustMagnitudeSettings, bodies: tudatpy.kernel.dynamics.environment.SystemOfBodies, body_fixed_thrust_direction: numpy.ndarray[numpy.float64[3, 1]]=array([1., 0., 0.])) None

Function that creates an engine model (to be used for thrust calculations), and adds it to an existing body.

Function that creates an engine model (to be used for thrust calculations), and adds it to an existing body. It creates and object of class EngineModel, and adds it to an existing body. Properties assigned to this engine model are:

  • The (constant) direction in body-fixed frame in which the engine is pointing (e.g. the body-fixed thrust direction when the engine is on)

  • Settings for computing the thrust magnitude (as a function of time and/or other parameters), using a suitable function from the thrust submodule

Parameters:
  • body_name (str) – Name of the body to which the engine is to be added.

  • engine_name (str) – Name (e.g. unique identifier) of the engine that is to be added to the body

  • thrust_magnitude_settings (ThrustMagnitudeSettings) – Settings for computing the thrust magnitude (and specific impulse) as a function of time

  • bodies (SystemOfBodies) – Object defining the physical environment, with all properties of artificial and natural bodies.

  • body_fixed_thrust_direction (numpy.ndarray[numpy.float64[3, 1]], default = [1,0,0]) – Unit vector along which the thrust from the engine will point in a body-fixed frame

add_variable_direction_engine_model(body_name: str, engine_name: str, thrust_magnitude_settings: tudat::simulation_setup::ThrustMagnitudeSettings, bodies: tudatpy.kernel.dynamics.environment.SystemOfBodies, body_fixed_thrust_direction_function: Callable[[float | typing.SupportsIndex], numpy.ndarray[numpy.float64[3, 1]]]) None

Function that creates an engine model (to be used for thrust calculations), and adds it to an existing body.

Same as add_engine_model(), but with a time-variable body-fixed thrust direction

Parameters:
  • body_name (str) – Name of the body to which the engine is to be added.

  • engine_name (str) – Name (e.g. unique identifier) of the engine that is to be added to the body

  • thrust_magnitude_settings (ThrustMagnitudeSettings) – Settings for computing the thrust magnitude (and specific impulse) as a function of time

  • bodies (SystemOfBodies) – Object defining the physical environment, with all properties of artificial and natural bodies.

  • body_fixed_thrust_direction_function (callable[[float], numpy.ndarray[numpy.float64[3, 1]]]) – Function returning a unit vector, as a function of time, along which the thrust from the engine will point in a body-fixed frame

add_empty_tabulated_ephemeris(bodies: tudatpy.kernel.dynamics.environment.SystemOfBodies, body_name: str, ephemeris_origin: str = '', is_part_of_multi_arc: bool = False) None

No documentation found.

add_gravity_field_model(bodies: tudatpy.kernel.dynamics.environment.SystemOfBodies, body_name: str, gravity_field_settings: tudatpy.kernel.dynamics.environment_setup.gravity_field.GravityFieldSettings, gravity_field_variation_settings: list[tudatpy.kernel.dynamics.environment_setup.gravity_field_variation.GravityFieldVariationSettings] = []) None

No documentation found.

add_ground_station(*args, **kwargs)

Overloaded function.

Overload 1: add_ground_station(body: tudatpy.kernel.dynamics.environment.Body, ground_station_name: str, ground_station_position: typing.Annotated[numpy.typing.ArrayLike, numpy.float64, "[3, 1]"], position_type: tudatpy.kernel.astro.element_conversion.PositionElementTypes = <PositionElementTypes.cartesian_position_type: 0>, station_motion_settings: collections.abc.Sequence[tudatpy.kernel.dynamics.environment_setup.ground_station.GroundStationMotionSettings] = []) -> None

Overload 2: add_ground_station(body: tudatpy.kernel.dynamics.environment.Body, ground_station_settings: tudatpy.kernel.dynamics.environment_setup.ground_station.GroundStationSettings) -> None

No documentation found.

convert_ground_station_state_between_itrf_frames(ground_station_state: numpy.ndarray[numpy.float64[6, 1]], epoch: float | SupportsIndex, base_frame: str, target_frame: str) numpy.ndarray[numpy.float64[6, 1]]

No documentation found.

create_aerodynamic_coefficient_interface(coefficient_settings: tudatpy.kernel.dynamics.environment_setup.aerodynamic_coefficients.AerodynamicCoefficientSettings, body: str, bodies: tudatpy.kernel.dynamics.environment.SystemOfBodies) tudatpy.kernel.dynamics.environment.AerodynamicCoefficientInterface

No documentation found.

get_default_single_alternate_body_settings_time_limited(body_name: str, source_body_name: str, initial_time: float | SupportsIndex, final_time: float | SupportsIndex, base_frame_orientation: str = 'ECLIPJ2000', time_step: float | SupportsIndex = 300.0) tudatpy.kernel.dynamics.environment_setup.BodySettings

Function that retrieves the default settings for a single body, with a limited valid time interval.

As get_default_body_settings_time_limited(), but for retrieving default settings of only a single body, where the default settings of body with name source_body_name are retrieved and assigned to a body with name body_name. For instance, if source_body_name is set to “Mars”, and ``body_name is set to “Earth” body name Earth will be created, with all the properties of Mars

Parameters:
  • body_name (str) – Name of body for which default settings are to be retrieved.

  • source_body_name (str) – Name of body for which default settings are to be retrieved, and assigned to a body with name body_name.

  • initial_time (float) – Start time from which the environment settings should be created.

  • final_time (float) – End time up to which the environment settings should be created.

  • base_frame_orientation (str, default = 'ECLIPJ2000') – Base frame orientation of the body settings. It can be either ECLIPJ2000 (default) or J2000.

  • time_step (float, default = 300.0) – Time step to be used for the tabulated ephemeris.

Returns:

Object containing the settings for the body that is to be created

Return type:

BodySettings

Classes

BodyListSettings

Class for defining settings for the creation of a system of bodies.

BodySettings

Class for defining settings for the creation of a single body.

DirectRelativisticTimeConverterSettings

Settings container for constructing a direct relativistic time converter.

class BodyListSettings

Bases: pybind11_object

Class for defining settings for the creation of a system of bodies.

Class for defining settings for the creation of a system of bodies. This object is typically created from default settings, and then adapted to the user’s specific needs (see module-level description environment_setup for details on interfaces with rest of tudat).

__init__(self: tudatpy.kernel.dynamics.environment_setup.BodyListSettings, frame_origin: str, frame_orientation: str) None

Class initialization method.

Class method to initialize an empty BodyListSettings object.

Note

When creating BodyListSettings from this method, the settings for each body will have to be added manually. It is typically more convenient to use the get_default_body_settings() function to create a BodyListSettings object with default settings for all bodies, and then modify the settings for specific bodies as needed.

Parameters:
  • frame_origin (str) – Definition of the global frame origin for the bodies See the user guide for more information.

  • frame_orientation (str) – Definition of the global frame orientation for the bodies. See the user guide for more information.

add_empty_settings(self: tudatpy.kernel.dynamics.environment_setup.BodyListSettings, body_name: str) None

This method adds empty settings to the BodyListSettings instance.

Adds empty settings to the BodyListSettings instance. This is typically used to add settings for custom bodies, for which no default settings are available. See the user guide for more information.

Parameters:

body_name (str) – Name of the body for which settings are added

add_settings(self: tudatpy.kernel.dynamics.environment_setup.BodyListSettings, settings_to_add: tudatpy.kernel.dynamics.environment_setup.BodySettings, body_name: str) None

Add a single BodySettings object to the BodyListSettings instance.

Warning

This method is rarely called by the user, as BodySettings objects cannot be created directly but only be extracted from a BodyListSettings instance. Instead, users are recommended to use the get_default_body_settings() to create settings for major celestial bodies, and the add_empty_settings() function to create settings for custom bodies. See the user guide for more information.

Parameters:
  • settings_to_add (BodySettings) – Settings to be added

  • body_name (str) – Name of the body for which settings are added

get(self: tudatpy.kernel.dynamics.environment_setup.BodyListSettings, body_name: str) tudatpy.kernel.dynamics.environment_setup.BodySettings

This function extracts a single BodySettings object.

Parameters:

body_name (str) – Name of the body for which settings are to be retrieved

Returns:

Settings for the requested body

Return type:

BodySettings

property frame_orientation

read-only

Definition of the global frame orientation for the bodies. See the user guide for more information.

Type:

str

property frame_origin

read-only

Definition of the global frame origin for the bodies. See the user guide for more information.

Type:

str

property space_time_settings

Settings used to initialize SystemOfBodies.space_time_properties when calling create_system_of_bodies().

Type:

SpaceTimePropertiesSettings

class BodySettings

Bases: pybind11_object

Class for defining settings for the creation of a single body.

Class for defining settings for the creation of a single body, this object is typically stored inside a BodyListSettings object (see module-level description environment_setup for details on interfaces with rest of tudat)

property aerodynamic_coefficient_settings

Object that defines the settings of the aerodynamic coefficient model that is to be created. A variable of this type is typically assigned by using a function from the aerodynamic_coefficients module.

Type:

AerodynamicCoefficientSettings

property atmosphere_settings

Object that defines the settings of the atmosphere model that is to be created. Note that wind model settings may be defined inside this object. A variable of this type is typically assigned by using a function from the atmosphere module.

Type:

AtmosphereSettings

property constant_mass

Mass that gets assigned to the vehicle. This mass does not automatically define a gravity field model, but is instead used for the calculation of non-conservative forces only. When creating a body with a gravity field, leave this entry empty. NOTE: this option is a shorthand for assigning a mass-only constant_rigid_body_properties() to mass_property_settings, and will be deprecated.

Type:

float

property ephemeris_settings

Object that defines the settings of the ephemeris model that is to be created. A variable of this type is typically assigned by using a function from the ephemeris module.

Type:

EphemerisSettings

property gravity_field_settings

Object that defines the settings of the gravity field model that is to be created. A variable of this type is typically assigned by using a function from the gravity_field module.

Type:

GravityFieldSettings

property gravity_field_variation_settings

List of objects that define the settings of time variations of the gravity field variation models that are to be created. Variables in this list are typically assigned by using a function from the gravity_field_variation module.

Type:

list[GravityFieldVariationSettings]

property ground_station_settings

List of objects that define the settings of the ground stations on the body, which are used as link ends of observations Entries in this list are typically assigned by using a function from the ground_station module.

Type:

list[GroundStationSettings]

property radiation_pressure_target_settings

Object that defines the settings of the radiation pressure target model that is to be created. A variable of this type is typically assigned by using a function from the radiation_pressure module.

Type:

RadiationPressureTargetModelSettings

property radiation_source_settings

Object that defines the settings of the radiation source model that is to be created. A variable of this type is typically assigned by using a function from the radiation_pressure module.

Type:

RadiationSourceModelSettings

property rigid_body_settings

Object that defines the settings of the body rigid body (mass, center of mass, inertia) properties that are to be created. A variable of this type is typically assigned by using a function from the rigid_body module. Note that this setting does not define the gravity field, but rather only the mass, center of mass and inertia tensor.

Type:

RigidBodyPropertiesSettings

property rotation_model_settings

Object that defines the settings of the rotation model that is to be created. A variable of this type is typically assigned by using a function from the rotation_model module.

Type:

RotationModelSettings

property shape_deformation_settings

List of objects that define the settings of time variations of the exterior shape of natural bodies are to be created. Variables in this list are typically assigned by using a function from the shape_deformation module.

Type:

list[BodyDeformationSettings]

property shape_settings

Object that defines the settings of the shape model that is to be created. A variable of this type is typically assigned by using a function from the shape module.

Type:

BodyShapeSettings

property vehicle_shape_settings

Object that defines the settings of an exterior panelled vehicle shape that is to be created. A variable of this type is typically assigned by using a function from the vehicle_systems module.

Type:

FullPanelledBodySettings

class DirectRelativisticTimeConverterSettings

Bases: pybind11_object

Settings container for constructing a direct relativistic time converter.