acceleration

None

Functions

point_mass_gravity()

Creates settings for the point-mass gravity acceleration.

aerodynamic()

Creates settings for the aerodynamic acceleration.

cannonball_radiation_pressure()

Creates settings for the cannonball radiation pressure acceleration.

spherical_harmonic_gravity(maximum_degree, …)

Creates settings for the spherical harmonic gravity acceleration.

mutual_spherical_harmonic_gravity(…)

Creates settings for the mutual spherical harmonic gravity acceleration.

relativistic_correction(use_schwarzschild, …)

Creates settings for the relativistic acceleration correction.

empirical(constant_acceleration, …)

Creates settings for empirical acceleration.

custom(acceleration_function, …)

Creates settings for custom acceleration.

direct_tidal_dissipation_acceleration(…)

Creates settings for custom acceleration.

momentum_wheel_desaturation_acceleration(…)

Creates settings for momentum wheel desaturation acceleration.

thrust_acceleration(*args, **kwargs)

Overloaded function.

thrust_acceleration(*args, **kwargs)

Overloaded function.

thrust_acceleration(*args, **kwargs)

Overloaded function.

get_propulsion_input_variables(…)

Function to create a list of functions that compute and return independent variables for the thrust.

thrust_direction_from_state_guidance(…)

Create thrust direction settings from the state guidance.

thrust_from_existing_body_orientation()

Create thrust direction settings from the existing body orientation.

custom_thrust_orientation(…)

Create custom thrust orientation settings, expressed as a rotation matrix.

custom_thrust_direction(…)

Create custom thrust direction settings, expressed as a vector in the inertial frame.

custom_thrust_direction(…)

Create custom thrust direction settings, expressed as a vector in the inertial frame.

custom_thrust_direction(…)

Create custom thrust direction settings, expressed as a vector in the inertial frame.

custom_thrust_magnitude(…)

Create thrust magnitude settings from a custom thrust magnitude function.

custom_thrust_magnitude(…)

Create thrust magnitude settings from a custom thrust magnitude function.

point_mass_gravity() tudat::simulation_setup::AccelerationSettings

Creates settings for the point-mass gravity acceleration.

Creates settings for the point-mass gravity acceleration. The body exerting the acceleration needs to have a gravity field model defined.

Returns

Acceleration settings object.

Return type

AccelerationSettings

aerodynamic() tudat::simulation_setup::AccelerationSettings

Creates settings for the aerodynamic acceleration.

Creates settings for the aerodynamic acceleration. The body exerting the acceleration needs to have an atmosphere defined.

Returns

Acceleration settings object.

Return type

AccelerationSettings

cannonball_radiation_pressure() tudat::simulation_setup::AccelerationSettings

Creates settings for the cannonball radiation pressure acceleration.

Creates settings for the radiation pressure acceleration, for which a cannonball model is used. In this model, the effective acceleration is colinear with the vector connecting the source of radiation and the target. The body undergoing the acceleration needs to have a radiation pressure model defined, while the body emitting radiation needs to have radiative properties defined (the Sun has default ones).

Returns

Acceleration settings object.

Return type

AccelerationSettings

spherical_harmonic_gravity(maximum_degree: int, maximum_order: int) tudat::simulation_setup::AccelerationSettings

Creates settings for the spherical harmonic gravity acceleration.

Creates settings for the spherical harmonic gravity acceleration, accounting for a finite (given) number of degree and order. The body exerting the acceleration needs to have a spherical harmonic gravity field model defined.

Parameters
  • maximum_degree (int) – Maximum degree of the spherical harmonic expansion.

  • maximum_order (int) – Maximum order of the spherical harmonic expansion.

Returns

Spherical harmonic acceleration settings object.

Return type

SphericalHarmonicAccelerationSettings

mutual_spherical_harmonic_gravity(maximum_degree_body_exerting: int, maximum_order_body_exerting: int, maximum_degree_body_undergoing: int, maximum_order_body_undergoing: int, maximum_degree_central_body: int = 0, maximum_order_central_body: int = 0) tudat::simulation_setup::AccelerationSettings

Creates settings for the mutual spherical harmonic gravity acceleration.

