Насколько значительным является выбор/ошибка орбитального пропагатора при моделировании спутникового покрытия в течение года, и какой из них является наиболее подходящим?

В настоящее время я рассматриваю проект по моделированию покрытия Земли одним или несколькими спутниками в течение года. Суть в том, чтобы сравнить, как разные орбиты приводят к разной степени охвата как поверхности Земли, так и объектов, размещенных на ней.

Код для этого будет написан с использованием Golang в попытке повысить эффективность/скорость вычислений по сравнению с другими языками, такими как Python. Поскольку для Голанга не так много орбитальных пропагаторов, это означало бы написание моего собственного алгоритма распространения по орбите (как кинетического, так и кинематического) или использование одного из немногих доступных, таких как пакет на основе SGP4 go-satellite. Также будет задействована многопроцессорность.

Таким образом, я пытаюсь понять, какая методология распространения по орбите будет полезна для такого моделирования. Учитывая, что симуляция будет симулировать целый год, ошибки, скорее всего, будут накапливаться для любого метода размножения, который я выберу. Однако Fidelity должен быть высоким для краткосрочного анализа и приемлемым для долгосрочного. Меня также интересует, какие требования к ресурсам ЦП необходимы для различных моделей/методов/алгоритмов распространения - в идеале мне не требуется суперкомпьютерный кластер.

Таким образом, мой вопрос, как указано в заголовке: насколько важен выбор, который я делаю в модели орбитального распространения для такого рода моделирования, какова будет действительно важность/величина ошибки, и какой метод распространения лучше всего подходит для такого рода моделирования? вещь?

Ответы (2)

Я не эксперт, и это не экспертный ответ, но эти пункты могут быть полезны.

Даже не думайте об использовании SGP4, согласно моим комментариям ниже этого вопроса и Википедии , это умное приближение примерно 1980-х годов для получения приблизительных векторов состояния в течение нескольких недель любой данной эпохи TLE. Это аппроксиматор, основанный на эволюции орбитальных элементов, а не настоящий пропагатор.

Орбитальное интегрирование за год численно довольно просто. Это вовсе не жесткая проблема, большинство вещей медленно меняются, если вы не используете гравитационную модель действительно высокого порядка. Вы могли бы даже реализовать простой RK45 с переменным размером шага, некоторые RK более высокого порядка и несколько готовых числовых интеграторов, доступных в Golang, и сравнить их, и я думаю, вы обнаружите, что несколько минут на ноутбуке - это все, что вам нужно, чтобы проработать год. распространения по орбите, если только у вас нет сложной физической модели для всех малых ускорений, кроме центрального поля Земли.

учитывая, что производительность ноутбуков составляет гигафлопс, а скорость Golang сопоставима с C; например, 10 000 флопов на шаг с размером шага 10 секунд, год распространения потребует только 30 секунд при 1 гигафлоп. Однако гигафлоп на ноутбук может быть оптимистичным, поскольку он включает в себя параллельные вычисления (например, массивы), и, чтобы воспользоваться этим, вы можете захотеть запустить несколько случаев параллельно, если вам действительно не хватает времени.

Но обязательно сравните свою технику численного интегрирования с симплектическим интегратором . Подробнее об этом см. Все замечательные ответы на вопрос Что означает «симплектический» в отношении числовых интеграторов, и использует ли их SciPy odeint?

Если вы хотите включить общие релятивистские эффекты, которые малы, но должны быть проверены, см. ответы на Как рассчитать планеты и луны за пределами гравитационной силы Ньютона?

Настоящая проблема заключается в модели для всех этих меньших ускорений.

Для более подробного обсуждения этих вопросов, а также большого обсуждения разновидностей числовых интеграторов и того, как вы можете их реализовать, я с энтузиазмом рекомендую всем взглянуть на Satellite Orbits; «Модели, методы, приложения» Оливера Монтенбрука и Эберхарда Гилла, Springer, 2000, которые также можно найти в книгах Google и которые обсуждаются здесь и здесь . Также см. ответы на вопрос При расчете будущей орбиты искусственного спутника Земли имеет значение или не имеет значения гравитация Луны?

  1. гравитационная модель; насколько шероховатое гравитационное поле вы собираетесь использовать? Просто J2, или несколько членов низкого порядка, или больший набор сферических гармоник для геопотенциала?
  2. Перетащите модель; атмосферное сопротивление действительно трудно точно смоделировать. Вы можете получить некоторые простые коэффициенты сопротивления из TLE объектов аналогичной формы, но помните, что активность Солнца нагревает атмосферу, повышая плотность на высотах НОО, и поэтому сопротивление принципиально непредсказуемо . Независимо от того, насколько хороша ваша модель, вам придется запустить несколько случаев с различными моделями солнечной активности, чтобы увидеть, насколько они изменяют высоту орбиты и, следовательно, фазу и, следовательно, отслеживание земли.
  3. Солнце и Луна: их гравитационные эффекты будут небольшими, и вы, вероятно, можете добавить простые модели для них, включив их движение в свою симуляцию.
  4. Давление фотонов солнечного света: оно будет небольшим, но не исчезнет.

Я думаю, что другие могут публиковать ответы или комментарии, которые рекомендуют существующее программное обеспечение, которое вы можете запустить, чтобы просто почувствовать проблему, а также проверить свои расчеты.

