Задача Кеплера Движение космического аппарата Начальные

advertisement
Добрый день!
Вашему вниманию представляется работа
по теме «Численное решение задачи Кеплера в пакете MathCAD».
Цель работы заключалась в освоении численных методов решения дифференциальных
уравнений на примере задачи Кеплера.
Кафедра «Автопласт»
Автопласт» при ФГБОУ ВПО «ГосуниверситетГосуниверситет-УНПК»
УНПК»
Научно-образовательная лаборатория «Управление в технических системах»
МБОУ СОШ № 29 им. Д.Н.Мельникова
Подготовила ученица 10 класса МБОУ СОШ № 29 О.Ю. Новикова
Научный руководитель: к.т.н., доцент Т. В. Фёдоров
Учитель физики МБОУ СОШ № 29 Т.А. Игнатова
Орел, 2015
1
Задача Кеплера
В начале XVII века на основе многолетних наблюдений немецким астрономом
Иоганном Кеплером были получены три закона о движения планет
относительно Солнца полностью и с превосходной точностью объяснившие
видимую неравномерность их движений.
Уравне́ние Ке́плера описывает
движение тела по эллиптической
орбите в задаче двух тел. В
классической механике, задача двух
тел состоит в том, чтобы определить
движение двух точечных частиц,
которые взаимодействуют только друг
с другом. Распространённые примеры
включают спутник, обращающийся
вокруг планеты, планета,
обращающаяся вокруг звезды, две
звезды, обращающиеся вокруг друг
друга (двойная звезда), и классический
электрон, движущийся вокруг атомного
ядра.
Движение космического
аппарата
Это система из дифференциальных уравнений второго порядка, где r –
радиус-вектор расстояния от притягивающего центра до КА; m1 –
масса КА, m2 – масса притягивающего тела; a – вектор реактивного
ускорения; k – гравитационная постоянная; x, y, z – проекции вектора r
на декартовы координаты.
m1
d 2r
mm r
= −k 1 32 + m1a
dt 2
r
r = x2 + y 2 + z 2
d 2x
x
 2 = a x − 3 После записи в
декартовой
r
 dt
системе
 2
координат и
y
d y
перехода к
 2 = ay − 3
безразмерном
r
 dt
у виду
 2
d z = a − z
z
3
 dt 2
r

y
r
x
z
Начальные условия и
уравнения
dv dt = F (v, t )
y
В начале XVII века на основе многолетних
наблюдений немецким астрономом Иоганном Кеплером были получены три закона о движения
планет относительно Солнца.
Уравнение полученные Ке́плером описывает движение тела по эллиптической орбите. Результаты его решения применимы:
• к спутнику обращающемуся вокруг планеты,
•
планете обращающейся вокруг звезды,
•
двум звездам обращающиеся вокруг друг
друга (двойная звезда),
• классическому электрону движущемуся вокруг атомного ядра и многим другим случаям.
Рассмотрим пример с космическим аппаратом.
Его поведение на орбите хорошо описывается дифференциальным уравнением в полярных
координатах представленным на слайде 3.
Перейдем в более привычную прямоугольную декартову систему координат, а также, безразмерный вид.
В итоге получаем следующую систему
дифференциальных уравнений второго порядка по
трем координатам x, y и z.
При решении системы дифференциальных
уравнений будем считать, что в начальный
момент времени тело находилось в точке с
радиус-вектором r=(1,1,1), скорость тела
была направлена вертикально вверх
v=(0.4;-0.4;0).
Но использовать конкретные числовые
значения R, T, M для проверки законов
Кеплера не требуется. Для того чтобы это
показать, найдем безразмерную скорость
тела, движущегося в гравитационном поле z
по окружности. Получаем: v=(0,2π)
Следовательно, для получения орбит,
отличных от круговых, достаточно задавать
значения начальной скорости, отличные от
2π.
v=(0.4;-0.4;0)
r=(1;1;1)
x
Для получения однозначного решения необходимо задаться начальным значением координат и скорости тела.
Будем считать, что в начальный момент
времени тело находилось в точке с радиусвектором r = (1;1;1), скорость тела была направлена вниз v = (0.4;-0.4;0).
Конечные разности
y = v(t )
dv dt = F (v, t )
C
y
Vk+1
D
B
разность назад - участок DA (метод Эйлера)
A
vk +1 = vk + ∆t ⋅ F (vk +1 , t k +1 )
vk
Vk-1
разность вперед - участок AС (метод Гира)
∆t
∆t
tk-1
tk
vk +1 = vk + ∆t ⋅ F (vk , t k )
t
tk+1
vk +1 = vk −1 + 2∆t ⋅ F (vk , t k )
центральная разность - участок DС
центральная разность для
2
d v dt = F (v, t ) vk +1 = 2vk + ∆t ⋅ F (vk , t k ) − vk −1
2
2
Рунге-Кутта четвертого порядка
K1 = F ( v k , t k )
K 2 = F (vk + 0.5K1 , t k + 0.5∆t )
vk +1 = vk + ∆t (K1 + 2 K 2 + 2 K 3 + K 4 ) 6
K 3 = F (vk + 0.5 K 2 , t k + 0.5∆t )
K 4 = F ( v k + K 3 , t k + ∆t )
Геометрическая интерпретация
метода Рунге-Кутта
Рунге-Кутта четвертого порядка
vk +1 = vk + ∆t (K1 + 2 K 2 + 2 K 3 + K 4 ) 6
Нами были рассмотрены несколько конечноразностных замен производной dv/dt:
• разность назад – явный метод Эйлера- участок DA;
• разность вперед - неявный метод Эйлера
или, как его часто называют, метод Гира - участок
AС;
• центральная разность - участок DС
• центральная разность для дифференциаль2
2
ного уравнения второго порядка d v dt = F (v, t )
• Рунге-Кутта четвертого порядка для дифференциального уравнения первого порядка
Метод Рунге-Кутта четвертого порядка для
дифференциального уравнения первого порядка
использует 1/6 от суммы четырех вычисленных
промежуточных значений между точками разбиения.
K 4 = F ( v k + K 3 , t k + ∆t )
K 3 = F (vk + 0.5K 2 , t k + 0.5∆t )
K1 = F ( v k , t k )
K 2 = F (vk + 0.5K1 , t k + 0.5∆t )
Для использования метода Рунге-Кутта мы
преобразовали систему дифференциальных уравнений второго порядка в нормальную форму Коши, т.е. систему уравнений первого порядка путем
добавления переменных dx dt = vx , dy dt = v y и
Реализация решения
по методу РунгеРунге-Кутта
Начальные данные
dz dt = vz .
На плакате представлены результаты решения функцией Odesolve с выбранной опцией
rkfixed при начальных значениях координат r =
(1;1;1), скорости тела v = (0.4;-0.4;0), k=1 и a=0.
Система
уравнений
Вызов функции
численного решения
7
Для реализации разностей вперед, назад и
центральной в MathCAD были сконструированы
специальные функции. Две из них показаны на
слайде 8:
• функция Euler использует явный метод Эйлера (разность назад) и работает с системой в
нормальной форме Коши;
• функция Center использует замену для дифференциального уравнения второго порядка, но
для ее работы необходимо дополнительно вычислить значения в точке с индексом 1.
Реализация в MathCAD
Разность назад и центральная разность
Eler :=
X0 ← x00
Center :=
X0 ← x00
Vx0 ← x01
Y0 ← x02
Y0 ← x02
Z0 ← x04
Vy0 ← x03

