Уравнения ОТО в JPL (NASA)

Разговоры на отвлеченные темы

Модераторы: morozov, mike@in-russia

Ответить
Аватара пользователя
sertom
Сообщения: 197
Зарегистрирован: Чт май 08, 2014 6:48
Откуда: Волгоград
Контактная информация:

Уравнения ОТО в JPL (NASA)

Номер сообщения:#1   sertom » Сб дек 08, 2018 10:43

Я в своих программах Solsys7 и Galiley1 использовал уравнения ОТО, которые получаются из лагранжиана (106,17), приведенного во 2-м томе курса физики Ландау, но, сейчас я выяснил, что они не работают в сильных полях, хотя смещение перигелия Меркурия у меня получается по ним, как и положено 572 угл.сек. за век. Поэтому сейчас решил попробовать уравнения ОТО, которые использовали в JPL (подразделение NASA) при создание эфемерид планет DE-405 и DE-430, но столкнулся с тем, что эти уравнения даже для смещения перигелия Меркурия дают только 551 угл.сек. за век. А с учетом того, что уравнения Ньютона дают 529 угл.сек., аномальное смещение перигелия Меркурия получается при этом только 22 угл.сек. за век, что явно не соответствуют ОТО, т.к. должно быть 43 угл.сек. Но из эфемерид DE-405, которые получены с использованием этих уравнений, у меня получается смещение перигелия Меркурия 572 угл.сек. за век, т.е. столько, сколько и должно быть. А в связи с этим получается, что или я не правильно понял уравнение JPL или в нем какая то ошибка, хотя возможен и вариант, что в коде программы у них уравнение записано правильно, т.к. данные эфемерид соответствуют нужному результату, а в статьях имеется какая-то опечатка в формуле.


Что касается последнего, то, быстрее всего, это маловероятно, т.к. я просмотрел три статьи и во всех приводится одна и таже формула. Например, см. в статье E. Myles Standish and James G. Williams. Orbital Ephemerides of the Sun, Moon, and Planets http://iau-comm4.jpl.nasa.gov/XSChap8.pdf Е.Майлс Стэндиш, Джеймс Г.Вильямс. Орбитальные эфемериды Солнца, Луны и планет http://vadimchazov.narod.ru/text_htm/xsru00.htm ) формулу (8-1) или в статье William M. Folkner,* James G. Williams,† Dale H. Boggs,† Ryan S. Park,* and Petr Kuchynka* The Planetary and Lunar Ephemerides DE430 and DE431 https://www.researchgate.net/publicatio ... _and_DE431 формулу (27) или в статье Theodore D. Moyer Formulation for Observed and Computed Values of Deep Space Network Data Types for Navigation https://descanso.jpl.nasa.gov/monograph ... o2_all.pdf формулу (4-26).

Изображение

Таким образом, остается только вывод о том, что или я не правильно понял уравнение JPL или в нем какая то ошибка и в коде программы для расчета эфемерид использовались другие уравнения (что вполне возможно, т.к. я читал, что весь процесс вычисления эфемерид знают только несколько человек и это является коммерческой тайной). Поэтому у меня ко всем, кто разбирается в ОТО, будет просьба и проверить по коду программы Solsys8, который я привожу ниже, правильно ли я понял уравнение JPL и проверить вывод этого уравнения, который дается в последней статье (смотрите формулы (2-1)...(2-15) и (4-28)...(4-38)). А я вместе с кодом для расчета по формуле JPL привожу так же и код для расчета по формуле Ландау, где у меня X(i), VX(i) и dVX(i), соответственно, координаты, скорости и ускорения i-го тела по оси X (и аналогичные обозначения по другим осям координат), а gamma и m(i) это гравитационная постоянная и масса i-го тела (мю(i)=m(i)*gamma). Здесь после апострафов ' у меня приведены некоторые комментарии, которые не являются кодом программы, а нижний пробел в коде _ означает продолжение формулы на следующей строке. И еще надо сказать, что к этой системе дифференциальных уравнений мы обращаемся четыре раза при решении ее численным методом Рунге-Кутта по 4-м коэффициентам. А, чтобы посмотреть насколько велико влияние на конечный результат отдельных составляющих этой формулы, я добавил в код 13-ый чекбокс (если он отмечен, то кроме первого члена в этой формуле, находящегося в фигурных скобках, учитываются и два следующих члена). При этом, если коэффициент k2 задан 1 (это не относится к уравнениям Ландау), то в первом члене учитываются суммы масс, идущие после 1 в фигурных скобках, а, если коэффициенты k6 и k7 заданы 1, то учитываются первое и второе слагаемое в формуле зависящие от ускорений. Могу еще добавить, что суммы масс дают эффект практически на порядок превышающий эффеты от всех остальных членов в формуле и при этом всегда имеют знак минус, а остальные члены от разных планет имеют к тому же то плюс то минус, поэтому меня больше всего смущают именно эти члены в формуле.

