thrust¶
This module provides the functionality for creating thrust magnitude settings. These models are used in the calculation of thrust accelerations. The various details of thrust modelling and the interaction of the functionality in this model with the rest of Tudat is provided on the user guide page for thrust models
Functions¶
|
Create thrust magnitude settings from a constant thrust magnitude and Isp. |
Create thrust magnitude settings from a custom thrust force magnitude function. |
|
Same as |
|
Create thrust magnitude settings from a custom thrust acceleration magnitude function. |
|
Same as |
- constant_thrust_magnitude(thrust_magnitude: float | SupportsIndex, specific_impulse: float | SupportsIndex) tudatpy.kernel.dynamics.propagation_setup.thrust.ThrustMagnitudeSettings¶
Create thrust magnitude settings from a constant thrust magnitude and Isp.
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:
- Returns:
Constant thrust magnitude settings object.
- Return type:
Examples
In this example, we define constant thrust magnitude of 1.5 kN and a specific impulse of 315 s.
# Define constant thrust magnitude settings of 1.5kN, an Isp of 315s thrust.constant_thrust_magnitude( thrust_magnitude=1.5e3, specific_impulse=315 )
- custom_thrust_magnitude(thrust_magnitude_function: Callable[[float | SupportsIndex], float], specific_impulse_function: Callable[[float | SupportsIndex], float]) tudatpy.kernel.dynamics.propagation_setup.thrust.ThrustMagnitudeSettings¶
Create thrust magnitude settings from a custom thrust force magnitude function.
Function that creates thrust magnitude from a custom thrust force magnitude function. This model defines a thrust force and specific impulse that can vary with time. The thrust acceleration is computed during the propagation by dividing the thrust force by the current vehicle mass. The specific impulse can be used to apply a mass rate model in the propagation the vehicle dynamics, relating the thrust to the mass decrease of the vehicle.
NOTE: the
thrust_magnitude_functionis called with aNaNinput at the start of each function evaluation of the full state derivative. This signals the start of a new evaluation and can be used to make custom models more efficient if multiple (related) custom functions are implemented in a single class custom model user guide. However, this does require that calling thethrust_magnitude_functionwith NaN input does not result in an exception.- Parameters:
- Returns:
From function thrust magnitude settings object.
- Return type:
FromFunctionThrustMagnitudeSettings
Examples
In this example, we define a thrust force magnitude based on a set of custom functions. The magnitude itself starts from 500N, and linearly increases with time. The specific impulse is constant, at 350s. Note that we use a lambda function to achieve this neatly. Finally, the engine is setup to work for 50s, and be turned off afterwards.
# Define the thrust magnitude function: thrust increases linearly with time def thrust_magnitude_function(time): return 500 + time/2 # Define a lambda specific impulse function: constant at 350s specific_impulse_function = lambda time: 350 # Define the custom thrust magnitude settings based on the pre-defined functions thrust.custom_thrust_magnitude(thrust_magnitude_function, specific_impulse_function )
- custom_thrust_magnitude_fixed_isp(thrust_magnitude_function: Callable[[float | SupportsIndex], float], specific_impulse: float | SupportsIndex) tudatpy.kernel.dynamics.propagation_setup.thrust.ThrustMagnitudeSettings¶
Same as
custom_thrust_magnitude(), but with a fixed value for the specific impulse.- Parameters:
- Returns:
From function thrust magnitude settings object.
- Return type:
FromFunctionThrustMagnitudeSettings
- custom_thrust_acceleration_magnitude(thrust_acceleration_magnitude_function: Callable[[float | SupportsIndex], float], specific_impulse_function: Callable[[float | SupportsIndex], float]) tudatpy.kernel.dynamics.propagation_setup.thrust.ThrustMagnitudeSettings¶
Create thrust magnitude settings from a custom thrust acceleration magnitude function.
Function that creates thrust magnitude from a custom thrust acceleration magnitude function. This model is similar to the
custom_thrust_magnitude(), with the difference being that this function directly provides the thrust acceleration, not the thrust force.- Parameters:
thrust_acceleration_magnitude_function (callable[[
Time], float]) – Function of time returning the value of the thrust acceleration magnitude.specific_impulse_function (callable[[
Time], float]) – Function of time returning the value of the specific impulse, useful to link the mass propagation to the thrust model.
- Returns:
From function thrust magnitude settings object.
- Return type:
FromFunctionThrustMagnitudeSettings
- custom_thrust_acceleration_magnitude_fixed_isp(thrust_acceleration_magnitude_function: Callable[[float | SupportsIndex], float], specific_impulse: float | SupportsIndex) tudatpy.kernel.dynamics.propagation_setup.thrust.ThrustMagnitudeSettings¶
Same as
custom_thrust_acceleration_magnitude(), but with a fixed value for the specific impulse.- Parameters:
- Returns:
From function thrust magnitude settings object.
- Return type:
FromFunctionThrustMagnitudeSettings
Enumerations¶
Members: |
|
Members: |
- class ThrustFrames¶
Bases:
pybind11_objectMembers:
unspecified_thrust_frame_type
inertial_thrust_frame_type
tnw_thrust_frame_type
- ThrustFrames.name -> str
- class ThrustMagnitudeTypes¶
Bases:
pybind11_objectMembers:
constant_thrust_magnitude
thrust_magnitude_from_time_function
thrust_magnitude_from_dependent_variables
- ThrustMagnitudeTypes.name -> str
Classes¶
Functional base class to define settings for the thrust magnitude. |
|
ThrustMagnitudeSettings-derived class to define settings for constant thrust magnitude. |
|
ThrustMagnitudeSettings-derived class to define settings for constant thrust magnitude. |
- class ThrustMagnitudeSettings¶
Bases:
pybind11_objectFunctional base class to define settings for the thrust magnitude.
- thrust_magnitude_type¶
Thrust magnitude type object.
- Type:
ThrustMagnitudeType
- class ConstantThrustMagnitudeSettings¶
Bases:
ThrustMagnitudeSettingsThrustMagnitudeSettings-derived class to define settings for constant thrust magnitude.
Derived class to provide settings for the thrust magnitude. This class should be used to define a constant thrust magnitude.
- class CustomThrustMagnitudeSettings¶
Bases:
ThrustMagnitudeSettingsThrustMagnitudeSettings-derived class to define settings for constant thrust magnitude.
Derived class to provide settings for the thrust magnitude. This class should be used to define a thrust magnitude through a custom function.