CL_man_hohmannG — Delta V for a generalized Hohmann transfer maneuver
[delta_v,dv1,dv2,anv1,anv2] = CL_man_hohmannG(ai,ei,af,ef[,posman1[,rotation[,mu]]])
- at periapsis or apoapsis of the initial orbit, depending on the value of posman1.
- The second velocity increment occurs half an orbit later.
delta_v is the sum of the norms of the velocity increments.
dv1 and dv2 are the velocity increments required given in spherical coordinates in the QSW frame : first parameter lambda is the in plane component (pi ~= towards planet and pi/2 = along velocity) second parameter phi is the out of plane component, positive towards the kinetic moment, third parameter is the norm
anv1 and anv2 are the true anomaly at maneuver execution point in radians.
posman1 is used to define the position of the first maneuver (0->periapsis, 1->apoapsis)
rotation defines whether the final orbit should have its perigee rotated 180° compared to the initial orbit (0->no rotation, 1->rotation)
semi-major axis of initial orbit [m] (1xN)
eccentricity of initial orbit (1xN)
semi-major axis of final orbit [m] (1xN)
eccentricity of final orbit (1xN)
(optional) flag indicating the position of the first maneuver (0->periapsis, 1->apoapsis; default is 0) (1xN)
(optional) flag indicating whether the final orbit should have its perigees rotated 180° compared to the initial orbit (0->no rotation, 1->rotation ; default is 0) (1xN)
(optionnal) gravitational constant. [m^3/s^2] (default value is %CL_mu)
total delta-v required = |dv1| + |dv2|. [m/s] (1xN)
First velocity increment in spherical coordinates in the QSW frame [lambda;phi;|dv|] [rad,rad,m/s] (3xN)
Second velocity increment in spherical coordinates in the QSW frame [lambda;phi;|dv|] [rad,rad,m/s] (3xN)
true anomaly of first maneuver [rad] (1xN)
true anomaly of second maneuver [rad] (1xN)
// Maneuver at apogee, no rotation ai = 7200.e3; af = 7000.e3; ei = 0.1; ef = 0.1; [delta_v,dv1,dv2,anv1,anv2] = CL_man_hohmannG(ai,ei,af,ef,1,0) // Check results : kep = [ai ; ei ; %pi/2 ; 0 ; 0 ; anv1]; kep1 = CL_man_applyDv(kep,dv1); kep1(6) = anv2; kep2 = CL_man_applyDv(kep1,dv2) // Maneuver at apogee, with rotation ai = 7200.e3; af = 7000.e3; ei = 0.1; ef = 0.1; [delta_v,dv1,dv2,anv1,anv2] = CL_man_hohmannG(ai,ei,af,ef,1,1) // Check results : kep = [ai ; ei ; %pi/2 ; 0 ; 0 ; anv1]; kep1 = CL_man_applyDv(kep,dv1); kep1(6) = anv2; kep2 = CL_man_applyDv(kep1,dv2)