Код: Выделить всё

For i = 0 To Ne '  Ne=10 здесь Солнце имеет индекс 0, а Плутон 9 (десятое тело на расчеты не влияет)
W(i + 3 * (Ne + 1)) = 0: W(i + 4 * (Ne + 1)) = 0: W(i + 5 * (Ne + 1)) = 0 '    обнуляем ускорения i-х тел по осям координат
For j = 0 To Ne '   
If i = j Then GoTo 200 '        расчет R(i, j) без запаздывания по координатам
DX(i, j) = X(j) - X(i) '           и первое приближение T(i, j), если надо будет рассчитывать запаздывание
DY(i, j) = Y(j) - Y(i)
DZ(i, j) = Z(j) - Z(i)
Rxy(i, j) = Sqr(DX(i, j) * DX(i, j) + DY(i, j) * DY(i, j)) '  находим расстояния между объектами
R(i, j) = Sqr(Rxy(i, j) * Rxy(i, j) + DZ(i, j) * DZ(i, j))
T(i, j) = R(i, j) / Vgr '           время необходимое для распространения гравитации от i-го тела до j-го тела
FX(i, j) = 0: FY(i, j) = 0: FZ(i, j) = 0 '               обнуляем силы действующие со стороны i-х тел на j-е тела
200: Next j
Next i

If kodOTO = 0 Then GoTo 250 '    ПЕРЕХОД, ЕСЛИ РАССЧЕТ ПО КЛАССИКЕ
'здесь Vsr = Vgr ^ 2, т.е. скорость света в квадрате '   РАССЧЕТ ПО ОТО

If kodOTO = 1 Then '                                      РАССЧЕТ ПО ОТО (уравнения ЛАНДАУ)
For i = 0 To Ne  
For j = 0 To Ne
If i = j Then GoTo 410 '                                      расчет сил
If kodF(i, j) = 0 Then GoTo 410
k1 = m(i) * gamma / R(i, j) ^ 3
k2 = (gamma * (5 * m(j) + 4 * m(i)) / R(i, j) - VX(j) ^ 2 - VY(j) ^ 2 - VZ(j) ^ 2 - 2 * VX(i) ^ 2 - 2 * VY(i) ^ 2 - 2 * VZ(i) ^ 2 _
+ 4 * VX(j) * VX(i) + 4 * VY(j) * VY(i) + 4 * VZ(j) * VZ(i) + 3 * (VX(i) * DX(i, j) + VY(i) * DY(i, j) + VZ(i) * DZ(i, j)) ^ 2 / 2 / R(i, j) ^ 2)
k3 = ((4 * VX(j) - 3 * VX(i)) * DX(i, j) + (4 * VY(j) - 3 * VY(i)) * DY(i, j) + (4 * VZ(j) - 3 * VZ(i)) * DZ(i, j))
FX(i, j) = m(j) * (-k1 * DX(i, j) + (k1 / Vsr) * (DX(i, j) * k2 + (VX(j) - VX(i)) * k3))
FY(i, j) = m(j) * (-k1 * DY(i, j) + (k1 / Vsr) * (DY(i, j) * k2 + (VY(j) - VY(i)) * k3))
FZ(i, j) = m(j) * (-k1 * DZ(i, j) + (k1 / Vsr) * (DZ(i, j) * k2 + (VZ(j) - VZ(i)) * k3))
410: Next j
Next i
End If ' kodOTO = 1

If kodOTO = 2 Then '                                  РАССЧЕТ ПО ОТО (уравнения JPL)
For i = 0 To Ne
V(i) = Sqr(VX(i) * VX(i) + VY(i) * VY(i) + VZ(i) * VZ(i)) '   суммарные скорости планет
For j = 0 To Ne
K0iu(j, i) = 0: Kiu(j, i) = 0 '                               ОБНУЛЯЕМ суммы масс  k,i  и  k,j
Next j
Next i

