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 minimum-duration,
multiple-revolution solution.
| |
SolveMinimumDurationMultipleRevolutionTransfer(Cartesian, Cartesian, Int32, LambertPathType, OrbitDirectionType, Cartesian) |
Solves the constrained Lambert problem given the input. Solver is constrained to return the minimum-duration,
multiple-revolution 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: 1e-13.
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 13-728.