От 7-40 Ответить на сообщение
К Лучезар
Дата 23.08.2010 23:06:31 Найти в дереве
Рубрики Прочее; Россия-СССР; История; Война и мир; Версия для печати

Re: Версия 2

>>Гравитационный разворот (англ. gravity turn или zero-lift turn) - это специальный вид траектории взлета РН на начальном этапе (и посадки некоторых посадочных аппаратов тоже), когда вектор тяги поддерживвается строго параллельным текущему вектору скорости. Это уменьшает потери на управление и боковую аэродинамическую нагрузку (если есть). "Сатурн-5", естественно, следовал этой траектории на участке работы 1-й ступени. Траектория поддается несложному математическому расчету. Если выполнять этот расчет программно, то функция тангажа должна довольно точно совпасть с графиком отчета.
>Но если поддерживать вектор тяги строго параллельно текущему вектору скорости, то как тогда делают изменение траектории? Ведь для этого надо немножко поворачивать двигателей F-1, тем самым и вектор тяги.

Изменение траектории двигателями делают один раз - чуть наклоняют ракету через несколько секунд после старта. После этого траектория загибается только под воздействием силы тяжести. Отсюда название маневра. С помощью двигателей корпус ракеты поворачивают, отслеживая текущее направление вектора скорости.

>>Одна из причин, почему высота выходит немного меньше - плоская Земля. Нетрудно прикинуть по теор. Пифагора, что неучет кривизны Земли дает ошибку по высоте около L*L/(2Rземли), где L - полная длина траектории. Прикидка дает ок. 0,6 км - это ок. 1 % по высоте. По дальности ошибка много меньше, т. к. там косинус, а не синус. :)
>Я внесу это исправление, спасибо! Полная длина траектории - это весь путь, пройденный ракетой, а не только его горизонтальная составляющая, да? Тогда по моему предварительному расчету прикидка будет около километра и я надеюсь, что тогда ошибка высоты останется меньше 1% :)

Прошу прощения, под L я имел в виду полную длину не самой траектории, а горизонтальной дальности, той, что ок. 90 км. Если Вы стремитесь к точности, я настойчиво советую не вносить эту поправку в высоту напрямую, а честно перейти в полярные координаты. Тем самым Вы заодно сможете правильно учитывать угол тангажа, который на самом деле табулирован для МЕСТНОГО горизонта. Если у Вас будут трудности с переходом от нынешних декартовых координат к полярным, я Вам помогу. Только не обещаю, что сделаю это до возвращения из Лиссабона в середине сентября. Я знаю, что это дело четверти часа - пустяковое изменение, - но голова сейчас совершенно другим занята, уж простите. А может, и буду в духе раньше.

>>Вы учли, как я успел заметить, лишь более точное изменение давления, но не тот закон, по которому УИ от давления зависит. Это более сложная вещь, к тому же она может зависеть от особенностей двигателя.
>Я использовал правило из http://www.dunnspace.com/isp.htm :
>In = Io + (Iv - Io) x (Pe - Pa)/Pe
>и значения УИ стали совпадать довольно хорошо (с небольшой разницей) с графикой на стр. 5-4.

Ну да, я и говорил, что линейное приближение довольно хорошее, оно с самого начала и было. Но предположу, что его точность порядка единиц %.

>>По-хорошему, у меня такое впечатление, что Вы могли ограничиться заменой линейного тангажа на табулированный и полностью экспоненциальной атмосферы на табулированную (причем хватило бы двух-трех членов). И результат, полагаю, почти не отличался бы от того, которого Вы добились. Все остальное было лишним. Ну, возможно, поправка к ускорению свободного падения тоже имеет некоторое значение.
>5-6 членов в качественном отношении ровно настолько сложны, что и 2-3. Уменьшение число членов никак не скажется на разборчивости программы.

Напрямую скажется на физической прозрачности модели. Я не хочу снова лезть в то, как Вы табулируете давление и плотность, но модель выглядела бы намного прозрачнее примерно в таком виде (это только пример):