Creates settings for the mutual spherical harmonic gravity acceleration, accounting for a finite (given) number of degree and order for both bodies. Both the body exerting the acceleration and the body undergoing it need to have spherical harmonic gravity field models defined. In addition, the body undergoing the acceleration needs to have a rotational model defined. For the case where a third-body mutual spherical harmonic acceleration, additional parameters have to be provided that denote the expansion degree/order of the central body.

Parameters
  • maximum_degree_body_exerting (int) – Maximum degree of the spherical harmonic expansion for the body exerting the acceleration.

  • maximum_order_body_exerting (int) – Maximum order of the spherical harmonic expansion for the body exerting the acceleration.

  • maximum_degree_body_undergoing (int) – Maximum degree of the spherical harmonic expansion for the body undergoing the acceleration.

  • maximum_order_body_undergoing (int) – Maximum order of the spherical harmonic expansion for the body undergoing the acceleration.

  • maximum_degree_central_body (int, default=0) – Maximum degree of the spherical harmonic expansion for the central body, if needed.

  • maximum_order_central_body (int, default=0) – Maximum order of the spherical harmonic expansion for the central body, if needed.

Returns

Spherical harmonic acceleration settings object.

Return type

MutualSphericalHarmonicAccelerationSettings

relativistic_correction(use_schwarzschild: bool = False, use_lense_thirring: bool = False, use_de_sitter: bool = False, de_sitter_central_body: str = '', lense_thirring_angular_momentum: numpy.ndarray[numpy.float64[3, 1]] = array([0., 0., 0.])) tudat::simulation_setup::AccelerationSettings

Creates settings for the relativistic acceleration correction.

Creates settings for typical relativistic acceleration corrections: the Schwarzschild, Lense-Thirring and de Sitter terms (see ‘General relativity and Space Geodesy’ by L. Combrinck, 2012). It implements the model of 2010 Conventions (chapter 10, section 3). Here, the ‘primary body’ for a planetary orbiter should always be set as the Sun (only relevant for de Sitter correction). The angular momentum vector of the orbited body is only relevant for Lense-Thirring correction.

Parameters
  • use_schwarzschild (bool) – Maximum degree of the spherical harmonic expansion for the body exerting the acceleration.

  • use_lense_thirring (bool) – Maximum order of the spherical harmonic expansion for the body exerting the acceleration.

  • use_de_sitter (bool) – Maximum degree of the spherical harmonic expansion for the body undergoing the acceleration.

  • de_sitter_central_body (str, default="") – Maximum order of the spherical harmonic expansion for the body undergoing the acceleration.

  • lense_thirring_angular_momentum (numpy.ndarray, default=numpy.array([0, 0, 0])) – Maximum degree of the spherical harmonic expansion for the central body, if needed.

Returns

Relativistic acceleration correction settings object.

Return type

RelativisticAccelerationCorrectionSettings

empirical(constant_acceleration: numpy.ndarray[numpy.float64[3, 1]] = array([0., 0., 0.]), sine_acceleration: numpy.ndarray[numpy.float64[3, 1]] = array([0., 0., 0.]), cosine_acceleration: numpy.ndarray[numpy.float64[3, 1]] = array([0., 0., 0.])) tudat::simulation_setup::AccelerationSettings

Creates settings for empirical acceleration.

Creates settings for empirical accelerations. These are expressed in the RSW frame, for which the mangitude is determined empirically (typically during an orbit determination process). The acceleration components are defined according to Montenbruck and Gill (2000), with a total of 9 components: a constant, sine and cosine term (with true anomaly as argument) for each of the three independent directions of the RSW frame.

Parameters
  • constant_acceleration (numpy.ndarray, default=numpy.array([0, 0, 0])) – Constant term, defined in the RSW frame.

  • sine_acceleration (numpy.ndarray, default=numpy.array([0, 0, 0])) – Sine term (function of the true anomaly), defined in the RSW frame..

  • cosine_acceleration (numpy.ndarray, default=numpy.array([0, 0, 0])) – Cosine term (function of the true anomaly), defined in the RSW frame..

Returns

Empirical acceleration settings object.

