Вопрос очень простой.
Предположим запрограммирована задача четырех тел (Солнце, Земля, Луна, АМС) в гелиоцентрической декартовой СК.
Представление чисел в стандартном double (разряд знака, 11-разрядная экспонента, 52-разрядная мантисса).
Интегрирование Рунге-Куттом 4 порядка с фиксированным шагом 60с. Интервал неделя.
Наинтегрируется что путное или всё в ошибку вычислений упрется?
Цитата: ZOOR от 11.09.2023 12:59:09Наинтегрируется что путное или всё в ошибку вычислений упрется?
Есть простой способ проверить:
выполнить то же уменьшенным, а потом ещё раз уменьшенным шагом,
или
выполнить то же Эйлером 2 и какими-нибудь Рунге7/8.
(С потолка, из приблизительных соображений) Если это пассивный участок и не с самой поверхности Земли, то вполне точно должно получаться. Если активный -- за 60 секунд типичными средствами выведения можно довольно много наделать, в том числе, промахов. )
Цитата: ZOOR от 11.09.2023 12:59:09Наинтегрируется что путное или всё в ошибку вычислений упрется?
Интегрируется.
Шаг 60 сек - это даже лишнее, такой шаг когда близко к Земле или Луне. А уже на расстоянии в неск. радиусов достаточно и минут 10..30 например. Плюс вблизи Земли надо учитывать сжатие ( хотя бы J2 ).
Проблемы могут быть -
- давление света. Это можно посчитать, но надо знать, каким боком сейчас АМС к Солнцу. Если она не шар.
- масконы . Но это уже на окололунной орбите.
Я как-то написал кучу кода на Дельфы, методом Эрмита ( всякие пробовал, этот у меня точнее получился ), он из Р-К происходит, только в нем еще и
рывок считается ( производная ускорения ).
Я проверял по Солн. системе ( Солнце, 8 планет, Луна) , считал
на год и сравнивал с DE/LE405 .
Ошибки - у Меркурия неск. сотен км, у Земли, Луны , Венеры, Мрса - десятки км, Юпитер и пр. - единицы км. Причем, при снижении шага менее 0.05 суток точность уже не растет.
PS Это без всякой астродинамики, без двигателей. Только движение под действием гравитации.
PPS Данные - Double, переход на Extended практически не дает прироста точности, хотя что интересно и быстродействие не снижает.
Цитата: ZOOR от 11.09.2023 12:59:09в гелиоцентрической
Исходные данные можно в любой задать.
Можно Солнце вектор положения скорости = (0,0,0,0,0,0), можно Землю . Все равно используются в вычислениях разности векторов.
Для проверки можно посчитать, как движется барицентр системы. Должен по 1-му закону Исаака нашего Ньютона - прямолинейно равномерно. Или стоять на месте, если исходные данные в барицентрической заданы.
Цитата: Олег от 11.09.2023 15:27:02Исходные данные можно в любой задать.
Можно Солнце вектор положения скорости = (0,0,0,0,0,0), можно Землю . Все равно используются в вычислениях разности векторов.
О!
Спасибо
Я вот отсюда брал - ссыла (http://vadimchazov.narod.ru/text_pdf/reasint.pdf)
Там правда опечатки нашел в методе Эрмита.
Там и про Р-К есть.
Есть (открытый-бесплатный) такой пакет OpenModelica (https://openmodelica.org/).
В нем можно в естественной форме записать уравнения вида X' = F(X) и оттуда же получить (если надо забрать в свой проект) отлаженный и проверенный процедурный вычисляющий код, в котором будет сам метод интегрирования, и корректное решение алгебраических/матричных частей. Высокие порядки методов интегрирования там тоже есть, но для такого рода систем они, имхо, не сильно нужны.
Или вот, от бауманцев, вроде бы :D
Если задача укладывается в уже готовые форматы, то вообще очень просто: https://help.simintech.ru/index.html?q=/10_biblioteki_blokov/ballistika_ka/DIR_raschet_dvizheniya_ka.html
Цитата: ZOOR от 11.09.2023 12:59:09Наинтегрируется что путное
Да.
И вполне можно делать автовыбор шага интегрирования. Я пробовал Рунге-Кутты 4го порядка, Рунге-Кутты-Мерсона, Рунге-Кутты-Фильберга. С контролем потери точности по скорости или координате. Если настроить критерии потери точности для каждого из шести вариантов так, чтобы в конце (например в периселении пролётной окололунной гиперболы) получать одинаковый вектор, то у меня получилось что самый быстрый (меньше всего холостых циклов уполовиневания шага и самый большой шаг для участков вдали от сферы действия второй планеты, например для задачи Земля-Луна) - Рунге-Кутты-Мерсона с контролем точности по координате.
Но численный метод - это важно, конечно, но самое главное - модели ускорений (числа гармоник потенциала планет и Солнца), если нужно - то да, и световое давление. И модели движения планет.
Тут полностью зависит от цели расчёта. Если нужно "в первом приближении" найти нужную траекторию перелёта и дату пуска чтобы около планеты-цели иметь нужную конечную орбиту, то, в принципе, движение планет можно задавать известными степенными рядами по аргументу "юлианская дата". Это максимально быстрый способ.
Цитата: Туман Андромедов от 11.09.2023 20:12:27модели ускорений (числа гармоник потенциала планет и Солнца)
Это про гармоники от полярного сжатия ?
Эти гармоники только для пролетов вблизи, и только для сильно сжатых , типа Земли и Юпитера. У Юпитера - для галилеевых спутников они существенно влияют. У Земли - выше ГСО гармоники нужны только для сверхточных вычислений, там уже световое давление больше влияет.
Солнце наверное можно считать круглым, даже на Меркурий существенно не влияет, у Меркурия эффекты ОТО больше, чем несферичность Солнца.
Цитата: Туман Андромедов от 11.09.2023 20:12:27известными степенными рядами по аргументу "юлианская дата"
Представляете число 2460199.35613426 в 7-й например степени. Изза лишних разрядов точность уплывет. Лучше не от JD, а от долей года с какого-то момента, например от J2000.0
Типа t = (JD- 2451545) / 365.25
Цитата: Олег от 11.09.2023 20:31:43Это про гармоники
Мы же ведь не знаем с Вами подробностей модели ZOOR. Может он уравнения движения для Луны и Земли интегрирует.
Я, наверное, не очень точно сформулировал тезис о том, что при всей важности численного метода, математическая модель важнее.
А так-то я с Вами полностью согласен, что модель потенциалов должна быть адекватна целям расчётов. Тут кто-бы спорил, только не я.
Цитата: Олег от 11.09.2023 20:36:56Лучше не от JD
Конечно лучше. Есть ряды для MJD. Если только этот способ определения координат планеты автор модели вообще сочтёт возможным.
Цитата: Туман Андромедов от 11.09.2023 21:24:30Может он уравнения движения для Луны и Земли интегрирует.
Я так делал, для проверки метода. Но для АМС лучше векторы положения и скорости планет брать например из DE/LE 405 ( или 431, какая там свежая) , а интегрировать только саму АМС.
Там, в этих DE/LE и даются коэффициенты Чебышева на некоторые периоды. В качестве аргумента - дней от начала периода.
PS Если не АМС, а что-то массивное, типа
страшной черной дыры, влетевшей в Солн. систему, тогда всех надо считать.
Я вижу, что народ тут "прошаренный" собрался...
Если возьмётесь реально интереса ради что-то моделировать, можете одну конкретную задачку решить?
Пусть у нас есть АМС, которая запущенна к Луне по такой же траектории, по какой запустили Луну-25. Речь о той траекторию, которую задал разгонный блок Фрегат.
В отличие от Луны-25 эта АМС оборудована ЭРД с очень малой тягой. Можно считать, что двигатель создаёт стабильное ускорение в 0,00002 м/с2. Далее несколько вопросов:
- можно ли при таком ускорении в принципе совершить все необходимые коррекции и в итоге выйти на окололунную орбиту?
- какова минимальная delta-V всех коррекций и выхода на стабильную* окололунную орбиту? Орбита может быть круговой, вытянутой эллиптической, полярной, экваториальной, прямой, ретроградной - не важно. Лишь бы она была стабильна* и delta-V выхода на неё была минимально возможной. Какова будет вот эта орбита, на которую проще всего выйти?
- какова минимальная delta-V всех коррекций и выхода на стабильную* окололунную орбиту с наклонением 86°? Орбита может быть круговой или вытянутой эллиптической - это не важно. Лишь бы она была стабильна*, с наклонением 86° и delta-V выхода на неё была минимально возможной. Какова будет эта орбита, на которую проще всего выйти?
- какова минимальная delta-V всех коррекций и выхода на низкую круговую окололунную орбиту с высотой 100 км и наклонением 86°?
* - под стабильностью подразумевается, что космический аппарат на протяжении как минимум десяти лет не покинет окололунное пространство и не врежется в Луну. Если при этом параметры орбиты будут постепенно изменяться - не важно.
Цитата: SONY от 11.09.2023 22:00:25можете одну конкретную задачку решить?
Пусть у нас есть АМС, которая запущенна к Луне по такой же траектории, по какой запустили Луну-25. Речь о той траекторию, которую задал разгонный блок Фрегат.
В отличие от Луны-25 эта АМС оборудована ЭРД с очень малой тягой. Можно считать, что двигатель создаёт стабильное ускорение в 0,00002 м/с2.
Нет, я только с
мертвыми телами . То есть просто небесная механика, без астродинамики. Могу только мгновенно добавить некий вектор скорости, в какой-то момент. А встроить реактивную тягу в интегратор - мне кажется довольно муторно, для меня по крайней мере.
Кстати, траекторию отлета - где точные данные ? В смысле начальных условий на JD TT = .. векторы pos = (X,Y,Z), vel = (vX,vY,vZ) в системе J2000.0.
И для стабильной орбиты - масконы учитывать ? Если учитывать, то это одной гармоникой J2 не обойдешься, как для Земли . Их как-то встраивать в интегратор, это проблема.
Цитата: Олег от 11.09.2023 22:18:00Могу только мгновенно добавить некий вектор скорости, в какой-то момент
А много маленьких векторов в много последовательных моментов?
Вопрос чисто теоретический -- чтобы это имело смысл, нужно изобрести функцию, которая будет вертеть этой тягой в ходе полёта оптимальным, или просто достаточно хорошим образом. Не перебирать же все возможные. )
Цитата: SONY от 11.09.2023 22:00:25Я вижу, что народ тут "прошаренный" собрался...
Если возьмётесь реально интереса ради что-то моделировать, можете одну конкретную задачку решить?
С такой тягой лучше ковылять на Луну с какого-нить ГСО. А с гиперболической орбиты, которую сделал Фрегат, с такой тягой вряд ли получится хоть что-то окололунное.
Цитата: Наименьший квадрат от 11.09.2023 23:01:57С такой тягой лучше ковылять на Луну с какого-нить ГСО. А с гиперболической орбиты, которую сделал Фрегат, с такой тягой вряд ли получится хоть что-то окололунное.
С ГСО это заведомо просто дикая delta-V, никак не менее 1,5 км/с даже на "какую придётся" орбиту.
Орбита, которую задал Фрегат, не была гиперболической.
Luna-25_trajectory.jpg
Фрегат вывел АМС на вытянутую эллиптическую орбиту, 343x400001 км. Ну, по крайней мере, сам он на этой орбите оказался (https://planet4589.org/space/gcat/data/cat/deepcat.html) (объект 2023-118B в самом низу страницы).
Для сравнения попутные CubeSat миссии Artemis 1 болтаются на 532x377388 км - очень близко. И мы знаем, что те самые попутные CubeSat в том числе предполагали выход на орбиту за счёт ионного двигателя и двигателя электроспрей, т.е. с очень низкой тягой.
Цитата: Олег от 11.09.2023 22:18:00Могу только мгновенно добавить некий вектор скорости, в какой-то момент.
Такой перелёт я и сам могу прикинуть без сложного моделирования. Тут весь вопрос именно в малой тяге...
Цитата: Олег от 11.09.2023 22:18:00Кстати, траекторию отлета - где точные данные ? В смысле начальных условий на JD TT = .. векторы pos = (X,Y,Z), vel = (vX,vY,vZ) в системе J2000.0.
Таких нету. Но мы знаем, что 11 августа 2023 года аппарат вышел на орбиту с высотой 343x400001 км и наклонением 49,9 градуса, причём 16 августа 2023-го года апогей орбиты оказался над Луной. Полагаю, что этих данных достаточно чтобы вычислить траекторию.
Цитата: Олег от 11.09.2023 22:18:00И для стабильной орбиты - масконы учитывать ? Если учитывать, то это одной гармоникой J2 не обойдешься, как для Земли . Их как-то встраивать в интегратор, это проблема.
Ну, допустим, не учитываем. Для высокой орбиты (а орбита с минимальной delta-V перелёта явно будет очень высокой) они должны иметь незначительное влияние, а орбита 100 км из последнего вопроса - "замороженная".
Цитата: Олег от 11.09.2023 22:18:00встроить реактивную тягу в интегратор - мне кажется довольно муторно
Ввести тягу в правые части, само по себе, не очень сложно. Нужно придумать некую систему координат где проекции тяги запишутся только через тангаж и рысканье. Из муторного там будет последовательное перемножение матриц для перехода в систему координат в которой решается вся задача.
Но затем надо будет сделать нечто действительно очень непростое - поиск этих самых тангажа и рысканья (направление тяги) и моментов её включения. Это решение вариационных краевых задач с какой-либо оптимизацией параметров. В принципе это вполне разработанный раздел математики, но этими плодами воспользоваться не просто. И разработка такого решателя - вот это действительно муторно.
Цитата: SONY от 11.09.2023 23:56:58ЦитироватьКстати, траекторию отлета - где точные данные ? В смысле начальных условий на JD TT = .. векторы pos = (X,Y,Z), vel = (vX,vY,vZ) в системе J2000.0.
Таких нету.
Как раз это-то есть. Вы же сами предлагаете использовать TLE по "Фрегату" и принять допущение что перелётная орбита "Луны-25", до первой коррекции, совпадает с орбитой отделившегося "Фрегата". А результатом раскрытия TLE как раз является кинематический вектор на конкретную эпоху.
Цитата: SONY от 11.09.2023 22:00:25АМС оборудована ЭРД с очень малой тягой. Можно считать, что двигатель создаёт стабильное ускорение в 0,00002 м/с2.
Просто для сопоставления: аппарат Capstone 25 кг и 0.25 Н (располагает, соответственно, в 50 раз большим ускорением) планировалось переводить на экстремально высокую эллиптическую орбиту. Затраты ХС -- примерно между 100 и 200 м/с, т.е., (порядок величины) сутки-другие работы.
С слишком малым ускорением придётся всю дорогу воевать ещё и с возмущениями от Земли. И не факт, что удастся победить.
А в итоге-долетели?! Это факт. Не вышло с прилунением-тоже факт. Причем задумано было уже "как у всех". Значит программная ошибка оператора, увы. Вспоминается книга Чертока Б.Е. Там тоже в догон дали команду на импульс, и кто-то дублировал уже с другой станции слежения. Т.е. комплексная ошибка "на дурака".
Цитата: Туман Андромедов от 12.09.2023 06:48:48Вы же сами предлагаете использовать TLE по "Фрегату"
Нет, не предлагаю, т.к. их нету. Нигде не нашёл для него TLE, только высоту и наклонение.
Цитата: Serge V Iz от 12.09.2023 11:18:43Просто для сопоставления: аппарат Capstone 25 кг и 0.25 Н (располагает, соответственно, в 50 раз большим ускорением)
А аппарат LunIR (https://en.wikipedia.org/wiki/LunIR) имеет массу 14 кг и для выхода на орбиту использует электроспрей. Увы, никаких данных о параметрах двигательной установки не опубликовано. Но можно предположить, что это либо напрямую пара Busek BET-300P с суммарной тягой максимум 2x150 мкН, либо что-то близкое по параметрам.
Отсюда имеем максимальное ускорение 2x0,00015/14 = 0,0000214 м/с
2. Я решил округлить до 0,00002.
BETMAX_v1.0.pdf
Цитата: SONY от 12.09.2023 14:18:00BETMAX_v1.0.pdf
Суммарный располагаемый импульс в этом документе меня смущает. Этого может хватить только для того, чтобы с точки Лагранжа немного упасть, так же на экстремальную высокоэллиптическую. А на ее поддержание уже не хватит...
Цитата: Serge V Iz от 12.09.2023 14:25:28Суммарный располагаемый импульс в этом документе меня смущает.
Возможно, что для LunIR объём баков сделали сильно больше. Может даже на порядок.
А вот тягу на порядок не увеличишь: упрёмся в крайне ограниченную энергетику CubeSat. Так что это в любом случае стотысячные доли от м/с
2. И с такой тягой как-то собирались на окололунную орбиту выходить...
Цитата: SONY от 12.09.2023 14:54:41Цитата: Serge V Iz от 12.09.2023 14:25:28Суммарный располагаемый импульс в этом документе меня смущает.
Возможно, что для LunIR объём баков сделали сильно больше. Может даже на порядок.
А вот тягу на порядок не увеличишь: упрёмся в крайне ограниченную энергетику CubeSat. Так что это в любом случае стотысячные доли от м/с2. И с такой тягой как-то собирались на окололунную орбиту выходить...
Через
20 лет умрет либо ишак, либо падишах, либо сам Ходж некоторое время можно даже переписать фабулу эксперимента. )
Есть, конечно, вероятность, что третье (или четвертое, если Солнце сюда же учесть) тело будет постепенно захвачено и помещено на устойчивую орбиту. Но она не сильно меньше, чем вероятность того, что оно тем же самым способом будет вышвырнуто. )
Цитата: Serge V Iz от 12.09.2023 15:17:28Есть, конечно, вероятность, что третье (или четвертое, если Солнце сюда же учесть) тело будет постепенно захвачено и помещено на устойчивую орбиту. Но она не сильно меньше, чем вероят
Про вероятности можно говорить тогда, когда оно само как-то там летит. А у нас тут чётко просчитанная траектория полёта, которая даёт гарантированный результат.
Ну, точнее, мой вопрос был в том, чтобы эту траекторию просчитали, чтобы получить гарантированный захват при минимальном времени работы двигателя.
Для тех, кто соберется считать. В качестве исходных данных ( чтобы не утонуть в 250 страницах темы про Луну-25).
11.08.2023 2:10:57.189 ДМВ - старт
На 57600 / 23118A - TLE не было вообще, на 57601 / 23118B FREGAT R/B - был только один:
эпоха 10 08 2023 23:10:58.0 UTС
орбита 267 х 281 ( от сферы )
наклонение i =51.7305
ДВУ Ω = 342.6953
аргумент перицентра w = 91.5786
средняя аномалия M = 0 ( на момент эпохи, по этому TLE+SGP4 объект практически над Восточным )
Плоскость орбиты по Ω , i можно определить, с точность порядка градуса ( неточность, потому что не в J2000.0 а в TEME )
11.08.2023 3:30:44ДВМ ( по циклограмме ) - отделение Луны-25
12.08.2023 16:00 ДМВ - первая коррекция ( по сообщению Форума - на расстоянии 230 тыс км от Земли ).
Дальнейший полет для расчетов не нужен. ...
Итог - 16.08.2023 12:03 ДМВ - выход на орбиту Луны. Селеноцентрические элементы орбиты ( по сообщению Форума ) расчетные -
ср. высота 99,466 км
i = 82.087
Ω = 270.53
аргумент широты = 158.925
...и для тех кто соберётся проектировать перелет с малой тягой )
https://keldysh.ru/papers/2008/source/prep2008_81.pdf
Но траектории захвата там долгие, сложные, многовитковые и с переменным вектором тяги. Считать придется с мелким шагом и учётом всех факторов.
А реально лететь -- ещё и с какой-никакой навигацией.