Движение ракеты
Задача об одномерном движении механической системы с переменной массой обычно связывается с движением ракеты или ленты конвейера.
Рассмотрим упрощенный вариант задачи о движении ракеты, в котором не учтены силы гравитации. Ее импульс можно записать так:
- P_R:=M(t)*v(t);
где v(t) – скорость ракеты относительно неподвижной системы.
Ракета приводится в движение газом, вытекающим с постоянной (относительно ракеты) скоростью u. В стационарной (неподвижной) системе отсчета скорость газа равна (v + u). Внешних сил нет (гравитация не учитывается), поэтому полный импульс не изменяется. Полное изменение импульса ракеты соответствует изменению импульса вытекающего газа, которое можно записать как изменение его массы, умноженной на скорость истечения газа в лабораторной системе.
- NEq:=diff(P_R,t)-diff(M(t),t)*(v(t)+u)=0;
- NEq:=simplify(NEq);
Получается неодинаковый (несимметричный) учет скорости v(t): в изменении производной импульса ракеты производные рассматриваются и для массы, и для скорости. Они обе важны, поскольку умножаются на другую относительную переменную. В формуле для скорости изменения импульса вытекающего топлива получается, что изменение скорости в лабораторной системе (а именно – для v(t)) игнорируется. Правильность такого подхода подтверждается следующим рассуждением: в каждый момент времени скорость умножается на небольшую массу газа dM, истекшего за время между t и t + dt. Произведение изменения скорости и изменения массы dmdv – вклад второго порядка малости, и его можно отбросить. В импульсе ракеты этот вклад записывается как часть импульса ракеты: (M + dM) · (v + dv) при t + dt.
Дифференциальное уравнение можно решать или для массы, или для скорости как функции времени:
- solM:=dsolve(NEq,M(t));
- solv:=dsolve(NEq,v(t));
В решении для массы M(t) постоянная интегрирования _C1 есть масса, а именно M(t = 0) = M(0).
Со вторым решением для v(t) сложнее, придется подумать. Если действовать формально и записать для _C1 величину –u · ln(M(t = 0)), то решение в целом примет вид: u · ln(M(t)/M(0)), что, конечно, не имеет смысла (в размерности величины получается логарифм). Учтем, что u – это скорость истечения газов, направленная противоположно скорости ракеты v(t).
При заданных начальных условиях получим решение для скорости:
- solv:=dsolve({NEq,v(0)=v0},v(t));
То, что решение может быть найдено либо для M(t), либо для v(t), должно вызвать некие подозрения. Решение для v(t) зависит от изменения во времени M(t), и наоборот. Это имеет смысл, если мы определяем скорость истечения (или просто скорость) газа, а не скорость расхода топлива. Ясно, что скорость ракеты зависит от величины массы, толкаемой вперед газом, отбрасываемым назад с определенной скоростью истечения. Пусть масса пустой (без топлива) ракеты равна m, а зависимость массы всей ракеты от времени – линейная. Диапазон времени 0 < t < 10 (все единицы – в системе СИ):
- m:=500;
- M:=t->m+1000-100*t;
- v_R:=unapply(rhs(solv),u,v0,t);
- plot(v_R(-100,0,t),t=0..10);
При t > t_f = 10 решение не имеет смысла, так как вклад от топлива становится отрицательным в соответствии с записанным выше соотношением. Ускорение ракеты зависит от времени. Его получаем, дифференцируя скорость:
- v_R(-100,0,t);
- a_R:=diff(%,t);
- plot(a_R,t=0..10);
Большой рост ускорения ракеты незадолго до момента окончания сжигания топлива обусловлен тем, что возрастание скорости dv задается произведением скорости истечения и логарифма отношения масс (M(t + dt)/M(t)). Последнее близко к единице в начале полета и сильно от нее отличается под конец истечения топлива.
Другое интересное наблюдение можно получить в начале ускорения. Ракета стартует с положительным ненулевым ускорением. Если добавить гравитацию, чье ускорение действует в противоположном направлении, то не будет уверенности в возможности отрыва от поверхности. Мы обсудим это ниже: это величина эквивалентной силы, действующей в результате отбрасывания частиц со скоростью расходования dM/dt и скоростью истечения |u|. Произведение этих двух величин имеет размерность силы, и оно ответственно за ускорение ракеты. При постоянной скорости сжигания топлива и постоянной скорости истечения эта сила постоянна. Таким образом, увеличение ускорения ракеты в процессе сгорания топлива есть результат уменьшения массы ракеты. Преимущество многоступенчатой ракеты в том, что после окончания работы ненужная ступень отбрасывается, создавая лучшее отношение масс «топливо / вес ракеты» для следующей ступени.
Разработка ракеты основывается на том, что для быстрого достижения скорости необходимо в несколько раз увеличить ее начальный вес. В момент старта требуется некоторое время, чтобы после зажигания двигателя начался подъем ракеты. Для примера выше произведение скорости сжигания топлива и скорости истечения недостаточно для преодоления гравитации (9.8 м · с–2). Понятно, что в свободном пространстве этого не требуется.
Если нет желания применять команды Maple для решения ДУ (dsolve), то выполним действия самостоятельно. Вначале (для безопасности) переопределим уравнение Ньютона. Это лучше, чем применять unassign M(t).
- restart;
- NEq:=simplify(diff(M(t)*v(t),t)-diff(M(t),t)*(v(t)+u)=0);
- accel:=solve(NEq,diff(v(t),t));
- sol:=v(s)-v(0)=int(accel,t=0..s);
Прежде чем получить формулу Циолковского, нужно кое-что учесть: аргументы под знаком ln должны быть положительными, предположение о положительности M не работает автоматически, так как это – вычисляема величина. Тогда заменим обозначения для начальной и конечной масс, умножим выражения и получим
- assume(M_f>0,M_i>0); interface(showassumed=0);
- Delta:=combine(factor(subs(M(s)=M_f,M(0)=M_i,rhs(sol))),ln);
Интерпретация этого выражения для изменения скорости ракеты Delta при данной скорости истечения u: отношение масс, появляющееся как аргумент логарифма, меньше единицы, т. е. логарифм отрицателен. Это соответствует тому, что приобретаемое ракетой изменение скорости имеет другой знак относительно скорости истечения. Формула годится для любого интервала времени, так как она является решением ДУ. Неважно, как сжигается топливо, т. е. линейно ли M(t), как предполагалось для полученного выше решения.
