Contents
Sail SMA change demo
Demonstrate for GEO, GPS, and LEO orbits.
Since version 7.
%------------------------------------------------------------------------------- % Copyright (c) 2011 Princeton Satellite Systems, Inc. % All rights reserved. %------------------------------------------------------------------------------- % High orbits
GEO
a0 = 42167; area = 50; % m^2 mass = 1750; % kg accel = SailPropsToAccel( area, mass )*1e-3; % m/s^2 converted to km/s^2 nOrbits = 352; direction = 1; sma = zeros(4,nOrbits); dt = zeros(4,nOrbits); type = 'optimal'; [sma(1,:),dt(1,:)] = SailSMAChange( type, a0, accel, nOrbits, direction ); [sma(2,:),dt(2,:)] = SailSMAChange( type, a0, 2*accel, nOrbits, direction ); [sma(3,:),dt(3,:)] = SailSMAChange( type, a0, accel, nOrbits, -direction ); [sma(4,:),dt(4,:)] = SailSMAChange( type, a0, 2*accel, nOrbits, -direction ); NewFig('GEO Sail Lowering and Raising') dt = dt/86400; plot([0 dt(4,end)],[a0 a0],'--'); hold on; plot(dt(1,:),sma(1,:),dt(2,:),sma(2,:),dt(3,:),sma(3,:),dt(4,:),sma(4,:)) title(sprintf('Sail: %d/%d m^2, Mass: %d kg',area,2*area,mass)) grid on
GPS
a0 = 26600; mass = 2032; % kg area = 100; % m^2 nOrbits = 732; sma = zeros(4,nOrbits); dt = zeros(4,nOrbits); [sma(1,:),dt(1,:)] = SailSMAChange( type, a0, accel, nOrbits, direction ); [sma(2,:),dt(2,:)] = SailSMAChange( type, a0, 2*accel, nOrbits, direction ); [sma(3,:),dt(3,:)] = SailSMAChange( type, a0, accel, nOrbits, -direction ); [sma(4,:),dt(4,:)] = SailSMAChange( type, a0, 2*accel, nOrbits, -direction ); NewFig('GPS Sail Lowering and Raising') dt = dt/86400; plot([0 dt(4,end)],[a0 a0],'--'); hold on; plot(dt(1,:),sma(1,:),dt(2,:),sma(2,:),dt(3,:),sma(3,:),dt(4,:),sma(4,:)) title(sprintf('Sail: %d/%d m^2, Mass: %d kg',area,2*area,mass)) grid on
LEO
a0 = 6378+1000; mass = 500; % kg area = 100; % m^2 nOrbits = 5000; sma = zeros(1,nOrbits); dt = zeros(1,nOrbits); [sma(1,:),dt(1,:)] = SailSMAChange( type, a0, accel, nOrbits, direction ); sma(end)-sma(1) dt(end)/86400
ans = 7.2024 ans = 365.18
combined plot
area = [0:10:200]; mass = 500; accel = SailPropsToAccel( area, mass )*1e-3; % m/s^2 converted to km/s^2 a0 = [6378+1000; 26600; 42167]; nOrbits = [5000 732 352]; NewFig('Sail Disposal'); smaChange = zeros(length(a0),length(area)); for j = 1:length(a0) for k = 2:length(area) [sma,dt] = SailSMAChange( type, a0(j), accel(k), nOrbits(j), direction ); smaChange(j,k) = sma(end)-sma(1); end end Plot2D(area,smaChange,'Sail Area (m^2)','SMA Change (km)',sprintf('SMA Change in One Year for Mass of %d kg',mass)) legend('1000 km','GPS','GEO') %-------------------------------------- % PSS internal file version information %--------------------------------------