Code covered by the BSD License  

Highlights from
Bi-elliptic Transfer Between Coplanar Circular Orbits

Bi-elliptic Transfer Between Coplanar Circular Orbits

by

 

02 Nov 2012 (Updated )

Bi-elliptic orbital transfer between two coplanar circular Earth orbits.

befunc (x)
function fx = befunc (x)

% bi-elliptic radius objective function

% required by bielliptic.m

% Orbital Mechanics with MATLAB

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

global mu ri rf

% semimajor axes of the transfer orbits (kilometers)

sma1 = (ri + x) / 2.0;

sma2 = (x + rf) / 2.0;

% initial orbit velocity (kilometers/second)

vi = sqrt(mu / ri);

% first transfer ellipse periapsis velocity (kilometers/second)

vt1a = sqrt((2.0 * mu / ri) - (mu / sma1));

% first transfer ellipse apoapsis velocity (kilometers/second)

vt1b = sqrt((2.0 * mu / x) - (mu / sma1));

% second transfer ellipse periapsis velocity (kilometers/second)

vt2b = sqrt((2.0 * mu / x) - (mu / sma2));

% second transfer ellipse periapsis velocity (kilometers/second)

vt2c = sqrt((2.0 * mu / rf) - (mu / sma2));

% final orbit velocity (kilometers/second)

vf = sqrt(mu / rf);

% compute delta-v contibutions (kilometers/second)

dva = abs(vt1a - vi);

dvb = abs(vt2b - vt1b);

dvc = abs(vf - vt2c);
   
% calculate objective function value

fx = dva + dvb + dvc;



Contact us