Vz0 ← x05
for i ∈ 1 .. n
ti ← ∆t ⋅i
Xi ← ∆t ⋅ Vxi−1 + Xi−1

Vxi ← ∆t ⋅  −k ⋅

Xi− 1

 + Vxi−1
r ( Xi−1 , Yi−1 , Zi−1) 3 
Yi ← ∆t ⋅ Vyi−1 + Yi−1

Vyi ← ∆t ⋅  −k ⋅


 + Vyi−1
r( Xi−1 , Yi−1 , Zi− 1) 3 
Yi−1
Zi ← ∆t ⋅ Vzi−1 + Zi−1

Vzi ← ∆t ⋅  −k ⋅

 t 
 
 X
 Vx 
 Y
 
 Vy 
 Z 
 
 Vz 

−k ⋅ ∆ t 2
+ 1  ⋅ X0 + x01⋅ ∆t
3
 r ( X0 , Y0 , Z0)

 −k ⋅ ∆ t 2

Y1 ← 
+ 1  ⋅ Y0 + x03⋅ ∆t
3
 r ( X0 , Y0 , Z0)

 −k ⋅ ∆t 2

Z1 ← 
+ 1  ⋅ Z0 + x05 ⋅∆t
3
 r ( X0 , Y0 , Z0)

X1 ← 
Z0 ← x04
Zi−1

 + Vzi−1
r ( Xi−1 , Yi−1 , Zi−1) 3 
for i ∈ 2 .. n
ti ← ∆t ⋅i


−k ⋅∆t 2
+ 2  ⋅ Xi−1 − Xi−2
3
 r ( Xi−1 , Yi−1 , Zi−1)



−k ⋅∆t 2
Yi ← 
+ 2  ⋅ Yi−1 − Yi−2
3
 r ( Xi−1 , Yi−1 , Zi−1)



−k ⋅ ∆ t 2
Zi ← 
+ 2  ⋅ Zi−1 − Zi−2
3
 r ( Xi−1 , Yi−1 , Zi−1)

 t
 
X
Y
 
Z
Xi ← 
8
Сравнение результатов для разностей
вперед, назад и центральной
Разность вперед
Метод Гира
Разность назад
Метод Эйлера
Разность вперед
Метод Гира
Разность назад
Метод Эйлера
Результаты работы этих функций показаны
в виде траекторий на слайде 9 для случая 1 000 точек разбиения на оборот и для случая 10 000 точек.
Как видно по мере увеличения количества
точек разбиения погрешность для разностей вперед и назад уменьшается.
n=10 000
n=1 000
Центральная
разность
Центральная
разность
9
Выводы
В ходе решения нами было обнаружено :
разность вперед и разность назад дают
существенную ошибку (при разбиении на 1000
точек),
центральная и Рунге-Кутта дают практически
точный результат.
Полученная в программе MathCAD модель
позволяет улучшить восприятие материала по
физике, астрономии и математике.
Созданная модель позволяет наглядно увидеть
влияние параметров: m1 – массы КА, m2 – массы
притягивающего тела; a – вектора реактивного
ускорения; k – гравитационной постоянной, и
начальных координат тела и его скорости на
описываемую им траекторию
10
11
В ходе работы была достигнута поставленная цель - освоены приемы использования численных методов решения дифференциальных уравнений в программе MathCAD на примере задачи Кеплера
Кроме того, нами было обнаружено, что
разность вперед и разность назад дают существенную ошибку (при разбиении на 1000 точек), центральная и Рунге-Кутта дают практически точный
результат.
Полученная в программе MathCAD модель
позволяет улучшить восприятие материала по физике, астрономии и математике.
Созданная модель позволяет наглядно увидеть влияние параметров: m1 – массы КА, m2 –
массы притягивающего тела; a – вектора реактивного ускорения; k – гравитационной постоянной, и
начальных координат тела и его скорости на описываемую им траекторию
Благодарю за внимание!
Download