shape_based_thrust#

Functionalities for shape-based low-thrust trajectory design.

This module provides the functionality for creating shape-based low-thrust trajectory design legs. Without using any numerical propagation, this generates a preliminary low-thrust trajectory using relatively simple (semi-)analytical methods

References#

Functions#

recommended_radial_hodograph_functions(...)

Factory function for creating the default radial hodographic trajectory shaping functions.

recommended_normal_hodograph_functions(...)

Factory function for creating the default normal hodographic trajectory shaping functions.

recommended_axial_hodograph_functions(...)

Factory function for creating the default axial hodograph ic trajectory shaping functions.

hodograph_constant()

Factory function for creating a constant contribution to hodographic trajectory shaping.

hodograph_sine(frequency)

Factory function for creating a sine contribution to hodographic trajectory shaping.

hodograph_cosine(frequency)

Factory function for creating a cosine contribution to hodographic trajectory shaping.

hodograph_exponential(exponent)

hodograph_exponential_sine(exponent, frequency)

hodograph_exponential_cosine(exponent, frequency)

hodograph_power(exponent)

hodograph_power_sine(exponent, frequency[, ...])

Factory function for creating a power sine function contribution to hodographic trajectory shaping.

hodograph_power_cosine(exponent, frequency)

Factory function for creating a power cosine function contribution to hodographic trajectory shaping.

recommended_radial_hodograph_functions(time_of_flight: float) List[tudatpy.kernel.trajectory_design.shape_based_thrust.BaseFunctionHodographicShaping]#

Factory function for creating the default radial hodographic trajectory shaping functions.

Factory function for creating the default radial hodographic trajectory shaping functions. This function (and its counterparts normal and axial components) provided three shaping functions that have been found in literature to work well for this method. For a given time-of-flight \(T\), this function returns a list of three shaping functions:

Parameters:

time_of_flight (float) – Total time of flight (in seconds) of the trajectory that is to be generated.

Returns:

List of default settings object for radial hodographic shaping

Return type:

list[BaseFunctionHodographicShaping]

recommended_normal_hodograph_functions(time_of_flight: float) List[tudatpy.kernel.trajectory_design.shape_based_thrust.BaseFunctionHodographicShaping]#

Factory function for creating the default normal hodographic trajectory shaping functions.

Factory function for creating the default normal hodographic trajectory shaping functions. This function (and its counterparts radial and axial components) provided three shaping functions that have been found in literature to work well for this method. For a given time-of-flight \(T\), this function returns a list of three shaping functions:

Parameters:

time_of_flight (float) – Total time of flight (in seconds) of the trajectory that is to be generated.

Returns:

List of default settings object for axial hodographic shaping

Return type:

list[BaseFunctionHodographicShaping]

recommended_axial_hodograph_functions(time_of_flight: float, number_of_revolutions: int) List[tudatpy.kernel.trajectory_design.shape_based_thrust.BaseFunctionHodographicShaping]#

Factory function for creating the default axial hodograph ic trajectory shaping functions.

Factory function for creating the default axial hodographic trajectory shaping functions. This function (and its counterparts radial and normal components) provided three shaping functions that have been found in literature to work well for this method. For a given time-of-flight \(T\) and number of revolutions \(N\), this function returns a list of three shaping functions:

  • Cosine term, see hodograph_cosine() with frequency = \(\frac{2\pi(N+1/2)}{T}\)

  • Power cosine function term, see hodograph_power_cosine() with exponent = 3.0, frequency = \(\frac{2\pi(N+1/2)}{T}\), scale_factor = \(1/T\)

  • Power sine function term, see hodograph_power_sine() with exponent = 3.0, frequency = \(\frac{2\pi(N+1/2)}{T}\), scale_factor = \(1/T\)

Parameters:
  • time_of_flight (float) – Total time of flight (in seconds) of the trajectory that is to be generated.

  • number_of_revolutions (int) – Number of full revolutions around the central body that are to be used.

Returns:

List of default settings object for axial hodographic shaping

Return type:

list[BaseFunctionHodographicShaping]

hodograph_constant() tudatpy.kernel.trajectory_design.shape_based_thrust.BaseFunctionHodographicShaping#

Factory function for creating a constant contribution to hodographic trajectory shaping.

Factory function for creating a constant contribution to hodographic trajectory shaping. This adds a contribution \(K\) to the selected velocity component, with \(K\) a free parameter.

