environment_setup#

Definition of environment settings.

This module contains submodules to define environment settings. It also contains a set of factory functions to use environment settings in a simulation by creating natural and artificial body objects.

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.

add_aerodynamic_coefficient_interface(...)

Function that creates an aerodynamic coefficient interface from settings, and adds it to an existing 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.

add_radiation_pressure_interface(bodies, ...)

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

add_flight_conditions(*args, **kwargs)

Overloaded function.

get_default_body_settings(bodies: List[str], base_frame_origin: str = 'SSB', base_frame_orientation: str = 'ECLIPJ2000') tudatpy.kernel.numerical_simulation.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 here . 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,

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

  • 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_to_create (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, final_time: float, base_frame_origin: str = 'SSB', base_frame_orientation: str = 'ECLIPJ2000', time_step: float = 300.0) tudatpy.kernel.numerical_simulation.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.

  • 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

add_aerodynamic_coefficient_interface(bodies: tudatpy.kernel.numerical_simulation.environment.SystemOfBodies, body_name: str, coefficient_settings: tudat::simulation_setup::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 factory functions from the ~tudatpy.numerical_simulation_environment_setup.aerodynamic_coefficient 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.

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

Function that creates a System of bodies from associated settings.

Function that creates a System of bodies from associated settings. This function creates the separate Body objects and stores them in a SystemOfBodies object. This object represents the full physical environment in the simulation.

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 = 0) tudatpy.kernel.numerical_simulation.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.

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

add_radiation_pressure_interface(bodies: tudatpy.kernel.numerical_simulation.environment.SystemOfBodies, body_name: str, radiation_pressure_settings: tudat::simulation_setup::RadiationPressureInterfaceSettings) None#

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

This function can be used to add an radiation pressure interface to an existing body. It requires settings for the radiation pressure interface, created using one of the factory functions from the ~tudatpy.numerical_simulation_environment_setup.radiation_pressure 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 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_settings (RadiationPressureInterfaceSettings) – Settings defining the radiation pressure interface that is to be created.

add_flight_conditions(*args, **kwargs)#

Overloaded function.

  1. add_flight_conditions(bodies: tudatpy.kernel.numerical_simulation.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 calulcation 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 automically 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.)

    bodiesSystemOfBodies

    Object defining the physical environment, with all properties of artificial and natural bodies.

    body_namestr

    Name of the body for which the flight conditions are to be created

    central_body_namestr

    Name of the cenral body w.r.t. which the flight conditions are to be created (typically, but not necesarilly, the central body of propagation)/

  2. add_flight_conditions(bodies: tudatpy.kernel.numerical_simulation.environment.SystemOfBodies, body_name: str, central_body_name: str) -> None

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.

class BodyListSettings#

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.

add_empty_settings(self: tudatpy.kernel.numerical_simulation.environment_setup.BodyListSettings, body_name: str) None#
add_settings(self: tudatpy.kernel.numerical_simulation.environment_setup.BodyListSettings, settings_to_add: tudatpy.kernel.numerical_simulation.environment_setup.BodySettings, body_name: str) None#
get(self: tudatpy.kernel.numerical_simulation.environment_setup.BodyListSettings, arg0: str) tudatpy.kernel.numerical_simulation.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

property frame_orientation#

read-only

Definition of the global frame orientation for the bodies

Type

str

property frame_origin#

read-only

Definition of the global frame origin for the bodies

Type

str

class BodySettings#

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.

property aerodynamic_coefficient_settings#

No documentation found.

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 factory function from the ~tudatpy.numerical_simulation.environment_setup.atmosphere module.

Type

AtmosphereSettings

property constant_mass#

Mass that gets assigned to the vehicle. Note that 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.

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 factory function from the ~tudatpy.numerical_simulation.environment_setup.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 factory function from the ~tudatpy.numerical_simulation.environment_setup.gravity_field module.

Type

GravityFieldSettings

property gravity_field_variation_settings#

No documentation found.

property radiation_pressure_settings#

No documentation found.

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 factory function from the ~tudatpy.numerical_simulation.environment_setup.rotation_model module.

Type

RotationModelSettings

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 factory function from the ~tudatpy.numerical_simulation.environment_setup.shape module.

Type

BodyShapeSettings