Return type

EmpiricalAccelerationSettings

custom(acceleration_function: Callable[[float], numpy.ndarray[numpy.float64[3, 1]]], scaling_function: Callable[[float], float] = None) tudat::simulation_setup::AccelerationSettings

Creates settings for custom acceleration.

Creates settings for empirical accelerations. These are expressed in the RSW frame, for which the mangitude is determined empirically (typically during an orbit determination process). The acceleration components are defined according to Montenbruck and Gill (2000), with a total of 9 components: a constant, sine and cosine term (with true anomaly as argument) for each of the three independent directions of the RSW frame.

Parameters
  • acceleration_function (Callable[[float], list]) – Custom acceleration function with time as an independent variable.

  • scaling_function (Callable[[float], float], default=None) – Scaling function with time as an independent variable to be multiplied by the custom acceleration function.

Returns

Custom acceleration settings object.

Return type

CustomAccelerationSettings

direct_tidal_dissipation_acceleration(k2_love_number: float, time_lag: float, include_direct_radial_component: bool = True, use_tide_raised_on_planet: bool = True) tudat::simulation_setup::AccelerationSettings

Creates settings for custom acceleration.

Creates settings for tidal accelerations. The direct of tidal effects in a satellite system is applied directly as an acceleration (as opposed to a modification of spherical harmonic coefficients). The model is based on Lainey et al. (2007, 2012). It can compute the acceleration due to tides, and in particular tidal dissipation, on a planetary satellite. The acceleration computed can account for either the effect of tide raised on the satellite by the planet or on the planet by the satellite. The satellite is assumed to be tidally locked to the planet.

Parameters
  • k2_love_number (float) – Value of the k2 Love number.

  • time_lag (float) – Value of the tidal time lag.

  • include_direct_radial_component (bool, default=True) – It denotes whether the term independent of the time lag is to be computed.

  • use_tide_raised_on_planet (bool, default=True) – It denotes whether the tide raised on the planet is to be modelled (if true) or the tide raised on the satellite (if false).

Returns

Direct tidal dissipation acceleration settings object.

Return type

DirectTidalDissipationAccelerationSettings

momentum_wheel_desaturation_acceleration(thrust_mid_times: List[float], delta_v_values: List[numpy.ndarray[numpy.float64[3, 1]]], total_maneuver_time: float, maneuver_rise_time: float) tudat::simulation_setup::AccelerationSettings

Creates settings for momentum wheel desaturation acceleration.

The acceleration model is purpose-built to represent short bursts of thrust, such as a momentum wheel desaturation. A typical use case is precise orbit determination, but the functionality can be used just as well in propagation (for instance to model an impulsive manuever in a continuous manner when going from preliminary modelling to ‘full’ modelling). The thrust is modelled similarly to Fig. 3 of Alessi et al. (2012), with the main difference being that a third-order polynomial to go from zero acceleration to the maximum acceleration level is employed. By using a 3rd-order polynomial and imposing continuity in the value and first derivative of the acceleration, defining the ‘rise time’ (time it takes acceleration to go from 0 to its maximum level), the total time where there is non-zero thrust (‘total maneuver time’), and the total Delta V exerted by a single maneuver, the acceleration profile is fully defined.

Parameters
  • thrust_mid_times (list[float]) – Set of middle point in times in the maneuver denoting the epoch of each maneuver.

  • delta_v_values (list[numpy.ndarray]) – Set of delta V, one for each maneuver.

  • total_maneuver_time (float) – Total duration of every maneuver.

  • maneuver_rise_time (float) – Time taken by the acceleration to go from zero to its maximum level.

Returns

Momentum wheel desaturation acceleration settings object.

Return type

MomentumWheelDesaturationAccelerationSettings

thrust_acceleration(*args, **kwargs)

