SheferTwoPosOrbitSolver
- class ssapy.orbit_solver.SheferTwoPosOrbitSolver(*args, **kwargs)[source][source]
Bases:
TwoPosOrbitSolver
A class for solving two-position orbit determination problems using Shefer’s method. This class extends the TwoPosOrbitSolver base class and implements a robust algorithm for determining the orbital parameter p (semi-latus rectum) and auxiliary values based on Shefer’s equations.
- robust[source]
If True, enables a robust solution method that examines all possible solutions when the initial guess fails.
- Type:
- nExam[source]
Number of points to examine when searching for zeros of the function F(x) during the robust solution process.
- Type:
- alpha(x)[source][source]
Compute the alpha(x) function and its derivative based on Shefer’s equation (18).
- beta(xi)[source][source]
Compute the beta(xi) function and its derivative based on Shefer’s equations (A.4) and (A.9).
- X(x)[source][source]
Compute the X(x) function and its derivative for elliptical orbits (Shefer 19) and hyperbolic orbits (Shefer 20). Handles special cases for small values of x.
- Z(xi)[source][source]
Compute the Z(xi) function and its derivative based on Shefer’s equation (A.5).
- semiMajorAxis(x)[source][source]
Compute the semi-major axis a(x) and its derivative based on Shefer’s equation (42).
- Flam0(x)[source][source]
Compute Flam0(x) and its derivative based on Shefer’s equations (21) and (22).
- G(xi)[source][source]
Compute G(xi) and its derivative based on Shefer’s equations (A.7) and (A.8).
- yPoly(y)[source][source]
Compute the polynomial for y and its derivative based on Shefer’s equations (44) and (38).
- _getInitialXGuess()[source][source]
Compute the initial guess for x using Shefer’s step B. Handles both cases where lam is zero and non-zero.
- _getInitialXiGuess()[source][source]
Compute the initial guess for xi using Shefer’s equation (A.16).
- _getP()[source][source]
Compute the semi-latus rectum (p) using Shefer’s algorithm. This is the main result of the orbit determination process.
- _getAllP()[source][source]
Compute all possible values of p by finding zeros of the function F(x) within a given range.
- solve()[source][source]
Solve the orbit determination problem. First attempts to find a solution using Shefer’s initial guess. If the solution fails, employs a robust method to examine all possible zeros of F(x) and determine a valid orbit.
Methods Summary
D
(x)Compute D(x) and its derivative, dD(x)/dx, from Shefer (43).
F
(x)Compute F(x) and dF(x)/dx from Shefer (40) and (41).
Flam0
(x)G
(xi)Compute G(xi) and its derivative from Shefer (A.7) and (A.8).
X
(x)Evaluate X(x) function from Shefer (19) for elliptical orbits and (20) for hyperbolic orbits.
Y
(x)Evaluate Y(x) and dY(x)/dx from Shefer (17).
Yxi
(xi)Z
(xi)Compute Z(xi) function from Shefer (A.5).
alpha
(x)Evaluate alpha(x) from Shefer (18).
beta
(xi)Evaluate beta(xi) and its derivative from Shefer (A.4) and (A.9).
Compute semi-major axis a(x) and its derivative, da(x)/dx, from Shefer (42).
solve
()yPoly
(y)Methods Documentation
- static X(x)[source][source]
Evaluate X(x) function from Shefer (19) for elliptical orbits and (20) for hyperbolic orbits. The derivative of X(x) is given in (23).