Class FieldTwoImpulseTransfer<T extends CalculusFieldElement<T>>

java.lang.Object
org.orekit.propagation.relative.FieldTwoImpulseTransfer<T>
Type Parameters:
T - Any scalar field

public class FieldTwoImpulseTransfer<T extends CalculusFieldElement<T>> 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

    • FieldTwoImpulseTransfer

      public FieldTwoImpulseTransfer(TimeStampedFieldPVCoordinates<T> pvt1, TimeStampedFieldPVCoordinates<T> pvt2, FieldVector3D<T> deltaV1, FieldVector3D<T> 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
  • Method Details

    • fromPVTAndVelocities

      public FieldTwoImpulseTransfer<T> fromPVTAndVelocities(TimeStampedFieldPVCoordinates<T> pvt1BeforeMan, FieldVector3D<T> v1AfterMan, TimeStampedFieldPVCoordinates<T> pvt2AfterMan, FieldVector3D<T> v2BeforeMan, Frame inputFrame)
      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
      inputFrame - Frame in which the PVT and velocity vectors are expressed
      Returns:
      TwoImpulseTransfer object that corresponds to the inputs
    • getPvt1

      public TimeStampedFieldPVCoordinates<T> getPvt1()
      Gets the PVT of the chaser just after the first maneuver, i.e. at the start of the transfer orbit.
      Returns:
      PVT of the chaser just after the first maneuver
    • getPvt2

      public TimeStampedFieldPVCoordinates<T> getPvt2()
      Gets the PVT of the chaser just before the second maneuver, i.e. at the end of the transfer orbit.
      Returns:
      PVT of the chaser just before the second maneuver
    • getDeltaV1

      public FieldVector3D<T> getDeltaV1()
      Gets the ΔV vector of the first maneuver.
      Returns:
      The ΔV vector of first maneuver
    • getDeltaV2

      public FieldVector3D<T> getDeltaV2()
      Get the ΔV vector of the second maneuver.
      Returns:
      The ΔV vector of second maneuver
    • getPvt1

      public TimeStampedFieldPVCoordinates<T> getPvt1(Frame outputFrame)
      Get the PVT of the chaser just after the first maneuver expressed in the given frame.
      Parameters:
      outputFrame - given frame for the first maneuver
      Returns:
      PVT of the chaser just after the first maneuver
    • getPvt2

      public TimeStampedFieldPVCoordinates<T> getPvt2(Frame outputFrame)
      Get the PVT of the chaser just before the second maneuver expressed in the given frame.
      Parameters:
      outputFrame - given frame for the 2nd maneuver
      Returns:
      PVT of the chaser just before the second maneuver
    • getDeltaV1

      public FieldVector3D<T> 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 FieldVector3D<T> getDeltaV2(Frame outputFrame)
      Get the ΔV vector of second maneuver in the given frame.
      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 T getTotalDeltaV()
      Computes the total ΔV of the transfer.
      Returns:
      ||ΔV_total|| = ||ΔV1|| + ||ΔV2||
    • getDuration

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

      public FieldAbsoluteDate<T> getDepartureDate()
      Returns the departure date.
      Returns:
      the departure date
    • getArrivalDate

      public FieldAbsoluteDate<T> 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 TimeStampedFieldPVCoordinates<T> getPvt1BeforeMan()
      Get the PVT before the injection maneuver into the transfer orbit.
      Returns:
      The PVT before the injection maneuver into the transfer orbit
    • getPvt2AfterMan

      public TimeStampedFieldPVCoordinates<T> getPvt2AfterMan()
      Get the PVT after the velocity-synchronization maneuver into the target orbit.
      Returns:
      The PVT after the velocity-synchronization maneuver into the target orbit
    • expressInFrame

      public FieldTwoImpulseTransfer<T> 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).

      Only the real value is printed, not the field one.

      Overrides:
      toString in class Object
      Returns:
      The string summary