Overloaded function.

  1. thrust_acceleration(thrust_direction_settings: tudat::simulation_setup::ThrustDirectionSettings, thrust_magnitude_settings: tudat::simulation_setup::ThrustMagnitudeSettings) -> tudat::simulation_setup::AccelerationSettings

    Creates settings for thrust acceleration from thrust guidance settings.

    Creates settings for thrust acceleration from thrust guidance settings. The thrust direction and magnitude are supplied in the form of dedicated settings objects (see the API for the respective classes).

    thrust_direction_settingsThrustDirectionSettings

    Thrust direction settings object.

    thrust_magnitude_settingsThrustMagnitudeSettings

    Thrust magnitude settings object.

    ThrustAccelerationSettings

    Thrust acceleration settings object.

  2. thrust_acceleration(data_interpolation_settings: tudat::interpolators::DataInterpolationSettings<double, Eigen::Matrix<double, 3, 1, 0, 3, 1> >, specific_impulse_function: Callable[[float], float], thrust_frame: tudatpy.kernel.simulation.propagation_setup.acceleration.ThrustFrames = <ThrustFrames.unspecified_thrust_frame_type: -1>, central_body: str = ‘’) -> tudat::simulation_setup::AccelerationSettings

    Creates settings for thrust acceleration from interpolated thrust data with variable magnitude.

    Creates settings for thrust acceleration from interpolated thrust data. The thrust direction is defined through the related interpolator (which uses time as independent variable) and it returns the thrust direction vector in the specified frame (it can be local or inertial). The variable thrust magnitude is computed from the specific impulse, given as a function of time.

    data_interpolation_settingsDataInterpolationSettings<float, numpy.ndarray>

    Interpolator object that provides the thrust direction vector in the given thrust frame as a function of time.

    specific_impulse_functionCallable[[double], double]

    Specific impulse provided as a function of time.

    thrust_frameThrustFrames, default=unspecified_thrust_frame

    Frame in which the thrust direction vector is represented.

    central_bodystr, default=””

    Central body that is the origin of the thrust frame (if different from the vehicle, otherwise empty by default).

    ThrustAccelerationSettings

    Thrust acceleration settings object.

  3. thrust_acceleration(data_interpolation_settings: tudat::interpolators::DataInterpolationSettings<double, Eigen::Matrix<double, 3, 1, 0, 3, 1> >, constant_specific_impulse: float, thrust_frame: tudatpy.kernel.simulation.propagation_setup.acceleration.ThrustFrames = <ThrustFrames.unspecified_thrust_frame_type: -1>, central_body: str = ‘’) -> tudat::simulation_setup::AccelerationSettings

    Creates settings for thrust acceleration from interpolated thrust data with constant magnitudee.

    Creates settings for thrust acceleration from interpolated thrust data. The thrust direction is defined through the related interpolator (which uses time as independent variable) and it returns the thrust direction vector in the specified frame (it can be local or inertial). The constant thrust magnitude is computed from the constant specific impulse.

    data_interpolation_settingsDataInterpolationSettings<float, numpy.ndarray>

    Interpolator object that provides the thrust direction vector in the given thrust frame as a function of time.

    constant_specific_impulsefloat

    Constant specific impulse.

    thrust_frameThrustFrames, default=unspecified_thrust_frame

    Frame in which the thrust direction vector is represented.

    central_bodystr, default=””

    Central body that is the origin of the thrust frame (if different from the vehicle, otherwise empty by default).

    ThrustAccelerationSettings

    Thrust acceleration settings object.

thrust_acceleration(*args, **kwargs)

