How to solve the classical mechanics rocket equation using Maple?

116 Views Asked by At

I would like to derive the Rocket Equation from Classical Mechanics in Maple.

I will do the case of zero external force: $$F^{ext}=0=m(t)\frac{dv}{dt}-u \frac{dm}{dt}$$ where u is the velocity of the exhaust relative to the rocket, v is the velocity of the rocket, and m is the mass of the rocket. $$m(t)\frac{dv}{dt}=u\frac{dm}{dt}$$ $$um(t)^{-1}dm=dv$$ $$\int_{v(t_0)}^{v(t_f)}dv=\int_{m_0}^{m_f}um(t)^{-1}dm$$ $$v(t_f)=v(t_0)+u\ln{\frac{m_f}{m_0}}$$

In Maple

RE := 0 = m(t)*diff(v(t), t) - u*diff(m(t), t);

The question is, how do I get Maple to solve this differential equation as it is solved above?

dsolve(RE);
Error, (in dsolve) Required a specification of the indeterminate function
1

There are 1 best solutions below

0
On BEST ANSWER

Your equation has both m(t) and v(t).

You seem to expect that Maple ought to be able to somehow know that you want a solution for v(t) in terms of m(t), instead of the reverse.

The dsolve command can be called with a second argument that specifies the indeterminate function, ie the unknown function of t. But your call to dsolve does not supply that. The error message occurs because of the ambiguity.

restart;

RE := 0 = m(t)*diff(v(t), t) - u*diff(m(t), t):

dsolve({RE}, {v(t)});

     {v(t) = u ln(m(t)) + _C1}

raw := dsolve({RE, v(t__0)=v__0}, {v(t)});

    v(t) = u ln(m(t)) + v__0 - u ln(m(t__0))

combine(raw, symbolic);

                / m(t)  \       
     v(t) = u ln|-------| + v__0
                \m(t__0)/