Home » Space Flight/Orbital Mechanics » Non-impulsive Orbital Maneuvers, Constant Thrust

# Non-impulsive Orbital Maneuvers, Constant Thrust

In non-impulsive orbital maneuvers the thrust acts over a significant period of time. In this case we can’t ignore the change in position vector. Given the initial state of the spacecraft we calculate the state after the burn

```clc;
clear all;
global g0 mu T Isp M0;
mu = 398600;             %[km^3/s^2] Earth’s gravitational parameter
M0 = 4000;               %[kg] Gross mass before ignition
R = [ 7200,   0,  0];    %[km] Position vector:
V = [ 0,     7.6,  0];   %[km/s] Velocity vector
g0 = 9.81;               %[km/s^2]
T   = 20;                %[kN] Thrust, const
t_b =  200;              %[s] Burn time
m =  1000;               %[kg] Mass after burn
dm = (M0 - m)/t_b;
Isp = T/(dm*g0);
tspan = [0,t_b];
% Constructing initial state vector
y0 = [R(1),R(2),R(3),V(1),V(2),V(3),M0];
% Using ODE45 to solve  ordinary differential equations of motion
% for the given initial values
[time,f_y] = ode45(@f_yt,tspan,y0);
fs = f_y(end,:);
Rf = [fs(1),fs(2),fs(3)];
Vf = [fs(4),fs(5),fs(6)];
Mf = fs(7);
fprintf('Position vector after burn R = [%4.2f %4.2f %4.2f] km\n',Rf);
fprintf('Velocity vector after burn V = [%4.4f %4.2f %4.2f] km/s\n',Vf);
fprintf('Mass after burn M = %4.2f kg\n',Mf);```
```Position vector after burn R = [7035.78 1651.64 0.00] km
Velocity vector after burn V = [-1.7367 9.26 0.00] km/s
Mass after burn M = 1000.00 kg```
```function  dfdt = f_yt(t,y)
global mu g0 T Isp;
r = (y(1)^2+y(2)^2+y(3)^2)^0.5;
v = (y(4)^2+y(5)^2+y(6)^2)^0.5;
m = y(7);
dfdt = [y(4),y(5),y(6),-mu*y(1)/r^3 + T/m*y(4)/v,...
-mu*y(2)/r^3 + T/m*y(5)/v, -mu*y(3)/r^3 + T/m*y(6)/v,...
-T/(Isp*g0)]';
return```
{"ft_lang_label":"__label__en","ft_lang_prob":0.58528495,"math_prob":0.9998884,"size":1485,"snap":"2020-34-2020-40","text_gpt3_token_len":612,"char_repetition_ratio":0.12694125,"word_repetition_ratio":0.017094018,"special_character_ratio":0.4720539,"punctuation_ratio":0.20924574,"nsfw_num_words":0,"has_unicode_error":false,"math_prob_llama3":0.9996082,"pos_list":[0],"im_url_duplicate_count":[null],"WARC_HEADER":"{\"WARC-Type\":\"response\",\"WARC-Date\":\"2020-09-30T21:17:03Z\",\"WARC-Record-ID\":\"<urn:uuid:93881db5-8ee3-488a-bdbb-3606a30df1f4>\",\"Content-Length\":\"75514\",\"Content-Type\":\"application/http; msgtype=response\",\"WARC-Warcinfo-ID\":\"<urn:uuid:2c38e7d7-06a9-4703-8826-66cc32ed9837>\",\"WARC-Concurrent-To\":\"<urn:uuid:b0783123-d498-48ac-9821-e6b84078dc0c>\",\"WARC-IP-Address\":\"192.0.78.24\",\"WARC-Target-URI\":\"https://smallsats.org/2013/02/17/nonimpulsive-orbital-maneuvers-constant-thrust/\",\"WARC-Payload-Digest\":\"sha1:V7ELTBMNZXTBWOKEABQKO5QD3XBEZYC5\",\"WARC-Block-Digest\":\"sha1:ZMXUOJW2O55JS6POD7NZYU55L4E5PSHE\",\"WARC-Identified-Payload-Type\":\"text/html\",\"warc_filename\":\"/cc_download/warc_2020/CC-MAIN-2020-40/CC-MAIN-2020-40_segments_1600402128649.98_warc_CC-MAIN-20200930204041-20200930234041-00533.warc.gz\"}"}