rho0 = 1,3
atmHeight = height < 10000 ? 8000 : height < 50000 ? 30000 : 80000
rho = rho_0*exp(-height/atmHeight)

(все цифры из головы).

>>Нормальное ускорение 9,80665 нужно оставить в формуле тяги. В остальных местах, кажется, можно менять на местное.
>Хорошо. Заменил здесь:
>var Thrustcur = M0*TtW*G0*Ispcur/Isp0
>и здесь:
>Mcur -= Thrustcur*deltaT/(Ispcur*G0)

ОК.

>>Да, кстати. Местное ускорение уже учитывает центробежную силу. В программе центробежная сила уже учтена. Поэтому сейчас она учитывается дважды. Имеет смысл вычесть из местного ускорения, которое Вы вычисляете, центробежную силу на мысе Канаверал, т. е. добавить к вычисляемому Вами g величину w2*Rканаверал*cos2(phi), где w - угловая скорость вращения Земли, Rканаверал - радиус Земли в районе Канаверал, phi - широта Канаверала. Надеюсь, не ошибся.
>Вы имеете ввиду вычесть величину w2*Rканаверал*cos2(phi) из gcur при его вычислении выражением
>g0*Math.pow(R0/(R0+h),2)-Math.pow(Vs+InSp,2)/(R0+h)
>а не добавить ее? А не проще ли удалить член InSp в этом выражении?

Действительно, проще убрать InSp. Но лучше - перейти в полярные координаты, причем сразу (с нулевого момента времени) считая начальную скорость ракеты равной местной линейной скорости поверхности Земли на данной широте. Потом эту скорость можно вычесть. Можно будет тогда обойтись без центробежной и кориолисовой сил, они появятся сами собой.

>>Еще, кстати, космодром находится выше уровня моря. ;) Что сказывается, кстати, и на тяге двигателей.
>А я это учитываю :)
>var Ispcur = Isp0+(Ispvac-Isp0)*(1-Math.exp(Pressure(h)-Pressure(0)))

А где здесь высота космодрома над уровнем моря? Извините, что спрашиваю то, что можно было бы найти самому в Вашем коде.

>>>Вы имеете ввиду стр. 5-4?
>>Нет. Я имею в виду, что вместо вычисления тяги двигателей в формуле var Thrustcur = M0*TtW*g0*Ispcur/Isp0 можно просто вставить туда суммарное значение по табл. на стр. 5-3. Там же индивидуальные тяги двигателей как функции времени приведены. Вот можно их просуммировать, и будет Вам полная тяга в каждый момент времени.
>Здесь, видимо, у нас какое-то недоразумение. На стр. 5-3 отчета AS-506 нет никакой таблицы, а есть одна графика, в которой тяга отдельных двигателей дана только для несколько секунд после их зажигания, до старта.

Ах, да, прошу прощения. Мне запомнилось почему-то, будто там на графике тяги даны на все время полета ступени. Конечно, нет, там тяги только первые секунды. Значит, придется оставить вычисление тяги, учтя также небольшие изменения расхода.

>>Как учитываться? Несложно. Нужно вместо декартовых координат, использующихся в нынешнем алгоритме, перейти к полярным с началом в центре Земли. Вертикальную ось заменить радиальной, вместо горизонтальных координат, скоростей и ускорений считать угловые величины. Это чуть-чуть добавит тригонометрии. Совсем не сложно.
>Я могу попробовать это на более позднем этапе. И без того таблицы НАСА расстояний, скоростей и углов, которыми я пользуюсь, даны в полярных координат Земли.

Ну вот видите. Таблицы даны для неплоской Земли, а в исходном коде Земля считается плоской. Это и вносит небольшие ошибки, порядка процента. Единственное, что я учитывал сам - это центробежная и кориолисова силы, но это полумеры. Чтобы улучшить точность результата выше 1 %, Землю нельзя считать плоской.

>>>Давайте сначала решим двухмерную :)
>>Хотелось бы понять, зачем... ;)
>Это рекурсивная проблема: определение смысла задачи - часть самой задачи :)

Похоже, Вы посто получаете удовольствие от процесса. ;)