Раньше я был знаком с различными вариантами программного обеспечения для моделирования орбитальной механики. Увы, те времена прошли. Какие есть варианты сегодня, предпочтительно отсортированные по платформам?
Этот и другие вопросы на этом сайте могут выиграть от их использования, чтобы сделать ответы более наглядными.
Обратите внимание , что такие вопросы, как этот, обычно не приветствуются на сайтах SE. В данном случае было сделано исключение ввиду его очевидной полезности и актуальности.
Чтобы добавить в список @Erik:
GMAT — кроссплатформенный, бесплатно. Продукт с открытым исходным кодом НАСА.
FreeFlyer — ПК, коммерческий. Вероятно, самый большой конкурент AGI.
Набор инструментов Java Astrodynamics Toolkit — кроссплатформенный, бесплатный. Еще один продукт с открытым исходным кодом, больше похожий на программную библиотеку, чем на полноценную среду моделирования.
Дизайнер орбит — Android, бесплатно. Даже не близко к тому же примерному уровню этих других пакетов, но может быть забавным способом поиграть с разными орбитами. Редактировать: я на самом деле только что скачал это, и я абсолютно зацепил. Настоятельно рекомендуется. (Предостережение: я фанат таких вещей, и на самом деле это может быть довольно скучным приложением для большинства людей).
Вот варианты, о которых я знаю навскидку:
Помимо этих серьезных программ, упомянутых выше, есть интересная игра с довольно реалистичными орбитальными расчетами, вполне подходящая для обучения детей космосу: космическая программа Kerbal .
Что касается платной версии AGI, то она намного мощнее.
Что касается игр/симуляторов, я наткнулся на Orbiter . Кажется, у него довольно много дополнений и форум . К сожалению, работает только под Windows.
Бессовестная заглушка для Tudat (TU Delft Astrodynamics Toolbox) ...
Если вы ищете что-то, что дает вам большую свободу в настройке и экспериментах с симуляциями, вы можете рассмотреть проект C++ с открытым исходным кодом, над которым я работал последние несколько лет в рамках моей докторской диссертации. Большинство аспирантов в моей группе используют его, поэтому в него вложено много усилий.
Orekit — лучший инструмент космической механики, который я знаю. Разработанная на Java (кроссплатформенная), Orekit представляет собой библиотеку с открытым исходным кодом для космической динамики , основанную на Common Apache Math.
Несмотря на то, что пока у него нет инструмента визуализации, другая модель силы, которую он содержит, делает его действительно хорошим выбором, если вы планируете решить задачу точной динамики полета.
Orekit включает все доступные соглашения IERS для определения фрейма. Он включает орбитальные пропагаторы трех типов:
- аналитические (Кеплера, Экштейна-Хешлера, SDP4/SGP4 с поправками 2006 г.)
- числовые (с настраиваемыми силовыми моделями)
- полуаналитические пропагаторы на основе полуаналитической спутниковой теории Дрейпера (DSST) с настраиваемыми силовыми моделями .
Дополнительную информацию вы найдете по тому же адресу над надстройкой Rugged. Rugged — это инструмент картографирования «датчик-земля», который учитывает цифровые модели рельефа (DEM) при расчете линии прямой видимости. Это бесплатная библиотека промежуточного уровня, написанная на Java и реализованная как дополнение к Orekit.
Вот некоторые из функций, которые предоставляет Orekit:
Время
high accuracy absolute dates
time scales (TAI, UTC, UT1, GPS, TT, TCG, TDB, TCB, GMST, GST ...)
transparent handling of leap seconds
Геометрия
frames hierarchy supporting fixed and time-dependent (or telemetry-dependent) frames
predefined frames (EME2000/J2000, ICRF, GCRF, ITRF93, ITRF97, ITRF2000, ITRF2005, ITRF2008 and intermediate frames, TOD, MOD, GTOD and TOD frames, Veis, topocentric, tnw and qsw local orbital frames, spacecraft body, Moon, Sun, planets, solar system barycenter, Earth-Moon barycenter)
user extensible (used operationally in real time with a set of about 60 frames on several spacecraft)
transparent handling of IERS Earth Orientation Parameters (for both new CIO-based frames following IERS 2010 conventions and old equinox-based frames)
transparent handling of JPL DE 4xx (405, 406 and more recent) and INPOP ephemerides
transforms including kinematic combination effects
composite transforms reduction and caching for efficiency
extensible central body shapes models (with predefined spherical and ellipsoidic shapes)
cartesian and geodesic coordinates, kinematics
Состояние космического корабля
Cartesian, Keplerian (including hyperbolic), circular and equinoctial parameters
Two-Line Elements
transparent conversion between all parameters
automatic binding with frames
attitude state and derivative
Jacobians
mass management
user-defined associated state (for example battery status, or higher order derivatives, or anything else)
Распространение
analytical propagation models:
Kepler
Eckstein-Heschler
SDP4/SGP4 with 2006 corrections
numerical propagation with:
customizable force models:
central attraction
gravity models (automatic reading of ICGEM (new Eigen models), SHM (old Eigen models), EGM and GRGS gravity field files formats, even compressed)
atmospheric drag (DTM2000, Jacchia-Bowman 2006, Harris-Priester and simple exponential models) and Marshall solar Activity Future Estimation
third body attraction (with data for Sun, Moon and all solar systems planets)
radiation pressure with eclipses
solid tides, with or without solid pole tide
ocean tides, with or without ocean pole tide
general relativity
multiple maneuvers
state of the art ODE integrators (adaptive stepsize with error control, continuous output, switching functions, G-stop, step normalization ...)
computation of Jacobians with respect to orbital parameters and selected force models parameters
serialization mechanism to store complete results on persistent storage for later use
semi-analytical propagation based on Draper Semianalytic Satellite Theory (DSST) with customizable force models:
central body with full gravity model
third body attraction
atmospheric drag
radiation pressure with eclipses
tabulated ephemerides:
file based
memory based
integration based
unified interface above analytical/numerical/semianalytical/tabulated propagators for easy switch from coarse analysis to fine simulation with one line change
all propagators can be used in several different modes:
slave mode: propagator is driven by calling application
master mode: propagator drives application callback functions
ephemeris generation mode: all intermediate results are stored during propagation and provided back to the application which can navigate at will through them, effectively using the propagated orbit as if it was an analytical model, even if it really is a numerically propagated one, which is ideal for search and iterative algorithms
handling of discrete events during integration (models changes, G-stop, simple notifications ...)
predefined discrete events:
eclipse (both umbra and penumbra)
ascending and descending node crossing
apogee and perigee crossing
alignment with some body in the orbital plane (with customizable threshold angle)
raising/setting with respect to a ground location (with customizable triggering elevation)
date
altitude crossing
target detection in sensor field of view (circular or dihedral)
complex geographic zones traversal
impulse maneuvers occurrence
possibility of slightly shifting events in time (for example to switch from solar pointing mode to something else a few minutes before eclipse entry and reverting to solar pointing mode a few minutes after eclipse exit)
Отношение
extensible attitude evolution models
predefined laws:
central body related attitude (nadir pointing, center pointing, target pointing, yaw compensation, yaw-steering)
orbit referenced attitudes (LOF aligned, offset on all axes)
space referenced attitudes (inertial, celestial body-pointed, spin-stabilized)
tabulated attitudes
Обработка файла орбиты
loading of SP3-a and SP3-c orbit files
loading of CCSDS orbit data messages
Модели атмосферы
tropospheric delay (modified Saastamoinen)
geomagnetic field (WMM, IGRF)
Настраиваемая загрузка данных
loading from local disk
loading from classpath
loading from network (even through internet proxies)
support for zip archives
support from gzip compressed files
plugin mechanism to delegate loading to user defined database or data access library
Локализовано на нескольких языках
English
French
Galician
German
Greek
Italian
Norwegian
Romanian
Spanish
ПиЭфем :
PyEphem обеспечивает астрономические вычисления научного уровня для языка программирования Python. Учитывая дату и местоположение на поверхности Земли, он может вычислить положение Солнца и Луны, планет и их лун, а также любых астероидов, комет или спутников Земли, элементы орбиты которых может указать пользователь. Предусмотрены дополнительные функции для вычисления углового расстояния между двумя объектами в небе, для определения созвездия, в котором находится объект, и для определения времени восхода, прохождения и захода объекта в определенный день.
Числовые процедуры, лежащие в основе PyEphem, взяты из замечательного астрономического приложения XEphem , автор которого, Элвуд Дауни, любезно разрешил нам использовать их в качестве основы для PyEphem.
Этот скрипт распечатывает расположение спутников Юпитера вокруг Юпитера в течение следующих нескольких дней.
import ephem
moons = ((ephem.Io(), 'i'),
(ephem.Europa(), 'e'),
(ephem.Ganymede(), 'g'),
(ephem.Callisto(), 'c'))
# How to place discrete characters on a line that actually represents
# the real numbers -maxradii to +maxradii.
linelen = 65
maxradii = 30.
def put(line, character, radii):
if abs(radii) > maxradii:
return
offset = radii / maxradii * (linelen - 1) / 2
i = int(linelen / 2 + offset)
line[i] = character
interval = ephem.hour * 3
now = ephem.now()
now -= now % interval
t = now
while t < now + 2:
line = [' '] * linelen
put(line, 'J', 0)
for moon, character in moons:
moon.compute(t)
put(line, character, moon.x)
print str(ephem.date(t))[5:], ''.join(line).rstrip()
t += interval
print 'East is to the right;',
print ', '.join([ '%s = %s' % (c, m.name) for m, c in moons ])
3/2 12:00:00 g e J i c
3/2 15:00:00 ge J i c
3/2 18:00:00 g e J i c
3/2 21:00:00 g e J i c
3/3 00:00:00 g e J i c
3/3 03:00:00 g e Ji c
3/3 06:00:00 g e i J c
3/3 09:00:00 g e i J c
3/3 12:00:00 g e i J c
3/3 15:00:00 g ie J c
3/3 18:00:00 g i e J c
3/3 21:00:00 g i e J c
3/4 00:00:00 g i e c
3/4 03:00:00 g Jie c
3/4 06:00:00 g J ie c
3/4 09:00:00 g J ie c
East is to the right; i = Io, e = Europa, g = Ganymede, c = Callisto
Вот еще несколько вещей, в зависимости от того, что вы ищете...
Хотя это и не симулятор орбитальной механики, я нашел этот браузер траекторий от НАСА интересным.
Больше похоже на игру приложение запуска LEO и симулятор запуска .
Есть 3D-симулятор JPL и Симулятор объектов, сближающихся с Землей (оба веб-интерфейсы). Также есть симулятор JPL SSD и вот несколько кратких инструкций по началу работы . Вот так:
Для систем *nix (linux, unix) также есть набор инструментов FERMI с обзором здесь .
Популярная и бесплатная игра - орбитальный симулятор в 3D, упомянутый охотником на оленей.
iTraject может быть очень полезен для изучения орбитальной механики. Его численный решатель делает его очень гибким. Он также использует очень точные астрономические алгоритмы для астрономических положений. Фактически вы можете установить начальную дату, с помощью аналитических расчетов предсказать, когда ваш автомобиль окажется в SOI Луны, и совершить облет Луны. Кроме того, вы можете получить параметры наземной станции, эпохи и кеплеровских элементов с текущим временем.
вот видео: http://www.youtube.com/watch?v=msCEdOq5WhI
Вы можете попробовать Stellarium для определения местоположения большинства небесных объектов из земного кадра. Насколько я знаю, он очень хорошо работает в Linux, а также доступен для OS X и Windows.
Эрик Стоункинг / Центр космических полетов имени Годдарда НАСА делится «42» как (в основном безвредным) моделированием динамики космического корабля.
Он кроссплатформенный, имеет различные возможности и в целом является отличным инструментом.
Посмотрите PIGI от Sabre Astronautics. https://saberastro.com/
На сегодняшний день лучшая графика и отличная простота использования, потрясающие для визуализации орбит на всех планетах.
Их обычная лицензия стоит всего 15 долларов в месяц, так что на нее стоит обратить внимание. ПК и Mac.
Орбитальная механика с MATLAB
https://www.mathworks.com/matlabcentral/fileexchange/authors/my_fileexchange
Джерард Пакетт
MadTux
пользователь7073
ледяной человек