SheferTwoPosOrbitSolver
- class ssapy.orbit_solver.SheferTwoPosOrbitSolver(*args, **kwargs)[source][source]
Bases:
TwoPosOrbitSolverA 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).