kill(all)$

load(lrats)$

simple rocket equations ,in the direction movement  'v'. version 1.0
peter.vlasschaert@gmail.com,18/07/2018

construction with Geogebra ,Paint

<==================================>
T = thrust   vector
D = drag      vector
W = weight vector = m*g
===================================
AMP = positive direction ,'v'
===================================
rem : g (= constant ), negative 'y' direction .
rem : θ =(K,A,J)
<==================================>
*****************************************************************
=> fig 1

(o)rdinary (d)ifferential (e)quation: direction of 'v'
========================================
rem : ode 

p1:m*'diff(v,t) = T-D-NR;

 W' = NR =vector(N,R) ,neg direction of 'v'.
--------------------------------------------------------------

p2:W=m*g;
p3:NR=rhs(p2)*cos(θ);

p4:lhs(p1) =subst([p3],rhs(p1));

p4a:expand(p4/m);

rem :  cos(θ) = NR/NQ =NR/W
            NR =W*cos(θ)
rem : sign inside, 'p1'

What  T,D : ?

1e)   T  ?
========

Answer :T = thrust force.

p5: T=(-1)*'diff(m,t)*Ueff;
p5a:T=(-1)*'diff(m,t)*g*I_spc;

rem : relation between  I_spc ('second') and Ueff ('meter/second').
because : [g]=[m/s^2]

flow through the nozzle is equal to the (-)negative rate of change in rocket mass.
===================================================================
m0: initial mass of the rocket
mf :about ( = 90 %) of rocket mass : fuel ( = propellant burnt mass).

insert  'p5' into 'p4a'.

p6:subst([p5],p4a);

we want to integrate 'p6'  from t: 0 ≤ t ≤ tb
dv = Δ v
tb : burning time of the fuel.

result : three integrals ?

p6a:args(rhs(p6));

'p6b' g,θ,Ueff,D  not dependent on 't':simple

p6b:[p6a[1],-Ueff/m,p6a[3]];

'p6c' g,θ,Ueff,D   dependent on 't' : general

p6c:subst([g=g(t),θ=θ(t),Ueff=Ueff(t),D=D(t),m=m(t)],p6b);

integrals 

1e)  t: 0 ≤ t ≤ tb,t0=0

p6b1:'''integrate(p6c[1],t,t0,tb);

2e) m: m0<m<m

assume(m0>0,m>0);

assume(m0>m);

p6b2:'integrate(p6b[2],m,m0,m);

p6b2a:ev(p6b2,nouns);

m: final mass ?  m=m0-Dmf

p6b2b:subst([m=m0-mf],p6b2a);

use : logcontract

p6b2c:logcontract(p6b2b);

3e)  t: 0 ≤ t ≤ tb,t0=0

p6b3:''integrate(p6c[3],t,t0,tb);

2e)  D ? :

Answer :D =drag force (works against the T: other direction of 'v').

final result increment velocity : Δv,from t: t0 to tb
=========================================

p7:Δv = p6b1+p6b2c+p6b3;

p7a:p6c/Ueff(t);

1e) integral : gravity loss

p7a1:'integrate(p7a[1],t,t0,tb);

2e) integral :drag loss

p7a2:'integrate(p7a[3],t,t0,tb);

3e) integral : mass integration ,burning fuel of the rocket

p7a3: part(rhs(p7),3)/Ueff;

final result : Δv/Ueff

p8: Δv/Ueff =p7a1+p7a2+p7a3;

negligble drag: D(t) =0
===================

p8a:subst([D(t)=0],p8);

constant gravitational acceleration(g(t)=g) and (θ(t) = 0)
rem : Ueff(t) =Ueff
rem : θ(t) = 0           ( = vertical launch of the rocket)

p8a1:lhs(p8a) = subst([g(t)=g,θ(t)=0,Ueff(t)=Ueff],rhs(p8a));

p8a2:p8a1*Ueff;

p8a3:expand(p8a2);

How to remove : Ueff  with use  'p5,p5a'

p8a4:rhs(p5)=rhs(p5a);

solve for : Ueff ?

p8a5:solve(p8a4,Ueff);

simplify :'p8a3',increment of velocity 'v' =Δv
-------------------------------------------------------------------

p8a6:subst(p8a5,p8a3);

p8a7:factor(p8a6);

I_spc = value given   of   ' =propellant=fuel', chemistry
tb       = burning time of  '  =propellant=fuel', chemistry,when t0=0
------------------------------------------------------------------------------------------------

negligble :drag: D(t) =0,gravity :g(t) =0
================================
rem : g(t) = g 'small value'

p8b:subst([D(t)=0,g(t)=0],p8);

p8b1:p8b*Ueff;

find relation : initial mass m0 and mf

p8b2:solve(p8b1,m0);

p8b3:expand(p8b2);

by constant burning rate : mf =k*t , k =constant
-----------------------------------------------------------------------

p8b4:p8b3/mf;

general first approximation : increment of velocity =Δv

example : 90% of the rocket mass is fuel.
==================================

suppose : 90 % fuel burning. 'see above'

m0:100;
mf:90;

p8b5:ev(p8b4);

relation between : Ueff = I_spc*g
=> g= gravitational =9.81m/s^2

p8b6:subst(p8a5,p8b5);

solve : increment of velocity :Δv, 90 % fuel
====================================

p8b7:solve(p8b6,Δv);

p8b8:p8b7[1];

rem : m0:payload( = nuclear warhead)+fuel +casing . (relastic rocket :see' single stage rocket').
-----------------------------------------------------------------------------------------------------------------------------------------------