LambertOrbitSolver Class 
Namespace: AGI.Foundation.Propagators
The LambertOrbitSolver type exposes the following members.
Name  Description  

LambertOrbitSolver 
Initializes a Lambert solver. The GravitationalParameter is set to
Earth's from WorldGeodeticSystem1984. The CentralBodyRadius is
set to SemimajorAxis.
 
LambertOrbitSolver(Double) 
Initializes a Lambert solver. The CentralBodyRadius is
set to SemimajorAxis.
 
LambertOrbitSolver(Double, Double, Double, Int32, Int32) 
Initializes a Lambert solver.

Name  Description  

CentralBodyRadius 
Gets or sets the central body's radius which is used in the calculations to denote the surface.
 
GravitationalParameter 
Gets or sets the gravitational parameter of the central body, about which the solver is used.

Name  Description  

Equals  Determines whether the specified object is equal to the current object. (Inherited from Object.)  
Finalize  Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)  
GetHashCode  Serves as the default hash function. (Inherited from Object.)  
GetType  Gets the Type of the current instance. (Inherited from Object.)  
LambertHodograph 
This function accomplishes 180 deg transfer(and 360 deg) for the Lambert problem.
 
MemberwiseClone  Creates a shallow copy of the current Object. (Inherited from Object.)  
SolveFixedDurationTransfer(Cartesian, Cartesian, Duration, Int32, LambertPathType, OrbitDirectionType) 
Solves the classic Lambert problem with the specified number of revolutions.
 
SolveFixedDurationTransfer(Cartesian, Cartesian, Duration, Int32, LambertPathType, OrbitDirectionType, Cartesian) 
Solves the classic Lambert problem with the specified number of revolutions.
 
SolveMinimumDurationMultipleRevolutionTransfer(Cartesian, Cartesian, Int32, LambertPathType, OrbitDirectionType) 
Solves the constrained Lambert problem given the input. Solver is constrained to return the minimumduration,
multiplerevolution solution.
 
SolveMinimumDurationMultipleRevolutionTransfer(Cartesian, Cartesian, Int32, LambertPathType, OrbitDirectionType, Cartesian) 
Solves the constrained Lambert problem given the input. Solver is constrained to return the minimumduration,
multiplerevolution solution.
 
SolveMinimumEccentricityTransfer(Cartesian, Cartesian) 
Solves the constrained Lambert problem given the input. The solver is constrained to return the minimum eccentricity orbit.
 
SolveMinimumEccentricityTransfer(Cartesian, Cartesian, Cartesian) 
Solves the constrained Lambert problem given the input. The solver is constrained to return the minimum eccentricity orbit.
 
SolveMinimumEnergyTransfer(Cartesian, Cartesian) 
Solves the constrained Lambert problem given the input. The solver is constrained to return the minimum energy solution.
 
SolveMinimumEnergyTransfer(Cartesian, Cartesian, Cartesian) 
Solves the constrained Lambert problem given the input. The solver is constrained to return the minimum energy solution.
 
SolveParabolicTransfer(Cartesian, Cartesian, OrbitDirectionType) 
Solves the constrained Lambert problem given the input. Solver is constrained to return the parabolic solution.
 
SolveParabolicTransfer(Cartesian, Cartesian, OrbitDirectionType, Cartesian) 
Solves the constrained Lambert problem given the input. Solver is constrained to return the parabolic solution.
 
ToString  Returns a string that represents the current object. (Inherited from Object.) 
Name  Description  

FailedToConvergeEvent 
Raised when the fixed duration method fails to converge.

For the fixed duration based methods the solver uses the following default values:
Convergence tolerance: 1e13.
Maximum solver iterations: 30.
Number of terms in continuous fraction calculations: 20.
Altering these values is generally not recommended.
For solving orbits that entail 180 degree transfers the orbital plane is ambiguous. Some methods take an orbital plane vector to define the plane that the transfer takes place in. This vector is crossed with the initial position vector to obtain the orbital plane. This vector is usually the initial velocity vector. If no vector is supplied and a 180 degree transfer is indicated, the algorithm will create an orbital plane vector based on the largest components of the initial position vector.
The implementation of this solver is based upon the analysis and mathematics contained in the text, "An Introduction to the Mathematics and Methods of Astrodynamics", R. Battin, 1987 and in the paper, "A Fast and Robust Multiple Revolution Lambert Algorithm Using a Cosine Transformation", N. Arora and R. Russell, AAS 13728.