args[0]=message
args[1]=DB::DB::Message=HASH(0x2faa7e0)
Re[2]: Вопросы преподавания астрономии
21.07.2007 21:28 | Дмитрий Доценко
Написание такой программы с нуля - сложная и неблагодарная задача, к тому же в ней много подводных камней. С ходу программе верить нельзя.
Большинство схем интегрирования орбит или очень медленные, или имеют слишком малую точность. Первая ошибка, которую допускают многие - использование численных схем интегрирования, не сохраняющих энергию. Нужно использовать ту, которая строго ее сохраняет. Кроме того, такая программа требует много тестов перед ее применением к искомой задаче. К примеру,
Тест 1: Точечная масса + безмассовая частица вокруг нее на круговой орбите. В конце (например, >>1000 орбит) измерить параметры орбиты (6 штук) и сравнить с начальными значениями. Если поменялась энергия - меняйте схему интегрирования. Если орбита больше не сферическая - то же или что-то с координатами. Если орбита меняет свою плоскость - что-то с преобразованиями координат. И т.д.
Тест 2: Две точечные массы (Звезда + планета). В приведенных координатах должно быть то же самое. Так как отношение масс порядка 10^10 (а можно поставить и больше), то начинает играть роль конечная точность вычислений. Если все ОК, сделайте орбиту вытянутой и повторите.
Тест 3. Взять более сложную задачу и сравнить результат с признанной программой (например, Mercury: http://star.arm.ac.uk/~jec/home.html). Объяснить все несовпадения.
Увы, такие тесты занимают обычно больше времени, чем написание программы (я сам через это проходил), но без них результатам программы нельзя доверять.
Конкретно в вашем случае благодаря наличию аналитических решений есть два прямолинейных теста.
а) Уберите все планеты, кроме Меркурия, "выключите" ОТО и посмотрите, какой стала орбита. Должна быть замкнутой и следовать законам Кеплера.
б) "Включите" ОТО (если в программе она есть в виде коррекций к закону притяжения). Воспроизводите ли вы аналитическое решение уравнений ОТО?
Если все в порядке, пишите (какие тесты провели, какие результаты, какие отклонения от теории), продолжим дискуссию.
Теперь по вашему вопросу. Насколько мне известно, сильных периодических возмущений орбиты Меркурия нет. Их просто некому вызвать.
Опишите то, что выдает программа, более подробно - на сколько и какие параметры меняются и на каких масштабах времени это происходит. Параметры могут менятся и быстрее, чем орбитальное время, тогда вам нужно измерять мгновенные параметры орбиты из 3-5 точек.
- Re: Вопросы преподавания астрономии
(П. Б. Кац,
20.07.2007 10:14, 461 Байт, ответов: 10)
На одном из форумов обсуждается проблема векового смещения перигелия Меркурия.... - >> Re[2]: Вопросы преподавания астрономии
(Дмитрий Доценко,
21.07.2007 21:28, 2.5 КБайт, ответов: 6)
Написание такой программы... - Re[3]: Вопросы преподавания астрономии
(П. Б. Кац,
23.07.2007 11:48, 2.5 КБайт, ответов: 5)
> Тест 2: Две точечные массы (Звезда + планета).... - Re[4]: Вопросы преподавания астрономии
(Дмитрий Доценко,
23.07.2007 16:00, 1.5 КБайт, ответов: 4)
Хм. Вот здесь:http://en.wikipedia.org/wiki/Tests_of_general_relativity#Perihelion_precession_of_Mercury... - Re[5]: Вопросы преподавания астрономии
(В. В. Чазов,
23.07.2007 19:40, 197 Байт, ответов: 3)
Дорогие друзья, спасибо Вам за обсуждение столь важных вопросов.... - Re[6]: Вопросы преподавания астрономии
(Дмитрий Доценко,
23.07.2007 19:59, 255 Байт, ответов: 2)
Вадим, вы же занимаетесь небесной механикой.... - Re[7]: Вопросы преподавания астрономии
(В. В. Чазов,
24.07.2007 16:35, 416 Байт, ответов: 1)
Уважаемый Дмитрий. Конечно, могу посчитать... - Re[8]: Вопросы преподавания астрономии
(В. В. Чазов,
24.07.2007 18:17, 1.8 КБайт)
Дорогие друзья, посчитал, что некрасиво отвечать общими словами.... - Re[2]: Вопросы преподавания астрономии
(П. Б. Кац,
24.07.2007 23:07, 1.2 КБайт, ответов: 1)
Здравствуйте, Дмитрий. Насколько я понимаю... - Re[3]: Вопросы преподавания астрономии
(В. В. Чазов,
25.07.2007 14:20, 1.4 КБайт)
Уважаемый коллега, дорогие друзья.... - Новый ресурс!!!
(Владимир Усиченко,
16.09.2007 16:14, 211 Байт)
О прохождении астероидов по диску...