For i = 0 To Ne '          вычисляем суммы масс k,i  и  k,j для расчета первого члена в уравнении
For j = 0 To Ne
For k = 0 To Ne
If k = i Or kodF(k, i) = 0 Then GoTo 230 '      проверяем включены ли в систему объекты k и i
K0iu(j, i) = K0iu(j, i) + gamma * m(k) / R(k, i)
230: Next k
For k = 0 To Ne
If k = j Or kodF(k, j) = 0 Then GoTo 240 '      проверяем включены ли в систему объекты k и j
Kiu(j, i) = Kiu(j, i) + gamma * m(k) / R(k, j)
240: Next k
Next j
Next i

For i = 0 To Ne '                                    расчет сил (здесь сначала ускорений i-ых тел)
For j = 0 To Ne '        DX(i, j) = X(j) - X(i) и  DX(j, i) = X(i) - X(j), т.е. DX(i, j) = - DX(j, i), а  R(i, j)= R(j, i)
If i = j Or kodF(j, i) = 0 Then GoTo 430
k1 = m(j) * gamma / R(j, i) ^ 3  '   находим еденичную силу по Ньютону
'                      при k2=1 учитываем суммы масс в первом члене, а при k6=1 и k7=1 учитываем ускорение в первом члене формулы и в третьем
FX(j, i) = k1 * DX(i, j) * (1 - k2 * (4 * K0iu(j, i) / Vsr + Kiu(j, i) / Vsr) + (V(i) / Vgr) ^ 2 + 2 * (V(j) / Vgr) ^ 2 _
- 4 * VX(i) * VX(j) / Vsr - 3 * (DX(j, i) * VX(j) / R(i, j)) ^ 2 / (2 * Vsr) + k6 * DX(i, j) * dVX(j) / (2 * Vsr))
FY(j, i) = k1 * DY(i, j) * (1 - k2 * (4 * K0iu(j, i) / Vsr + Kiu(j, i) / Vsr) + (V(i) / Vgr) ^ 2 + 2 * (V(j) / Vgr) ^ 2 _
- 4 * VY(i) * VY(j) / Vsr - 3 * (DY(j, i) * VY(j) / R(i, j)) ^ 2 / (2 * Vsr) + k6 * DY(i, j) * dVY(j) / (2 * Vsr))
FZ(j, i) = k1 * DZ(i, j) * (1 - k2 * (4 * K0iu(j, i) / Vsr + Kiu(j, i) / Vsr) + (V(i) / Vgr) ^ 2 + 2 * (V(j) / Vgr) ^ 2 _
- 4 * VZ(i) * VZ(j) / Vsr - 3 * (DZ(j, i) * VZ(j) / R(i, j)) ^ 2 / (2 * Vsr) + k6 * DZ(i, j) * dVZ(j) / (2 * Vsr))

If Check13.Value = 1 Then '                                                          если учесть и 2-ой и 3-ий члены в формуле
FX(j, i) = FX(j, i) + k1 * DX(j, i) * (4 * VX(i) - 3 * VX(j)) * (VX(i) - VX(j)) / Vsr + k7 * (7 * m(j) * gamma * dVX(j)) / (2 * R(i, j) * Vsr) 
FY(j, i) = FY(j, i) + k1 * DY(j, i) * (4 * VY(i) - 3 * VY(j)) * (VY(i) - VY(j)) / Vsr + k7 * (7 * m(j) * gamma * dVY(j)) / (2 * R(i, j) * Vsr) 
FZ(j, i) = FZ(j, i) + k1 * DZ(j, i) * (4 * VZ(i) - 3 * VZ(j)) * (VZ(i) - VZ(j)) / Vsr + k7 * (7 * m(j) * gamma * dVZ(j)) / (2 * R(i, j) * Vsr)
End If

FX(j, i) = FX(j, i) * m(i): FY(j, i) = FY(j, i) * m(i): FZ(j, i) = FZ(j, i) * m(i) 
430: Next j '  находим по ускорениям тел, действующие на них силы, чтобы унифицировать рассчет с классикой и с ОТО по Ландау
Next i
End If ' kodOTO = 2

GoTo 500 '                       переход к расчету по силам FX(j, i) ускорений W
С наилучшими пожеланиями Сергей Юдин.

Аватара пользователя
morozov
Сообщения: 32469
Зарегистрирован: Вт май 17, 2005 18:44
Откуда: с Уралу
Контактная информация:

Re: Уравнения ОТО в JPL (NASA)

Номер сообщения:#2   morozov » Сб дек 08, 2018 12:23

Повеселили, просьба проверить код ладно, смешно конечно... (Бейсик ?) Это вам надо к авторам...

Но запаздывание чего вы собирались считать? А главное зачем?
С уважением, Морозов Валерий Борисович