Overloaded function.

  1. thrust_acceleration(thrust_direction_settings: tudat::simulation_setup::ThrustDirectionSettings, thrust_magnitude_settings: tudat::simulation_setup::ThrustMagnitudeSettings) -> tudat::simulation_setup::AccelerationSettings

    Creates settings for thrust acceleration from thrust guidance settings.

    Creates settings for thrust acceleration from thrust guidance settings. The thrust direction and magnitude are supplied in the form of dedicated settings objects (see the API for the respective classes).

    thrust_direction_settingsThrustDirectionSettings

    Thrust direction settings object.

    thrust_magnitude_settingsThrustMagnitudeSettings

    Thrust magnitude settings object.

    ThrustAccelerationSettings

    Thrust acceleration settings object.

  2. thrust_acceleration(data_interpolation_settings: tudat::interpolators::DataInterpolationSettings<double, Eigen::Matrix<double, 3, 1, 0, 3, 1> >, specific_impulse_function: Callable[[float], float], thrust_frame: tudatpy.kernel.simulation.propagation_setup.acceleration.ThrustFrames = <ThrustFrames.unspecified_thrust_frame_type: -1>, central_body: str = ‘’) -> tudat::simulation_setup::AccelerationSettings

    Creates settings for thrust acceleration from interpolated thrust data with variable magnitude.

    Creates settings for thrust acceleration from interpolated thrust data. The thrust direction is defined through the related interpolator (which uses time as independent variable) and it returns the thrust direction vector in the specified frame (it can be local or inertial). The variable thrust magnitude is computed from the specific impulse, given as a function of time.

    data_interpolation_settingsDataInterpolationSettings<float, numpy.ndarray>

    Interpolator object that provides the thrust direction vector in the given thrust frame as a function of time.

    specific_impulse_functionCallable[[double], double]

    Specific impulse provided as a function of time.

    thrust_frameThrustFrames, default=unspecified_thrust_frame

    Frame in which the thrust direction vector is represented.

    central_bodystr, default=””

    Central body that is the origin of the thrust frame (if different from the vehicle, otherwise empty by default).

    ThrustAccelerationSettings

    Thrust acceleration settings object.

  3. thrust_acceleration(data_interpolation_settings: tudat::interpolators::DataInterpolationSettings<double, Eigen::Matrix<double, 3, 1, 0, 3, 1> >, constant_specific_impulse: float, thrust_frame: tudatpy.kernel.simulation.propagation_setup.acceleration.ThrustFrames = <ThrustFrames.unspecified_thrust_frame_type: -1>, central_body: str = ‘’) -> tudat::simulation_setup::AccelerationSettings

    Creates settings for thrust acceleration from interpolated thrust data with constant magnitudee.

    Creates settings for thrust acceleration from interpolated thrust data. The thrust direction is defined through the related interpolator (which uses time as independent variable) and it returns the thrust direction vector in the specified frame (it can be local or inertial). The constant thrust magnitude is computed from the constant specific impulse.

    data_interpolation_settingsDataInterpolationSettings<float, numpy.ndarray>

    Interpolator object that provides the thrust direction vector in the given thrust frame as a function of time.

    constant_specific_impulsefloat

    Constant specific impulse.

    thrust_frameThrustFrames, default=unspecified_thrust_frame

    Frame in which the thrust direction vector is represented.

    central_bodystr, default=””

    Central body that is the origin of the thrust frame (if different from the vehicle, otherwise empty by default).

    ThrustAccelerationSettings

    Thrust acceleration settings object.

thrust_acceleration(*args, **kwargs)

