Tutorials 4.1 Maneuvers : Différence entre versions

De Wiki
Aller à : navigation, rechercher
(Page créée avec « == 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 leas... »)
 
 
Ligne 4 : Ligne 4 :
 
# an event that will determine that the maneuver will occur;
 
# an event that will determine that the maneuver will occur;
 
# three components, corresponding to the velocity increment;
 
# three components, corresponding to the velocity increment;
# the specific impulse in order to be able to calculate the mass decrease due to the maneuver (we do not use here the [{{PathCurrentJavaDoc}}/fr/cnes/sirius/patrius/assembly/properties/PropulsiveProperty.html PropulsiveProperty]);
+
# the specific impulse in order to be able to calculate the mass decrease due to the maneuver (we do not use here the [{{JavaDoc4.1}}/fr/cnes/sirius/patrius/assembly/properties/PropulsiveProperty.html PropulsiveProperty]);
# as a consequence of the mass evolution, a [{{PathCurrentJavaDoc}}/fr/cnes/sirius/patrius/assembly/models/MassModel.html MassModel] and the part of this model where we will use ergols mass (here a specific tank).
+
# as a consequence of the mass evolution, a [{{JavaDoc4.1}}/fr/cnes/sirius/patrius/assembly/models/MassModel.html 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, <u>it will be mandatory to define an attitude when propagating the orbit</u> !
 
Be careful that, when the maneuver direction is expressed in the vehicle frame, <u>it will be mandatory to define an attitude when propagating the orbit</u> !
Ligne 12 : Ligne 12 :
  
 
'''Code examples:'''
 
'''Code examples:'''
* [[ImpulsiveManeuverVehicleFrame|Impulsive maneuver defined versus a vehicle frame]]
+
* [[ImpulsiveManeuverVehicleFrame_4.1|Impulsive maneuver defined versus a vehicle frame]]
* [[ImpulsiveManeuverSpecificFrame|Impulsive maneuver defined versus a specific frame (GCRF)]]
+
* [[ImpulsiveManeuverSpecificFrame_4.1|Impulsive maneuver defined versus a specific frame (GCRF)]]
* [[ImpulsiveManeuverLOFFrame|Impulsive maneuver defined versus a LOF frame (TNW)]]
+
* [[ImpulsiveManeuverLOFFrame_4.1|Impulsive maneuver defined versus a LOF frame (TNW)]]
  
 
== Continuous maneuvers ==  
 
== Continuous maneuvers ==  
Ligne 21 : Ligne 21 :
 
# information about the start and the end of the maneuver
 
# information about the start and the end of the maneuver
 
# the thrust direction
 
# the thrust direction
# the thrust level and the specific impulse via [{{PathCurrentJavaDoc}}/fr/cnes/sirius/patrius/assembly/properties/PropulsiveProperty.html PropulsiveProperty]  
+
# the thrust level and the specific impulse via [{{JavaDoc4.1}}/fr/cnes/sirius/patrius/assembly/properties/PropulsiveProperty.html PropulsiveProperty]  
# as a consequence of the mass evolution, a [{{PathCurrentJavaDoc}}/fr/cnes/sirius/patrius/assembly/models/MassModel.html MassModel] and the part of this model where we will use ergols mass (here a specific tank)
+
# as a consequence of the mass evolution, a [{{JavaDoc4.1}}/fr/cnes/sirius/patrius/assembly/models/MassModel.html MassModel] and the part of this model where we will use ergols mass (here a specific tank)
  
 
'''Code examples:'''
 
'''Code examples:'''
* [[ContinuousManeuverByDuration|Continuous maneuver defined in duration]]
+
* [[ContinuousManeuverByDuration_4.1|Continuous maneuver defined in duration]]
* [[ContinuousManeuverByEvents|Continuous maneuver defined by events]]
+
* [[ContinuousManeuverByEvents_4.1|Continuous maneuver defined by events]]
  
 
== Sequence of maneuvers ==
 
== Sequence of maneuvers ==
Ligne 37 : Ligne 37 :
 
In the example below, we have taken the impulsive maneuver build in the [[#Impulsive maneuvers|Impulsive maneuvers tutorial ]] and the continuous maneuver taken from the [[#Continuous maneuvers|Continuous maneuvers tutorial]] , putting them together in a sequence.
 
In the example below, we have taken the impulsive maneuver build in the [[#Impulsive maneuvers|Impulsive maneuvers tutorial ]] and the continuous maneuver taken from the [[#Continuous maneuvers|Continuous maneuvers tutorial]] , putting them together in a sequence.
  
'''Code example:''' [[SequenceOfManeuvers|Sequence of maneuvers]]
+
'''Code example:''' [[SequenceOfManeuvers_4.1|Sequence of maneuvers]]
  
 
[[Category:Tutorials 4.1]]
 
[[Category:Tutorials 4.1]]

Version actuelle en date du 20 décembre 2018 à 15:40

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:

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