Package org.orekit.propagation.relative
Class TwoImpulseTransfer
java.lang.Object
org.orekit.propagation.relative.TwoImpulseTransfer
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 Summary
ConstructorsConstructorDescriptionTwoImpulseTransfer(LambertSolution solution, Vector3D v1BeforeMan, Vector3D v2AfterMan) Creates a newTwoImpulseTransferobject from aLambertSolutionand the PVs from the departure and destination orbits.TwoImpulseTransfer(TimeStampedPVCoordinates pvt1, TimeStampedPVCoordinates pvt2, Vector3D deltaV1, Vector3D deltaV2, Frame frame) Creates a new TwoImpulseTransfer object from the given PVT and ΔV vectors. -
Method Summary
Modifier and TypeMethodDescriptionexpressInFrame(Frame outputFrame) Converts all the PVT and ΔV vectors to the desired frame.static TwoImpulseTransferfromPVTAndVelocities(TimeStampedPVCoordinates pvt1BeforeMan, Vector3D v1AfterMan, TimeStampedPVCoordinates pvt2AfterMan, Vector3D v2BeforeMan, Frame frame) Creates a newTwoImpulseTransferobject 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).Returns the arrival date.Get the ΔV vector of first maneuver.getDeltaV1(Frame outputFrame) Get the ΔV vector of first maneuver in the given frame.Get the ΔV vector of second maneuver.getDeltaV2(Frame outputFrame) Get the ΔV vector of second maneuver in the given frame at the given date.Returns the departure date.doubleGet the duration of the transfer between the two impulses.getFrame()Returns the frame in which all elements contained in the object are expressed.getPvt1()Get the PVT of the chaser just after the first maneuver.Get PVT of the chaser just after the first maneuver.Returns the PVT of the chaser just before the injection maneuver into the transfer orbit.getPvt2()Get PVT of the chaser just before the second maneuver.Get PVT of the chaser just before the second maneuver.Returns the PVT of the chaser just after the velocity-synchronization maneuver into the target orbit.doubleComputes the total ΔV of the transfer.toString()Writes a string summarizing the transfer characteristics (PVT and ΔV vectors).
-
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 transferpvt2- PVT at the end of the transferdeltaV1- ΔV to enter the transfer orbitdeltaV2- ΔV to exit the transfer orbitframe- Frame in which the PVT and ΔV vector are expressed
-
TwoImpulseTransfer
Creates a new
TwoImpulseTransferobject from aLambertSolutionand the PVs from the departure and destination orbits.The ΔV vectors are automatically computed.
- Parameters:
solution- Lambert solver's solutionv1BeforeMan- PV before departure manoeuvre on initial orbitv2AfterMan- 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 newTwoImpulseTransferobject 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 maneuverv1AfterMan- Velocity after the departure maneuverpvt2AfterMan- PVT after the rendez-vous maneuverv2BeforeMan- Velocity before the rendez-vous maneuverframe- Frame in which the PVT and velocity vectors are expressed- Returns:
- TwoImpulseTransfer object that corresponds to the inputs
-
getPvt1
Get the PVT of the chaser just after the first maneuver.- Returns:
- PVT of the chaser just after the first maneuver
-
getPvt2
Get PVT of the chaser just before the second maneuver.- Returns:
- PVT of the chaser just before the second maneuver
-
getDeltaV1
Get the ΔV vector of first maneuver.- Returns:
- The ΔV vector of first maneuver
-
getDeltaV2
Get the ΔV vector of second maneuver.- Returns:
- ΔV vector of second maneuver
-
getPvt1
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
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
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
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
Returns the departure date.- Returns:
- the departure date
-
getArrivalDate
Returns the arrival date.- Returns:
- the arrival date
-
getFrame
Returns the frame in which all elements contained in the object are expressed.- Returns:
- The frame of the elements of the object
-
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
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
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
Writes a string summarizing the transfer characteristics (PVT and ΔV vectors).
-