Tutorials 4.4 Maneuvers

De Wiki
Aller à : navigation, rechercher

Standard Impulsive maneuvers

This kind of maneuver consists in modelizing a maneuver as an instantaneous modification of the velocity. So, to define it, we must set, at least:

  1. an event that will determine that the maneuver will occur;
  2. three components, corresponding to the velocity increment;
  3. the specific impulse in order to be able to calculate the mass decrease due to the maneuver (we do not use here the PropulsiveProperty);
  4. as a consequence of the mass evolution, a MassModel and the part of this model where we will use ergols mass (here a specific tank).

Be careful that, when the maneuver direction is expressed in the vehicle frame, it will be mandatory to define an attitude when propagating the orbit !

In the example below, we will define a 20 m/s ΔV activated at the apogee of the orbit.

Code examples:

Impulsive maneuvers using orbital incréments

Since V4.4, PATRIUS allows to define impulsive maneuvers with some orbital increments as input rather than giving directly a Velocity increment. The three possibilities are:

  • on semi-major axis
  • on eccentricity (and semi-major axis eventually)
  • on inclination (and semi-major axis eventually)

There is no specific tutorial on this page but we can see examples of such use in the propagator page

Continuous maneuvers

This time, a continuous thrust maneuver is no more considered as an impulsive one but as a more realistic one with a given duration. So to define it, we must set, at least:

  1. information about the start and the end of the maneuver
  2. the thrust direction
  3. the thrust level and the specific impulse via PropulsiveProperty
  4. as a consequence of the mass evolution, a MassModel and the part of this model where we will use ergols mass (here a specific tank)

Code examples:

Sequence of maneuvers

Such a sequence allows to group several maneuvers (impulsive or continuous ones) in a single object synthetizing a maneuver strategy. In fact, it is actually very simple to build it once each maneuver has been defined. We only have:

  1. to set a value in seconds for the minimum allowed time between a continuous maneuver and the next maneuver
  2. to set a value in seconds for the minimum allowed time between an impulse maneuver and the next maneuver
  3. to add each maneuver by using the add() method

In the example below, we have taken the impulsive maneuver build in the Impulsive maneuvers tutorial and the continuous maneuver taken from the Continuous maneuvers tutorial , putting them together in a sequence.

Code example: Sequence of maneuvers