Overloaded function.

  1. thrust_acceleration(thrust_direction_settings: tudat::simulation_setup::ThrustDirectionSettings, thrust_magnitude_settings: tudat::simulation_setup::ThrustMagnitudeSettings) -> tudat::simulation_setup::AccelerationSettings

    Creates settings for thrust acceleration from thrust guidance settings.

    Creates settings for thrust acceleration from thrust guidance settings. The thrust direction and magnitude are supplied in the form of dedicated settings objects (see the API for the respective classes).

    thrust_direction_settingsThrustDirectionSettings

    Thrust direction settings object.

    thrust_magnitude_settingsThrustMagnitudeSettings

    Thrust magnitude settings object.

    ThrustAccelerationSettings

    Thrust acceleration settings object.

  2. thrust_acceleration(data_interpolation_settings: tudat::interpolators::DataInterpolationSettings<double, Eigen::Matrix<double, 3, 1, 0, 3, 1> >, specific_impulse_function: Callable[[float], float], thrust_frame: tudatpy.kernel.simulation.propagation_setup.acceleration.ThrustFrames = <ThrustFrames.unspecified_thrust_frame_type: -1>, central_body: str = ‘’) -> tudat::simulation_setup::AccelerationSettings

    Creates settings for thrust acceleration from interpolated thrust data with variable magnitude.

    Creates settings for thrust acceleration from interpolated thrust data. The thrust direction is defined through the related interpolator (which uses time as independent variable) and it returns the thrust direction vector in the specified frame (it can be local or inertial). The variable thrust magnitude is computed from the specific impulse, given as a function of time.

    data_interpolation_settingsDataInterpolationSettings<float, numpy.ndarray>

    Interpolator object that provides the thrust direction vector in the given thrust frame as a function of time.

    specific_impulse_functionCallable[[double], double]

    Specific impulse provided as a function of time.

    thrust_frameThrustFrames, default=unspecified_thrust_frame

    Frame in which the thrust direction vector is represented.

    central_bodystr, default=””

    Central body that is the origin of the thrust frame (if different from the vehicle, otherwise empty by default).

    ThrustAccelerationSettings

    Thrust acceleration settings object.

  3. thrust_acceleration(data_interpolation_settings: tudat::interpolators::DataInterpolationSettings<double, Eigen::Matrix<double, 3, 1, 0, 3, 1> >, constant_specific_impulse: float, thrust_frame: tudatpy.kernel.simulation.propagation_setup.acceleration.ThrustFrames = <ThrustFrames.unspecified_thrust_frame_type: -1>, central_body: str = ‘’) -> tudat::simulation_setup::AccelerationSettings

    Creates settings for thrust acceleration from interpolated thrust data with constant magnitudee.

    Creates settings for thrust acceleration from interpolated thrust data. The thrust direction is defined through the related interpolator (which uses time as independent variable) and it returns the thrust direction vector in the specified frame (it can be local or inertial). The constant thrust magnitude is computed from the constant specific impulse.

    data_interpolation_settingsDataInterpolationSettings<float, numpy.ndarray>

    Interpolator object that provides the thrust direction vector in the given thrust frame as a function of time.

    constant_specific_impulsefloat

    Constant specific impulse.

    thrust_frameThrustFrames, default=unspecified_thrust_frame

    Frame in which the thrust direction vector is represented.

    central_bodystr, default=””

    Central body that is the origin of the thrust frame (if different from the vehicle, otherwise empty by default).

    ThrustAccelerationSettings

    Thrust acceleration settings object.

get_propulsion_input_variables(body_with_guidance: tudatpy.kernel.simulation.environment_setup.Body = None, independent_variables: List[tudat::propulsion::ThrustIndependentVariables] = [], guidance_input_functions: List[Callable[[], float]] = []) List[Callable[[], float]]

Function to create a list of functions that compute and return independent variables for the thrust.

Function to create a list of functions that compute and return independent variables for thrust and/or specific impulse. This parameterization is used to create a specific thrust magnitude type (see thrust magnitude from dependent variables). This function retrieves all input functions from the environment and a list of user-defined functions.

