Click or drag to resize

LambertOrbitSolverSolveMinimumDurationMultipleRevolutionTransfer Method (Cartesian, Cartesian, Int32, LambertPathType, OrbitDirectionType)

Solves the constrained Lambert problem given the input. Solver is constrained to return the minimum-duration, multiple-revolution solution.

Namespace:  AGI.Foundation.Propagators
Assembly:  AGI.Foundation.Models (in AGI.Foundation.Models.dll) Version: 23.2.417.0 (23.2.417.0)
public LambertResult SolveMinimumDurationMultipleRevolutionTransfer(
	Cartesian initialPosition,
	Cartesian finalPosition,
	int numberOfRevolutions,
	LambertPathType pathType,
	OrbitDirectionType directionOfFlight


Type: AGI.Foundation.CoordinatesCartesian
The starting position of the orbit/transfer.
Type: AGI.Foundation.CoordinatesCartesian
The ending position of the orbit/transfer.
Type: SystemInt32
The number of revolutions to reach the final position.
Type: AGI.Foundation.PropagatorsLambertPathType
Specifies whether the Lambert algorithm should take the smaller or large semi-major axis path when the revolution count is greater than 0.
Type: AGI.Foundation.CoordinatesOrbitDirectionType
Determines if the flight path is prograde or retrograde.

Return Value

Type: LambertResult
The motion at the initial and final positions and the time of flight.
ArgumentOutOfRangeExceptionThrown if the numberOfRevolutions is zero.

The minimum-duration, multiple-revolution solution is useful for providing a minimum bound on the possible durations of orbits that have the desired number of revolutions.

Multiple revolution transfers spanning odd multiples of π in angle subtended (e.g. 3pi, 5pi, etc.) are difficult for the solver to calculate, so loosening the tolerances or increasing the iteration count may be necessary for convergence if the vectors are separated by angles that are close to odd multiples of pi.

Furthermore, this method does not include an orbital plane vector used for those transfers.

See Also