Returns:

Settings object for a constant contribution to hodographic shaping.

Return type:

BaseFunctionHodographicShaping

hodograph_sine(frequency: float) tudatpy.kernel.trajectory_design.shape_based_thrust.BaseFunctionHodographicShaping#

Factory function for creating a sine contribution to hodographic trajectory shaping.

Factory function for creating a sine contribution to hodographic trajectory shaping. For a provided frequency \(f\), this adds a contribution \(K\sin(f\cdot t)\) to the selected velocity component, with \(t\) the time since departure, and \(K\) a free parameter.

Parameters:

frequency (float) – Frequency of the sine contribution to the shape function.

Returns:

Settings object for a cosine contribution to hodographic shaping.

Return type:

BaseFunctionHodographicShaping

hodograph_cosine(frequency: float) tudatpy.kernel.trajectory_design.shape_based_thrust.BaseFunctionHodographicShaping#

Factory function for creating a cosine contribution to hodographic trajectory shaping.

Factory function for creating a cosine contribution to hodographic trajectory shaping. For a provided frequency \(f\), this adds a contribution \(K\cos(f\cdot T)\) to the selected velocity component, with \(T\) the time since departure, and \(K\) a free parameter.

Parameters:

frequency (float) – Frequency of the cosine contribution to the shape function.

Returns:

Settings object for a cosine contribution to hodographic shaping.

Return type:

BaseFunctionHodographicShaping

hodograph_exponential(exponent: float) tudatpy.kernel.trajectory_design.shape_based_thrust.BaseFunctionHodographicShaping#
hodograph_exponential_sine(exponent: float, frequency: float) tudatpy.kernel.trajectory_design.shape_based_thrust.BaseFunctionHodographicShaping#
hodograph_exponential_cosine(exponent: float, frequency: float) tudatpy.kernel.trajectory_design.shape_based_thrust.BaseFunctionHodographicShaping#
hodograph_power(exponent: float) tudatpy.kernel.trajectory_design.shape_based_thrust.BaseFunctionHodographicShaping#
hodograph_power_sine(exponent: float, frequency: float, scale_factor: float = 1.0) tudatpy.kernel.trajectory_design.shape_based_thrust.BaseFunctionHodographicShaping#

Factory function for creating a power sine function contribution to hodographic trajectory shaping.

Factory function for creating a power sine function contribution to hodographic trajectory shaping. For a provided exponent \(r\), (optional) scale factor \(c\) and frequency \(f\), this adds a contribution \(K\cdot c\sin(f\cdot t)\cdot t^{r}\) to the selected velocity component, with \(t\) the time since departure, and \(K\) a free parameter.

Parameters:
  • frequency (float) – Frequency of the sine contribution to the shape function.

  • exponent (float) – Exponent of the power function contribution to the shape function.

  • scale_factor (float, default = 1.0) – Optional scale factor, which can be used to scale the physical meaning of the free parameter \(K\).

Returns:

Settings object for a power sine function contribution to hodographic shaping.

Return type:

BaseFunctionHodographicShaping

hodograph_power_cosine(exponent: float, frequency: float, scale_factor: float = 1.0) tudatpy.kernel.trajectory_design.shape_based_thrust.BaseFunctionHodographicShaping#

Factory function for creating a power cosine function contribution to hodographic trajectory shaping.

Factory function for creating a power cosine function contribution to hodographic trajectory shaping. For a provided exponent \(r\), (optional) scale factor \(c\) and frequency \(f\), this adds a contribution \(K\cdot c\cos(f\cdot t)\cdot t^{r}\) to the selected velocity component, with \(t\) the time since departure, and \(K\) a free parameter.

Parameters:
  • frequency (float) – Frequency of the cosine contribution to the shape function.

  • exponent (float) – Exponent of the power function contribution to the shape function.

  • scale_factor (float, default = 1.0) – Optional scale factor, which can be used to scale the physical meaning of the free parameter \(K\).

Returns:

Settings object for a power cosine function contribution to hodographic shaping.

Return type:

BaseFunctionHodographicShaping

Classes#

BaseFunctionHodographicShaping

Base class for defining settings of the shape functions for hodographic shaping method.

class BaseFunctionHodographicShaping#

Base class for defining settings of the shape functions for hodographic shaping method.

Base class for defining settings of the shape functions for Hodograph shaping method. Objects derived from this class are created by calling the dedicated factory functions in this module