Parameters
  • body_with_guidance (Body) – Body object whose thrust guidance should be defined.

  • independent_variables (list[ThrustIndependentVariables]) – Set of dependent variables that should be used to compute the thrust.

  • guidance_input_functions (list[Callable[[], float], default=[]) – Set of functions to compute the thrust, each associated to a specific dependent variable.

thrust_direction_from_state_guidance(central_body: str, is_colinear_with_velocity: bool, direction_is_opposite_to_vector: bool) tudatpy.kernel.simulation.propagation_setup.acceleration.ThrustDirectionSettings

Create thrust direction settings from the state guidance.

Factory function that creates thrust direction settings from the state guidance. In various simplified cases, the thrust direction can be assumed to be in line with either the position or velocity of the body of interest with respect to some other body.

Parameters
  • central_body (Body) – Central body with respect to which the position and velocity of the body undergoing the thrust acceleration are computed.

  • is_colinear_with_velocity (bool) – Whether the thrust direction is colinear with the velocity (true) or the position vector with respect to some other body (false).

  • direction_is_opposite_to_vector (bool) – Whether the thrust is pointing towards the thrusting body (true) or the central body (false).

Returns

Thrust direction from state guidance settings object.

Return type

ThrustDirectionFromStateGuidanceSettings

thrust_from_existing_body_orientation() tudatpy.kernel.simulation.propagation_setup.acceleration.ThrustDirectionSettings

Create thrust direction settings from the existing body orientation.

Factory function that creates thrust direction settings from the existing body orientation. In some cases, the vehicle’s orientation may be predetermined, either due to aerodynamic guidance or to the concurrent propagation of the rotational equations of motion. In such a case, the thrust direction is computed from the body-fixed thrust direction (defined in ThrustMagnitudeSettings) and the existing vehicle orientation.

custom_thrust_orientation(thrust_orientation_function: Callable[[float], numpy.ndarray[numpy.float64[3, 3]]]) tudatpy.kernel.simulation.propagation_setup.acceleration.ThrustDirectionSettings

Create custom thrust orientation settings, expressed as a rotation matrix.

Factory function that creates custom thrust orientation settings, expressed through a rotation matrix. As an alternative expression for generalized thrust direction guidance, the thrust orientation can be defined as an arbitrary function of time. As with the custom thrust direction, this allows a broad range of options to be defined, at the expense of increased complexity (somehow the thrust orientation needs to be manually defined). The thrust orientation is provided through a rotation matrix representing the rotation from body-fixed thrust direction to the inertial thrust direction.

Parameters

thrust_orientation_function (Callable[[float], numpy.ndarray]) – Function of time returning the matrix representing the rotation between the thrust direction in the body-fixed frame to the inertial frame.

Returns

Custom thrust orientation settings object.

Return type

CustomThrustOrientationSettings

custom_thrust_direction(thrust_direction_function: Callable[[float], numpy.ndarray[numpy.float64[3, 1]]]) tudatpy.kernel.simulation.propagation_setup.acceleration.ThrustDirectionSettings

Create custom thrust direction settings, expressed as a vector in the inertial frame.

Factory function that creates custom thrust direction settings, expressed as a unit vector in the inertial frame. For a generalized thrust direction guidance, the thrust can be defined as an arbitrary function of time. This allows a broad range of options to be defined, at the expense of increased complexity (somehow the thrust direction needs to be manually defined).

Parameters

thrust_direction_function (Callable[[float], numpy.ndarray]) – Function of time returning the thrust direction in the inertial frame.

Returns

Custom thrust direction settings object.

Return type

CustomThrustDirectionSettings

custom_thrust_direction(thrust_direction_function: Callable[[float], numpy.ndarray[numpy.float64[3, 1]]]) tudatpy.kernel.simulation.propagation_setup.acceleration.ThrustDirectionSettings

Create custom thrust direction settings, expressed as a vector in the inertial frame.

Factory function that creates custom thrust direction settings, expressed as a unit vector in the inertial frame. For a generalized thrust direction guidance, the thrust can be defined as an arbitrary function of time. This allows a broad range of options to be defined, at the expense of increased complexity (somehow the thrust direction needs to be manually defined).

Parameters

thrust_direction_function (Callable[[float], numpy.ndarray]) – Function of time returning the thrust direction in the inertial frame.

Returns

Custom thrust direction settings object.

Return type

CustomThrustDirectionSettings

custom_thrust_direction(thrust_direction_function: Callable[[float], numpy.ndarray[numpy.float64[3, 1]]]) tudatpy.kernel.simulation.propagation_setup.acceleration.ThrustDirectionSettings

Create custom thrust direction settings, expressed as a vector in the inertial frame.

Factory function that creates custom thrust direction settings, expressed as a unit vector in the inertial frame. For a generalized thrust direction guidance, the thrust can be defined as an arbitrary function of time. This allows a broad range of options to be defined, at the expense of increased complexity (somehow the thrust direction needs to be manually defined).

Parameters

thrust_direction_function (Callable[[float], numpy.ndarray]) – Function of time returning the thrust direction in the inertial frame.

Returns

Custom thrust direction settings object.

Return type

CustomThrustDirectionSettings

custom_thrust_magnitude(thrust_magnitude_function: Callable[[float], float], specific_impulse_function: Callable[[float], float], is_engine_on_function: Callable[[float], bool] = <built-in method  of PyCapsule object at 0x7ff4ca6dbba0>, body_fixed_thrust_direction: Callable[[], numpy.ndarray[numpy.float64[3, 1]]] = <built-in method  of PyCapsule object at 0x7ff4ca6dbae0>, custom_thrust_reset_function: Callable[[float], None] = None) tudatpy.kernel.simulation.propagation_setup.acceleration.ThrustMagnitudeSettings

Create thrust magnitude settings from a custom thrust magnitude function.

Factory function that creates constant thrust magnitude settings. The specific impulse to use for the thrust is also supplied when applying a mass rate model in the propagation of the vehicle dynamics, relating the thrust to the mass decrease of the vehicle.

Parameters
  • thrust_magnitude (float) – Value of the constant thrust magnitude.

  • specific_impulse (float) – Value of the constant specific impulse, used to link the thrust model to the mass propagation.

  • body_fixed_thrust_direction (numpy.ndarray, default=numpy.ndarray([])) – Constant body-fixed thrust direction (positive x-direction by default). Note that this should be a unit-vector representing the direction opposite to the nozzle direction.

Returns

Constant thrust magnitude settings object.

Return type

ConstantThrustMagnitudeSettings

custom_thrust_magnitude(thrust_magnitude_function: Callable[[float], float], specific_impulse_function: Callable[[float], float], is_engine_on_function: Callable[[float], bool] = <built-in method  of PyCapsule object at 0x7ff4ca6dbba0>, body_fixed_thrust_direction: Callable[[], numpy.ndarray[numpy.float64[3, 1]]] = <built-in method  of PyCapsule object at 0x7ff4ca6dbae0>, custom_thrust_reset_function: Callable[[float], None] = None) tudatpy.kernel.simulation.propagation_setup.acceleration.ThrustMagnitudeSettings

Create thrust magnitude settings from a custom thrust magnitude function.

Factory function that creates constant thrust magnitude settings. The specific impulse to use for the thrust is also supplied when applying a mass rate model in the propagation of the vehicle dynamics, relating the thrust to the mass decrease of the vehicle.

Parameters
  • thrust_magnitude (float) – Value of the constant thrust magnitude.

  • specific_impulse (float) – Value of the constant specific impulse, used to link the thrust model to the mass propagation.

  • body_fixed_thrust_direction (numpy.ndarray, default=numpy.ndarray([])) – Constant body-fixed thrust direction (positive x-direction by default). Note that this should be a unit-vector representing the direction opposite to the nozzle direction.

Returns

Constant thrust magnitude settings object.

Return type

ConstantThrustMagnitudeSettings

Classes

class AccelerationSettings

Functional base class to define settings for accelerations.

class SphericalHarmonicAccelerationSettings

AccelerationSettings-derived class to define settings for the spherical harmonic acceleration.

class MutualSphericalHarmonicAccelerationSettings

AccelerationSettings-derived class to define settings for the mutual spherical harmonic acceleration.

class RelativisticAccelerationCorrectionSettings

AccelerationSettings-derived class to define settings for the relativistic acceleration correction.

class EmpiricalAccelerationSettings

AccelerationSettings-derived class to define settings for the empirical acceleration.

class CustomAccelerationSettings

AccelerationSettings-derived class to define settings for custom acceleration.

class ThrustAccelerationSettings

AccelerationSettings-derived class to define settings for direct tidal dissipation acceleration.

class ThrustDirectionSettings

Functional base class to define settings for the thrust direction.

class ThrustDirectionFromStateGuidanceSettings

ThrustDirectionSettings-derived class to define settings for the thrust direction from the current state.

class CustomThrustDirectionSettings

ThrustDirectionSettings-derived class to define settings for a custom thrust direction.

class CustomThrustOrientationSettings

ThrustDirectionSettings-derived class to define settings for a custom thrust orientation.

class MeeCostateBasedThrustDirectionSettings

ThrustDirectionSettings-derived class to define settings for the thrust direction from Modified Equinoctial Elements (MEE) costates.

class ThrustMagnitudeSettings

Functional base class to define settings for the thrust magnitude.

class ConstantThrustMagnitudeSettings

ThrustMagnitudeSettings-derived class to define settings for constant thrust magnitude.

class FromFunctionThrustMagnitudeSettings

ThrustMagnitudeSettings-derived class to define settings for constant thrust magnitude.