Размножение в течение всего года чрезвычайно сложно сделать правильно. Есть способы сделать это, но вы не должны пытаться переопределить или перереализовать их самостоятельно. Однако прежде чем я их опишу, у меня есть другое предложение: вообще не распространять .

Если вы проектируете группировку спутников, которые должны выполнять миссию, то операторы этих спутников будут совершать маневры по поддержанию станции, расходуя топливо для поддержания назначенных им орбит. Попытка смоделировать эти маневры в дополнение к возмущающим силам была бы еще сложнее, но вам не нужно этого делать, потому что весь смысл выполнения маневров состоит в том, чтобы нейтрализовать влияние сил.

Например, из-за бугристости Земли спутники на геостационарных орбитах постепенно дрейфуют на восток или на запад в подточечной долготе, но никто не допускает, чтобы это складывалось в течение целого года, если только спутник не умер. Чтобы оставаться в назначенных им ячейках, все активные, так называемые стационарные спутники регулярно (примерно раз в неделю) выполняют короткие включения (достаточно всего нескольких секунд за раз), чтобы исправить этот дрейф и уйти от края «спуска». их ящика обратно к краю «в гору», а затем снова начать скользить вниз, пока не придет время для следующего горения обратно вверх по потенциальному склону.

Если вы пытаетесь подсчитать, как это выглядит для года, то ваш самый точный ответ будет получен, если выясните, сколько дней дрейфа у вас есть между прожигами, и просто воспроизведете эти несколько дней движения достаточное количество раз, чтобы заполнить отчет. год. Подобные трюки полезны для низкоорбитальных спутников: найдите, сколько дней требуется, чтобы почти повторить наземный трек , и смоделируйте только это количество дней. Это может быть не целое число, и вряд ли оно будет равномерно делить 365, поэтому на самом деле вы получите лучший ответ для охвата, если смоделируете только один период повторения, а не ровно год.

Выполнение этого с высокой точностью требует некоторого распространения, но не в течение года, чего вы должны усердно работать, чтобы избежать. Однако во многих случаях даже это не является необходимым. Для базового проектирования созвездия главное выяснить наклоны и высоты плоскостей орбиты и количество спутников, которые нужно поместить в каждую, и это можно сделать достаточно хорошо, просто исходя из номинальных орбит, как в круговой схеме Уокера .

Если, однако, вы застряли, имитируя объекты, которые активно не контролируются (независимо от того, отслеживаете ли вы обломки или у вас есть клиент, который по какой-то причине готов платить за ожоги с востока на запад, но не за ожоги с севера на юг для контроля наклона) , то вы должны сделать то, о чем вы на самом деле просили. В этом случае основная идея состоит в том, чтобы избегать положения и скорости. Они меняются слишком быстро, поэтому вашему интегратору потребуется очень маленький размер шага. Это заставит его сделать так много шагов, что это займет слишком много времени, а также даст очень неправильный ответ. Вам необходимо облегчить жизнь вашего интегратора, позволив ему выполнять гораздо меньше и, следовательно, гораздо больше шагов. Для сохранения точности нужно переключаться на другие координаты, которые меняются гораздо медленнее.

Это в значительной степени то, чем уже являются орбитальные элементы Кеплера. Причина, по которой мы всегда обращаемся к Кеплеру, заключается в том, что даже при включении всех мыслимых возмущений большинство орбит не сильно отличаются от эллиптических, по крайней мере, какое-то время. Я прошу прощения за то, что это становится ответом только для ссылок, но я не пишу весь учебник по орбитальной механике. Даже если бы я был, я бы все равно не стал пытаться впихнуть все это в один пост. :) В какой-то момент вам просто нужно зайти в библиотеку и прочитать старые выпуски. Чтобы продолжить, посмотрите на планетарные уравнения Лагранжа, показывающие, как наклонение, эксцентриситет и т. Д. Изменяются во времени, как описано здесь , здесь и здесь .

Как только вы зашли так далеко, остановитесь, чтобы задаться вопросом, может ли быть какой-то другой набор координат, в котором отклонение от долговременного периодического движения еще легче анализировать. Ответ положительный, и на самом деле существует довольно много разных видов, но их становится все труднее даже описать, не говоря уже о понимании, выводе или реализации. Теперь взгляните на переменные Делоне и средние элементы Брауэра и Козаи , и попробуйте проследить путь, который вел оттуда к SGP4, который мы все так любим ненавидеть, через Систему определения траекторий Годдарда ( здесь , здесь и здесь ) к Полуаналитическая спутниковая теория Дрейпера ( здесь и здесь ), в том числеразработки опубликованы всего две недели назад.

Наконец, обратите внимание, что SST, который разрабатывался десятилетиями и публиковался в десятках журнальных статей и докторских диссертаций, теперь является частью набора инструментов орбиты с открытым исходным кодом под названием OreKit . Загрузите его и попробуйте обернуть библиотеку Java, чтобы использовать их уже протестированный и проверенный код, вместо того, чтобы пытаться вводить буквально сотни страниц уравнений и каким-то образом находить достаточно времени или помощников для их адекватного тестирования.

Попался - отличный ответ