OrbitLoweringManeuvers:
% Lower orbits starting from a hyperbolic orbit
This routine will change orbits. The first is for insertion into the
planetary orbit from a hyperbola. The second and additional to lower
apoapsis. All maneuvers happen at periapsis. All are in-plane maneuvers.
You need at least one orbit. d.maneuver is compute during initialization.
Type OrbitLoweringManeuvers for a demo of lunar insertion.
--------------------------------------------------------------------------
Form:
[u,d] = OrbitLoweringManeuvers( action, d, t, v )
--------------------------------------------------------------------------
------
Inputs
------
action (1,:) 'initialize' or 'update'
d (.) Data structure
.mu (1,1) Gravitational parameter (km^2/s^3)
.mass (1,1) Initial mass (kg)
.thrust (1,1) Thrust (N)
.uE (1,1) Exhaust velocity (km/s)
.el0 (1,6) Hyperbolic elements [a i lon arg e M]
.orbit (.) Orbit data structure
.a (1,1) Semi-major axis (km)
.e (1,1) Eccentricity
t (1,1) Time (s) or file name for printing the maneuver plan
v (3,1) Velocity vector
-------
Outputs
-------
u (3,1) Thrust vector
d (.) Data structure adds
.massFuelUsed (1,1) Total propellant usage (kg)
.dVTotal (1,1) Total delta V (km/s)
.maneuver (.) Orbit data structure
.t (1,1) Time of maneuver
.dT (1,1) Maneuver duration
--------------------------------------------------------------------------
Children:
Common: Database/Constant
Common: General/CreateTable
Math: Linear/Unit
Orbit: OrbitManeuver/ManeuverDuration
Orbit: OrbitMechanics/TimeOfFlightHyperbola
OrbitMiniToolbox: Support/M2Nu
SC: BasicOrbit/Nu2M
SC: BasicOrbit/Period
SC: BasicOrbit/VOrbit