thrust
¶
This module provides the functionality for creating thrust magnitude and direction settings.
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 |
- get_propulsion_input_variables(body_with_guidance: tudatpy.kernel.numerical_simulation.environment.Body = None, independent_variables: list[tudat::propulsion::ThrustIndependentVariables] = [], guidance_input_functions: list[Callable[[], float]] = []) list[Callable[[], float]] ¶
- constant_thrust_magnitude(thrust_magnitude: float, specific_impulse: float) tudatpy.kernel.numerical_simulation.propagation_setup.thrust.ThrustMagnitudeSettings ¶
Create thrust magnitude settings from a constant thrust magnitude and Isp.
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:
- 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], float], specific_impulse_function: Callable[[float], float]) tudatpy.kernel.numerical_simulation.propagation_setup.thrust.ThrustMagnitudeSettings ¶
Create thrust magnitude settings from a custom thrust force magnitude function.
Factory 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.
- 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], float], specific_impulse: float) tudatpy.kernel.numerical_simulation.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], float], specific_impulse_function: Callable[[float], float]) tudatpy.kernel.numerical_simulation.propagation_setup.thrust.ThrustMagnitudeSettings ¶
Create thrust magnitude settings from a custom thrust acceleration magnitude function.
Factory 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[[float], float]) – Function of time returning the value of the thrust acceleration magnitude.
specific_impulse_function (callable[[float], 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], float], specific_impulse: float) tudatpy.kernel.numerical_simulation.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: |
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¶
Functional base class to define settings for the thrust magnitude.
- thrust_magnitude_type¶
Thrust magnitude type object.
- Type:
ThrustMagnitudeType
- class ConstantThrustMagnitudeSettings¶
ThrustMagnitudeSettings-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.
- specific_impulse¶
Thrust direction vector expressed in the body-fixed reference frame.
- Type:
- class CustomThrustMagnitudeSettings¶
ThrustMagnitudeSettings-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.