Аватара пользователя
sertom
Сообщения: 197
Зарегистрирован: Чт май 08, 2014 6:48
Откуда: Волгоград
Контактная информация:

Re: Уравнения ОТО в JPL (NASA)

Номер сообщения:#3   sertom » Сб дек 08, 2018 14:51

morozov писал(а):
Сб дек 08, 2018 12:23
Повеселили, просьба проверить код ладно, смешно конечно... (Бейсик ?)
Проверить надо не весь код, а то правильно ли я перевел математическую запись самой формулы в код, т.е. правильно ли я понял (особенно это относится к сумме масс) то, что заложено в эту формулу. И ничего смешного тут нет, а наоборот все очень грустно, т.к. результат не соответствует тому, что должно быть согласно ОТО. А код действительно написан на Бэйсике, т.к. это самый простой язык программирования, который даже интуитивно понятен и не программисту, поэтому не надо напрягаться при чтение кода.
morozov писал(а):
Сб дек 08, 2018 12:23
Это вам надо к авторам...
Это проще всего, но предыдущий опыт подсказывает мне, что это безнадежное дело, т.к. американцы не склонны делится исходным кодом программ или исходными данными наблюдений. Поэтому пока буду пробовать на наших форумах.
morozov писал(а):
Сб дек 08, 2018 12:23
Но запаздывание чего вы собирались считать? А главное зачем?
Это не относится к ОТО, т.к. запаздывание потенциала я при необходимости считаю при классиком расчете.

С наилучшими пожеланиями Сергей Юдин.

Аватара пользователя
morozov
Сообщения: 32469
Зарегистрирован: Вт май 17, 2005 18:44
Откуда: с Уралу
Контактная информация:

Re: Уравнения ОТО в JPL (NASA)

Номер сообщения:#4   morozov » Вс дек 09, 2018 12:45

Это не относится к ОТО, т.к. запаздывание потенциала я при необходимости считаю при классиком расчете.
В классике тем более нет запаздывания.
А эфирные примочки просто никому не нужны.

В тесных звездных системах нет никакого эфирного ветра. Вращение периастра симметрично.

Скромнее надо быть. Тратьте свое время на ерунду... но простить о помощи занятых людей это перебор.
С уважением, Морозов Валерий Борисович

Аватара пользователя
sertom
Сообщения: 197
Зарегистрирован: Чт май 08, 2014 6:48
Откуда: Волгоград
Контактная информация:

Re: Уравнения ОТО в JPL (NASA)

Номер сообщения:#5   sertom » Вс дек 09, 2018 13:41

morozov писал(а):
Вс дек 09, 2018 12:45
Это не относится к ОТО, т.к. запаздывание потенциала я при необходимости считаю при классиком расчете.
Скромнее надо быть. Тратьте свое время на ерунду... но простить о помощи занятых людей это перебор.
Вместо того, чтобы читать мораль, лучше бы помогли. А, если не хотите помочь или не можете, то нечего и языком трепаться, т.к. таких говорунов хватает и без вас.

Сергей Юдин.

Аватара пользователя
morozov
Сообщения: 32469
Зарегистрирован: Вт май 17, 2005 18:44
Откуда: с Уралу
Контактная информация:

Re: Уравнения ОТО в JPL (NASA)

Номер сообщения:#6   morozov » Вс дек 09, 2018 16:34

Не хамите.

Может вы найдете помощника, но не здесь. Поищите репетитора в другом месте.
С уважением, Морозов Валерий Борисович

Аватара пользователя
sertom
Сообщения: 197
Зарегистрирован: Чт май 08, 2014 6:48
Откуда: Волгоград
Контактная информация:

Re: Уравнения ОТО в JPL (NASA)

Номер сообщения:#7   sertom » Ср дек 12, 2018 4:48

morozov писал(а):
Вс дек 09, 2018 16:34
Не хамите.

