Добрый день! Вашему вниманию представляется работа по теме «Численное решение задачи Кеплера в пакете 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 – гравитационной постоянной, и начальных координат тела и его скорости на описываемую им траекторию Благодарю за внимание!