Arrival or departure orbits knowing inclination (hyperbolic orbits)
[result1, result2, ...] = CL_ip_flybyOrbits(vinf, rp, inc, branch [[, poldir, output, mu]])
Computes the orbital elements of an hyperbolic orbit knowing the velocity vector at infinity (vinf, also called "excess velocity vector"), the periapsis radius (rp) and the desired inclination (inc).
The function optionally computes the impact position vectors (intersection of asymptote and B-plane), with coordinates in either the implicit frame (in which vinf is defined) or in the B-plane frame.
The "output" argument defines the quantities that can be computed:
kep1: Keplerian orbital elements at pericenter for solution 1 - relative to implicit frame
kep2: Keplerian orbital elements at pericenter for solution 2 - relative to implicit frame
pv1: Position and velocity at pericenter for solution 1 - coordinates in implicit frame
pv2: Position and velocity at pericenter for solution 2 - coordinates in implicit frame
pinf1: Impact position vector for solution 1 - coordinates in implicit frame
pinf2: Impact position vector for solution 2 - coordinates in implicit frame
pinfb1: Impact position vector for solution 1 - coordinates in B-plane frame
pinfb2: Impact position vector for solution 2 - coordinates in B-plane frame
Solution 1 is such that the impact position vector has a positive "y" coordinate in the B-plane frame.
The B-plane frame is defined as follows:
- Z axis: same direction as vinf
- X axis: same direction as vinf ^ poldir.
The argument "poldir" gives the coordinates of the polar axis. The default value is [0; 0; 1].
The "branch" argument describes which asymptote of the hyperbola is refered to:
- "a": arrival asymptote
- "d": departure asymptote
Notes:
- The norm of the excess velocity vector should be > 0.
- The (implicit) frame in which vinf is defined should be an (inertial) equatorial frame for the inclination to be meaningful.
- The B-plane frame can be computed by: CL_rot_defFrameVec(vinf, -poldir, 3, 2).
- For solutions to exist, the following condition must be met: |delta| < inc < pi - |delta|, where delta is the declination of the excess velocity vector. If the condition is not met, the results are set to %nan.
Arrival or departure excess velocity vector [m/s]. (3x1 or 3xN)
Radius at periapsis of hyperbolic orbit [m]. (1x1 or 1xN)
Inclination of hyperbolic orbit [rad]. (1x1 or 1xN)
(string) "a": arrival, "d": departure (1x1)
(optional) Direction of polar axis. Default value is [0; 0; 1]. (3x1 or 3xN)
(string, optional) Names of output arguments, see above for details. Default value is ["kep1", "kep2"]. (1x1)
(optional) Gravitational constant. Default: %CL_mu. [m^3/s^2] (1x1). (1x1)
Computed quantities [m, m/s, rad]. (6xN or 3xN depending on computed quantity)
CNES - DCT/SB