Может вы найдете помощника, но не здесь. Поищите репетитора в другом месте.
Во-первых, я не хамил, а только напомнил вам, что здесь не институт благородных девиц, в котором вы наставник, а я ученик, а, во-вторых, не надо отвечать за всех. Да, может быть здесь мне и не помогут, но попытка не пытка. Поэтому я продолжу свою попытку, хотя вы и перенесли мою тему в оффтопик. Так вот. Все три автора статей, где приводились их уравнения (8-1), (27) и (4-26), ссылались на работу третьего автора (T. D. Moyer), но от 1971 года, поэтому я решил ознакомиться и с этой работой T. D. Moyer Mathematical Formulation of the Double Precision Orbit Determination Program, Technical Report 32.1527, Jet Propulsion Laboratory, Pasadena, California, May 15, 1971. https://ntrs.nasa.gov/archive/nasa/casi ... 017134.pdf . Здесь он приводит то же самое уравнение с номером (35), если принять значения релятивистских членов гамма и бетта равными единице, т.е. запись получается более компактной. А я бы тут еще перенес скорость света в квадрате в левую часть равенства, чтобы она не мелькала в каждом члене уравнения. Но интересно тут то, что и он и Ландау при выводе своих уравнений ссылаются на работу A. Einstein, L. Infeld and B. Hoffmann, “The Gravitational Equations and the Problem of Motion,” Annals of Mathematics, vol. 39, pp. 65–100,1938. http://www.edition-open-sources.org/med ... chap15.pdf , но вот лагранжианы у них получаются разные, хотя есть и одинаковые члены. Сравните лагранжиан Ландау (106,17) и лагранжиан Мойера (52).

Изображение

Изображение

Поэтому, оно, конечно, интересно как у них получились разные лагранжианы, если они использовали один и тот же подход, изложенный в статье Эйнштейна, и рассматривали одно и тоже постньютоновское приближение, где гамма и бетта равны единице, но меня сейчас больше всего интересует не это, а то правильно я или не правильно перевел векторную запись уранения (35) в запись по декартовым осям координат. А, чтобы это легче воспринималось, т.к. по приведенному мною ранее коду программы это все-таки сложно воспринимать, я перепишу свой код на обычную математическую запись, но по одной из осей координат. Надеюсь, что дополнительные пояснения помогут тому, кто решится из лагранжиана (52) получить уравнение (35) и возможно тогда выяснится, что или лагранжиан Моера (52) или его уравнение (35) содержат какую то ошибку. А может быть все гораздо проще и выяснится, что это я неправильно перевел векторную запись уравнения (35) в запись по осям координат, например, в 5-м члене, где дано произведение двух скоростей. Но, как бы там не было, меня устроит любой результат (лишь бы он был получен без ошибок).

Изображение
c^2\ddot{X_i}=\sum\limits_{j\not=i} \frac{M_j(X_j-X_i)}{R_{i,j}^3}\bigl\{c^2-4\sum\limits_{k\not=i}\frac{M_k}{R_{i,k}}-\sum\limits_{k\not=j}\frac{M_k}{R_{j,k}}+V_i^2+2V_j^2
-4\dot{X_i}\dot{X_j}-\frac{3}{2}\left[\frac{(X_i-X_j)\dot{X_j}}{R_{i,j}}\right]^2+\frac{1}{2}(X_j-X_i)\ddot{X_j}\bigr\}
+\sum\limits_{j\not=i} \frac{M_j}{R_{i,j}^3}\left[(X_i-X_j)(4\dot{X_i}-3\dot{X_j})\right](\dot{X_i}-\dot{X_j})+\frac{7}{2}\sum\limits_{j\not=i} \frac{M_j\ddot{X_j}}{R_{i,j}}
M_i=G m_i
R_{i,j}=\sqrt{(X_j-X_i)^2+(Y_j-Y_i)^2+(Z_j-Z_i)^2}
V_i=\sqrt{\dot{X_i}^2+\dot{Y_i}^2+\dot{Z_i}^2}
P.S. Сейчас сделал в программе возможность учитывать поотдельности каждый член в уравнении (35) и выяснил, что практически на результат влияют не все члены уравнения. Например, два первых члена, т.е. суммы k-ых масс, дают - 29 угл.сек, следующие два члена с квадратами скоростей дают + 14 угл.сек. и предпоследний член дает тоже + 14 угл.сек., а влияние всех остальных членов уравнения находится в пределе статистической погрешности. При этом обнаружил, что приводившееся мною ранее суммарное значение смещения перигелия, т.е. по полной формуле, равное 551 угл.сек. ошибочно (это какой то другой вариант расчета, коих я делал много), а правильное значение будет 530 угл.сек. И, если не учитывать ни один из членов в уравнении (35) в правой части (кроме c^2), то получим 529 угл.сек., т.е. как в варианте расчета по Ньютону. При этом 529-29+14+14 будет не 530, как получается по этой формуле, а 528, но это связано и с округлением приведенных мною значений и с нелинейностью суммирования эффектов.

С наилучшими пожеланиями Сергей Юдин.

Ответить

Вернуться в «Оффтопик»