Class TwoImpulseTransfer

java.lang.Object
org.orekit.propagation.relative.TwoImpulseTransfer

public class TwoImpulseTransfer extends Object
This class stores the solution of a two-impulse rendez-vous. All the contained variables are expressed in the same frame, accessible through the method getFrame(). Since the PVT of the chaser on both ends of the transfer orbit are stored in this object in addition to the ΔV vectors, it is possible to reconstruct the orbit of the chaser before and after the transfer.
Since:
14.0
Author:
Jérôme Tabeaud, Romain Cuvillon
  • Constructor Details

    • TwoImpulseTransfer

      public TwoImpulseTransfer(TimeStampedPVCoordinates pvt1, TimeStampedPVCoordinates pvt2, Vector3D deltaV1, Vector3D deltaV2, Frame frame)
      Creates a new TwoImpulseTransfer object from the given PVT and ΔV vectors.
      Parameters:
      pvt1 - PVT at the start of the transfer
      pvt2 - PVT at the end of the transfer
      deltaV1 - ΔV to enter the transfer orbit
      deltaV2 - ΔV to exit the transfer orbit
      frame - Frame in which the PVT and ΔV vector are expressed
    • TwoImpulseTransfer

      public TwoImpulseTransfer(LambertSolution solution, Vector3D v1BeforeMan, Vector3D v2AfterMan)

      Creates a new TwoImpulseTransfer object from a LambertSolution and the PVs from the departure and destination orbits.

      The ΔV vectors are automatically computed.

      Parameters:
      solution - Lambert solver's solution
      v1BeforeMan - PV before departure manoeuvre on initial orbit
      v2AfterMan - PV after arrival manoeuvre on destination orbit
  • Method Details

    • fromPVTAndVelocities

      public static TwoImpulseTransfer fromPVTAndVelocities(TimeStampedPVCoordinates pvt1BeforeMan, Vector3D v1AfterMan, TimeStampedPVCoordinates pvt2AfterMan, Vector3D v2BeforeMan, Frame frame)
      Creates a new TwoImpulseTransfer object from the given PVT before the first maneuver and after the second maneuver (on the initial and final orbits), as well as the velocity vectors after the first maneuver and before the second maneuver (on the transfer orbit).
      Parameters:
      pvt1BeforeMan - PVT before the departure maneuver
      v1AfterMan - Velocity after the departure maneuver
      pvt2AfterMan - PVT after the rendez-vous maneuver
      v2BeforeMan - Velocity before the rendez-vous maneuver
      frame - Frame in which the PVT and velocity vectors are expressed
      Returns:
      TwoImpulseTransfer object that corresponds to the inputs
    • getPvt1

      public TimeStampedPVCoordinates getPvt1()
      Get the PVT of the chaser just after the first maneuver.
      Returns:
      PVT of the chaser just after the first maneuver
    • getPvt2

      public TimeStampedPVCoordinates getPvt2()
      Get PVT of the chaser just before the second maneuver.
      Returns:
      PVT of the chaser just before the second maneuver
    • getDeltaV1

      public Vector3D getDeltaV1()
      Get the ΔV vector of first maneuver.
      Returns:
      The ΔV vector of first maneuver
    • getDeltaV2

      public Vector3D getDeltaV2()
      Get the ΔV vector of second maneuver.
      Returns:
      ΔV vector of second maneuver
    • getPvt1

      public TimeStampedPVCoordinates getPvt1(Frame outputFrame)
      Get PVT of the chaser just after the first maneuver.
      Parameters:
      outputFrame - given frame for the first maneuver
      Returns:
      PVT of the chaser just after the first maneuver
    • getPvt2

      public TimeStampedPVCoordinates getPvt2(Frame outputFrame)
      Get PVT of the chaser just before the second maneuver.
      Parameters:
      outputFrame - given frame for the 2nd maneuver
      Returns:
      PVT of the chaser just before the second maneuver
    • getDeltaV1

      public Vector3D getDeltaV1(Frame outputFrame)
      Get the ΔV vector of first maneuver in the given frame.
      Parameters:
      outputFrame - given frame for the first maneuver
      Returns:
      The ΔV vector of first maneuver in the given frame at the given date
    • getDeltaV2

      public Vector3D getDeltaV2(Frame outputFrame)
      Get the ΔV vector of second maneuver in the given frame at the given date.
      Parameters:
      outputFrame - given frame for the 2nd maneuver
      Returns:
      The ΔV vector of second maneuver in the given frame at the given date
    • getTotalDeltaV

      public double getTotalDeltaV()
      Computes the total ΔV of the transfer.
      Returns:
      ||ΔV_total|| = ||ΔV1|| + ||ΔV2||
    • getDuration

      public double getDuration()
      Get the duration of the transfer between the two impulses.
      Returns:
      The duration of the transfer between the two impulses
    • getDepartureDate

      public AbsoluteDate getDepartureDate()
      Returns the departure date.
      Returns:
      the departure date
    • getArrivalDate

      public AbsoluteDate getArrivalDate()
      Returns the arrival date.
      Returns:
      the arrival date
    • getFrame

      public Frame getFrame()
      Returns the frame in which all elements contained in the object are expressed.
      Returns:
      The frame of the elements of the object
    • getPvt1BeforeMan

      public TimeStampedPVCoordinates getPvt1BeforeMan()
      Returns the PVT of the chaser just before the injection maneuver into the transfer orbit.
      Returns:
      The PVT before the injection maneuver into the transfer orbit
    • getPvt2AfterMan

      public TimeStampedPVCoordinates getPvt2AfterMan()
      Returns the PVT of the chaser just after the velocity-synchronization maneuver into the target orbit.
      Returns:
      The PVT after the velocity-synchronization maneuver into the target orbit
    • expressInFrame

      public TwoImpulseTransfer expressInFrame(Frame outputFrame)
      Converts all the PVT and ΔV vectors to the desired frame.
      Parameters:
      outputFrame - Desired output frame
      Returns:
      TwoImpulseTransfer object expressed in the desired frame
    • toString

      public String toString()
      Writes a string summarizing the transfer characteristics (PVT and ΔV vectors).
      Overrides:
      toString in class Object
      Returns:
      The string summary