OrbitalModel
Версия 1.0
Инструкция по использованию.. 1
Приложение А – Описание колонок 5
Модель служит для моделирования возмущенного орбитального движения тела в центральном поле тяготения. Использован метод моделирования, эквивалентный методу оскулирующих элементов.
Модель реализована в Microsoft Excel.
Спредшит состоит из нескольких страниц:
Main - Главная страница. Содержит исходные данные, программу тяги/возмущающих сил и основные результаты
Kepler - Симуляция состояния невозмущенной системы. Каждая строчка описывает поведение невозмущенной системы в какой-то период времени
Control - Расчет возмущающих сил (в частности, тяги). Каждая строчка расчитывает значение возмущающей силы для какого-то периода времени
Astronomy - Приближенное положение астрономических тел (Солнца, Луны, и т.д.)
Используется инерциальная (абсолютная геоцентрическая экваториальная) система координат. Центральное тело (Земля) расположено в начале координат. Плоскость XY совпадает с плоскостью экватора, ось Z проходит через северный полюса, a oсь Х направлена в точку весеннего равноденствия.
Секция INITIAL описывает начальное состояние тела в стартовой системе координат:
t - дата и время
- соответствующий дате и времени угол (в градусах) между гринвичским меридианом и точкой весеннего равноденствия (вычисляется автоматически)
r - радиус (расстояние до центра Земли)
Vt - горизонтальная скорость (по отношению к местному горизонту)
Vr - вертикальная скорость (по отношению к местному горизонту)
j - географическая широта (в градусах)
l - географическая долгота (в градусах)
a - азимут старта
m - начальная масса тела
Секция COORD содержит пересчет данных из секции INITIAL в абсолютную систему координат. Данные в секции COORD можно задать и напрямую, но будьте осторожны: при этом формулы пересчета могут быть утеряны.
Секция SIM содержит параметры симуляции
Dq - угловой шаг симуляции (в градусах). Величина Dq соответствует приращению эксцентрической аномалии Q за шаг. Обратите внимание, что шаг симуляции делается не по времени, а по углу. Причины этого указаны в разделе «Моделирование орбитального движения». Там же дано определение эксцентрической аномалии Q.
Шаг симуляции также может меняться (для различных участков траектории) с помощью программы управления (см. ниже).
Секция CONST содержит некоторые константы:
G - универсальная гравитационная постоянная
Параметры центрального тела (Земли):
g - ускорение свободного падения (полярное)
R - радиус
M - масса
m - гравитационная постоянная тела (m=GM)
T - период суточного вращения (в секундах)
ecl - угол наклонения оси к эклиптике (в радианах)
equinox - момент прохождения гринвичского меридиана через точку весеннего равноденствия
Секция ORBITS содержит астрономические данные, а также параметры некоторых характерных круговых орбит:
LEO - низкая (200 км) околоземная орбита (Low Earth Orbit)
GSO - геостационарная орбита
LUN - круговая орбита, приблизительно соответствующая орбите Луны
а - большая полуось орбиты
T - период орбиты (в секундах)
V - скорость круговой орбиты
Для Солнца и Луны приведены:
а - большая полуось орбиты
T - период орбиты (в секундах)
e - эксцентриситет орбиты
m - гравитационная постоянная тела
equinox - момент прохождения телом точки весеннего равноденствия
С помощью программы управления вся траектория разбивается на несколько участков. Эти участки определяются через совокупность т.н. правил. Каждое правило содержит:
Все части, за исключением первой (условия применения), могут быть пустыми.
На каждом шаге модель проверяет истинность условий для каждого правила. Первое (по порядку) правило, для которого условие истинно, выполняется. Таким образом, если участки, описываемые правилами, перекрываются, то правило с меньшим номером имеет приоритет.
Если ни одно из правил не выполняется, то тело движется по пассивной (кеплеровской) траектории с шагом по умолчанию.
Условия определяют разбиение траектории на участки. Описание условий размещено в секции RULES страницы Main.
Описание условия состоит из символьной переменной, знака сравнения (> или <) и значения. Символьная переменная должна соответствовать названию колонки на странице Kepler (например: х, Vx, r, u, rmax, и т.д.).
Часто для определения положения тела относительно перигея/апогея удобно использовать параметр расстояния P = (r-a)/ae. Для элиптической орбиты P изменяется от -1 до 1 (-1 соответствует перигею, а 1 - апогею), а для гиперболической P ≤ -1 (-1 соответствует перигею).
Также, обратите внимание, что сравнение символа с названием колонки не принимает во внимание заглавные буквы, шрифт и форматирование.
Знак “<” также включает в себя равенство, т.е. соответствует “≤”.
Несколько условий можно объединять в логическое выражение операторами and или or. В таком случае, эти несколько условий считаются принадлежащими одному правилу. Порядок исполнения операторов в группе – снизу вверх.
Условие, за которым не следует оператор, считается последним в группе. Если правило содержит несколько условий, то относящиеся к нему данные (значения шага и силы) размещаются в строчке, соответствующей первому условию в группе.
Пустое или некорректное условие считается ложным. Таким образом, пустые строчки игнорируются.
На различных участках траектории может оказаться полезным использовать различный шаг симуляции. Так, например, если сила, действующая на тело, меняет параметры орбиты достаточно быстро, использование большого шага приводит к значительной погрешности. В то же время, совершенно незачем использовать маленький шаг на длинных пасивных участках (т.к. невозмущенное движение моделируется точно).
Задать угловой шаг Dq (в градусах) для данного участка траектории можно в колонке STEP. Если угловой шаг для данного участка не задан (или равен нулю), используется значение по умолчанию из секции SIM (см. выше).
Величина силы, действующей на данном участке управления задается в колонке F секции THRUST. Также, в этой секции задаются:
- dm/dt - расход массы (если сила создается реактиивным двигателем)
- need sun - требуется ли освещенность солнцем для создания силы
Освещенность солнцем требуется для создания силы, если, например:
- двигатель питается от солнечных батарей (ЭРД)
- двигатель использует энергию Солнца напрямую (SOTV)
- сила создается давлением солнечных лучей (солнечный парус)
и т.д.
Направление силы на данном участке определяется в секции DIR. Оно определяется как линейная комбинация нескольких известных векторов (переменных или постоянных) – базиса. Такими векторами могут быть: скорость, радиус-вектор, нормаль к орбите, нормаль к плоскости орбиты (бинормаль) и т.д. Линейная комбинация строится из нормированных векторов базиса. Получившийся вектор затем нормируется к единице.
Символы векторов размещены в верхней строчке секции DIR. В основной части секции размещены коэффициенты линейной комбинации.
Модель не ограничивает, какие именно и сколько векторов может входить в базис – пользователь может изменить/расширить базис. Взаимная ортогональность векторов базиса также не требуется (так, радиус-вектор и скорость, вообще говоря, не ортогональны). Однако накладываются некоторые ограничения:
Секция RESULTS содержит значения параметров системы в некоторые заданные моменты времени:
by orbit после заданного числа витков
by time в заданное время
by rule в первый момент когда данное условия управления становится истинным
-escape- в момент достижения второй космической скорости (либо в конце симуляции, если отрыв не достигается)
Секция содержит следующие параметры:
N - число полных витков
t(s) - время (в секундах)
t(h) - время (в часах)
Положение тела:
r - радиус (расстояние до центра Земли)
V - скорость
Параметры орбиты:
a - большая полуось орбиты
rmin - радиус в перигее
rmax - радиус в апогее
ecc - эксцентриситет орбиты
T(h) - период орбиты (в часах)
i - экваториальное наклонение
W - долгота восходящего узла
u - истинная аномалия (угловое расстояние до перигея)
w - аргумент перигея
Прочее:
m - текущая масса
DU - полное приращение характеристической скорости
Слева от секции RESULTS также расположены два графика:
Состояние системы:
time - время (с секундах и часах)
N - виток орбиты
Dt - приращение времени
Dq - приращение угла
(x,y,z) - текущие координаты
r - радиус
j - широта (экваториальная)
l - долгота (относительно точки весеннего раавноденствия)
(Vx,Vy,Vz),V - текущая скорость
DU - характеристическая скорость
Интегралы движения:
H - полная энергия (удельная)
(Mx,My,Mz),M - момент импульса (удельный)
Параметры орбиты:
a - большая полуось
ecc - эксцентриситет
rmax - радиус апогея
rmin - радиус перигея
T - период (в секундах)
i - наклонение
W - долгота восходящего узла
w - аргумент перигея
Расчет оскулирующей орбиты:
sign - знак вертикальной скорости (полуорбиты)<
P - параметр расстояния P = (r-a)/ae
Q - эксцентрическая аномалия
для эллиптических орбит: cos(Q) = -P
для гиперболических орбит: ch(Q) = -P
u - истинная аномалия (угловое расстояние доо перигея)
sign1,P1,Q1,u1 - соответствующие параметры после шага Dq
Орбитальное время оскулирующей орбиты:
t0 - текущее орбитальное время (после прохожддения перигея)
t1
- орбитальное время после шага
Dt - приращение времени, соответствующее шагуу Dq
Состояние системы для оскулирующей орбиты:
(x1,y1,z1),r1 - координаты после шага Dq
Vt1 - горизонтальная скорость после шага Dj
Vn1 - вертикальная скорость после шага >Dj
(Vx1,Vy1,Vz1) - скорость после шага Dj
Rule - текущее правило управления
Dq - шаг по углу (соответствующий текущему упправлению)
m - текущая масса
-sun- - освещенность Солнцем
F - значение возмущающей силы
(fx,fy,fz) - направление возмущающей силы
DU - характеристическая скорость
CONDITIONS - истинность индивидуальных условий управления
LOGIC - истинность условий с учетом логических ооператоров
Earth:
l - угол между гринвичским меридианом и точкой весеннего равноденствия
Sun, Moon:
l - угол между направлением на тело и точкой весеннего равноденствия
(ex,ey,ez) - вектор направления на тело
r - расстояние до тела
-isVisible- - условие прямой видимости тела (из-за Земли)
1. Спредшит пересчитывается очень медленно.
В версиях Excel 2000 и ниже существует проблема так называемых forward cross-worksheet references. В спредшитах с большим количеством ссылок между страницами эта проблема может привести к существенному замедлению пересчета. Если эта проблема возникает, рекомендуется использовать специальную версию: OrbitalModel 2000.
2. Симуляция заканчивается на 1000-м шаге. Как увеличить число шагов ?
Все строчки симуляции (начиная со второй) одинаковы (с точностью до относительных ссылок). Поэтому для того, чтобы увеличить время симуляции, достаточно скопировать последнюю строчку вниз настолько, насколько необходимо (в Excel'е можно копировать в несколько строк одновременно). Это необходимо сделать для всех трех страниц Kepler, Control и Astronomy.
Кстати, на странице Control не пытайтесь копировать строчки поверх существующих строк (Excel не позволит этого сделать - там используются вектора) - копируйте в пустые строчки.
Кроме того, не забудьте соответственно увеличить область данных в графиках на странице Main.
3. Программа допускает только 8 условий/правил. Как увеличить их число ?
Для пользователя, владеющего Excel это достаточно просто. Для того, чтобы увеличить число условий, нужно:
4. Как учитываются вырожденные случаи (круговая и параболическая орбиты, нулевое наклонение, etc.) ?
- Круговая орбита
В случае круговой орбиты теряют смысл понятия перигея и апогея, а также связанные с ними параметры: истинная аномалия u и аргумент перигея w. Однако, это не создает проблем: прочие элементы орбиты и положение тела вычисляются точно.
- Параболическая орбита
Спредшит не учитывает отдельно случая параболической орбиты. Полная энергия тела на такой орбите равна нулю и возможно появление ошибки деления на ноль. Однако, возникновение в точности параболической орбиты в результате численной симуляции маловероятно (если не стремиться к этому специально). Если же это все-таки произошло, то даже очень небольшая вариация параметров (около 1 мм/с по скорости) решит проблему.
- Нулевое наклонение
В этом случае теряют смысл такие параметры, как долгота восходящего узла W и аргумент перигея w. Помимо этого, нулевое наклонение не создает никаких проблем для вычислений.