Телескопы покупают здесь


A A A A Автор Тема: Вопрос по численному моделированию  (Прочитано 560 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Антон КочергинАвтор темы

  • *****
  • Сообщений: 591
  • Благодарностей: 11
    • Instagram: FarGalaxyMan
    • Сообщения от Антон Кочергин
Добрый день!

Друзья, подскажите.

Есть задача двух тел. Решаю с шагом dt. По мере уменьшения расстояния между телами шаг dt можно уменьшить для увеличения точности (ну тут вопрос конечно не однозначный - растет погрешность вычисления (округления)

Вопрос вот какой - есть ли у этого метода какое то название?

Антон.
БПЦ 7Х30

Оффлайн Алексей Юдин

  • *****
  • Сообщений: 28 790
  • Благодарностей: 1122
  • Так-с, где тут у Вас Кровавое Мясное Бодалово?
    • Сообщения от Алексей Юдин
Re: Вопрос по численному моделированию
« Ответ #1 : 10 Авг 2018 [20:35:38] »
Решаете явными итерациями? Попробуйте неявные, они устойчивее к погрешностям. Или сразу готовую библиотеку типа rkf45 или что-то ещё в этом духе.

Оффлайн was-ja

  • *****
  • Сообщений: 1 040
  • Благодарностей: 89
  • Мне нравится этот форум!
    • Сообщения от was-ja
    • Птицы здесь:
Re: Вопрос по численному моделированию
« Ответ #2 : 10 Авг 2018 [20:54:30] »
При тесных сближениях ничего не поможет, все разлетится, называется "гравитационный долг" (полученное ускорение не компенсируется после разлета). Для двух же можно орбиту считать. Для трех и более на больших расстояниях, можно и так, но при тесном сближении двух - переходить на орбиты, а другими далекими можно пренебречь.
Тал-1(№840134), C-N8, HEQ5, Тал-125R±PST, STF 7"

https://rutube.ru/channel/34949406/
https://letuny.ucoz.net/

Оффлайн Toth

  • *****
  • Сообщений: 2 604
  • Благодарностей: 176
    • Сообщения от Toth
Re: Вопрос по численному моделированию
« Ответ #3 : 10 Авг 2018 [21:09:58] »
есть ли у этого метода какое то название?
У какого именно? У метода " уменьшать dt по мере уменьшения dr " ?  Не знаю. Может быть интегрирование движения с переменным шагом.

Или у самого метода интегрирования ?

Уже такое обсуждалось. Можете глянуть, там и ссылы есть. Вот - Упрощенное моделирование движения в гравитационном поле

Кстати, есть метод проверки точности - запустить движение от положения 1 в положение 2, а потом - обратно, назад во времени, и сравнить с положением 1.
А если всего 2 тела - то можно просто по уравнениям Кеплера проверять.

Оффлайн Geen

  • *****
  • Сообщений: 12 210
  • Благодарностей: 200
  • Мне нравится этот форум!
    • Сообщения от Geen
Re: Вопрос по численному моделированию
« Ответ #4 : 11 Авг 2018 [00:59:08] »
Кстати, есть метод проверки точности - запустить движение от положения 1 в положение 2, а потом - обратно, назад во времени
Кстати, плохой метод - симплектические алгоритмы принципиально обратимы во времени...
Если у тебя есть фонтан, заткни его, дай отдохнуть и фонтану.

А ещё мы любим обсуждать вкус устриц с теми кто их ел...

Оффлайн Антон КочергинАвтор темы

  • *****
  • Сообщений: 591
  • Благодарностей: 11
    • Instagram: FarGalaxyMan
    • Сообщения от Антон Кочергин
Re: Вопрос по численному моделированию
« Ответ #5 : 11 Авг 2018 [05:23:38] »
Решаете явными итерациями? Попробуйте неявные, они устойчивее к погрешностям. Или сразу готовую библиотеку типа rkf45 или что-то ещё в этом духе.

Всем спасибо, что откликнулись!

Да, решаю итерациями. Тела имеют не нулевые радиусы. Сейчас я проверяю на каждой итерации не стало ли расстояние между центрами тел меньше суммы их радиуса. И получается, что на итерации n расстояние больше, а на n+1 уже меньше. Так вот хочу шаг итерации dt уменьшить, чтоб между n и n+1 сделать еще некоторое количество итерации, для уточнения точки столкновения тел.
БПЦ 7Х30

Оффлайн Антон КочергинАвтор темы

  • *****
  • Сообщений: 591
  • Благодарностей: 11
    • Instagram: FarGalaxyMan
    • Сообщения от Антон Кочергин
Re: Вопрос по численному моделированию
« Ответ #6 : 11 Авг 2018 [05:29:17] »
У какого именно? У метода " уменьшать dt по мере уменьшения dr " ?  Не знаю. Может быть интегрирование движения с переменным шагом.

Да, у метода "уменьшить dt". Накачал кучу книг по моделированию, пролистывая, мне встретилось описание, сейчас не могу найти :)
В книге было что то типа - при больших расстояния шаг dt может быть большим, при уменьшении расстояния (или увеличиении скорости -  точно не помню) шаг уменьшается, чтоб уменьшить погрешность. 
БПЦ 7Х30

Оффлайн Ser100

  • *****
  • Сообщений: 1 008
  • Благодарностей: 14
    • Сообщения от Ser100
    • Моделирование систем
Re: Вопрос по численному моделированию
« Ответ #7 : 11 Авг 2018 [19:14:33] »
Да, у метода "уменьшить dt". Накачал кучу книг по моделированию, пролистывая, мне встретилось описание, сейчас не могу найти
В книге было что то типа - при больших расстояния шаг dt может быть большим, при уменьшении расстояния (или увеличиении скорости -  точно не помню) шаг уменьшается, чтоб уменьшить погрешность. 

Если хотите научится моделировать сисемы и решать эти системы уравнений численными методами, то сначала прочитайте мою статью "Математическое описание явлений природы" http://modsys.narod.ru/Stat/Stat_Est/Matopisanie1.html , а так же статью "Модели и имитаторы" http://modsys.narod.ru/Stat/Stat_Est/Konf_SPB/mod_imi.html  . А потом переходите к статьеям "Аномальные смещения параметров орбит" http://modsys.narod.ru/Stat/Stat_Est/Anomal/Anomal1.html и "Влияние скорости гравитации на изменения параметров орбит планет" http://modsys.narod.ru/Stat/Stat_Est/Vlijanie3.html , где не только проводятся конкретные расчеты по движению планет Солнечной системы на программе Solsys с использованием метода Рунге-Кутта, но и оценивается влияние шага решения на точность решения. А вплоть до 3-ей версии программы я выкладываю не только исполняемый файл программы, но исходный код программы. Поэтому после прочтения этих статей у вас не будет никаких вопросоы не только по моделированию любых систем, но и по численному решению уравнений этих моделей и не нужны будут больше никакие книжки.

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

Оффлайн Антон КочергинАвтор темы

  • *****
  • Сообщений: 591
  • Благодарностей: 11
    • Instagram: FarGalaxyMan
    • Сообщения от Антон Кочергин
Re: Вопрос по численному моделированию
« Ответ #8 : 12 Авг 2018 [04:48:39] »
С наилучшими пожеланиями Сергей Юдин.

Большое вам спасибо!
БПЦ 7Х30

Оффлайн VLG

  • *****
  • Сообщений: 4 906
  • Благодарностей: 313
  • Кандидат биноприставочных наук
    • Сообщения от VLG
Re: Вопрос по численному моделированию
« Ответ #9 : 13 Авг 2018 [10:20:48] »
Поэтому после прочтения этих статей у вас не будет никаких вопросоы не только по моделированию любых систем, но и по численному решению уравнений этих моделей и не нужны будут больше никакие книжки.
Нууу, я бы еще все-таки порекомендовал:
Авдюшев В.А. "Численное моделирование орбит" 2010 год,
потому что после метода Рунге-Кутта (правильно Рунге-Кутты) там рассматривается интегратор Эверхарта, а мне это волшебное словосочетание  :) встречалось еще в паре современных статей по моделированию орбит ИСЗ.
Вооружение - рейдер:
главный калибр 100 мм - рефрактор Levenhuk 102/1000 на колонне "Алькора"+биноприставка DeepSky, спаренная зенитная установка: SkyMaster 15x70
стереомикроскоп Carl Zeiss Jena, поляризационный микроскоп ПОЛАМ С-111

Оффлайн Ser100

  • *****
  • Сообщений: 1 008
  • Благодарностей: 14
    • Сообщения от Ser100
    • Моделирование систем
Re: Вопрос по численному моделированию
« Ответ #10 : 13 Авг 2018 [12:56:32] »
Нууу, я бы еще все-таки порекомендовал:
Авдюшев В.А. "Численное моделирование орбит" 2010 год,
потому что после метода Рунге-Кутта (правильно Рунге-Кутты) там рассматривается интегратор Эверхарта, а мне это волшебное словосочетание   встречалось еще в паре современных статей по моделированию орбит ИСЗ.

А я бы не рекомендовал человеку на данном этапе забивать себе голову множеством различных методов численного решения уравнений. Ну, разве что для сравнения возможностей порекомендовал бы еще самый простой метод Эйлера. А что касается метода Рунге-Кутта (кстати, я уже 40 лет пишу именно так, хотя иногда встречаю и написание Рунге-Кутты), то этот метод не очень сложный и многократно проверен мною на множестве самых разных задач, где он продемонстрировал хорошую устойчивость, поэтому я и рекомендую именно его. Да, у него есть недостаток в том, что, например, для Меркурия можно использовать шаг решения в 1 час, а для Юпитера в несколько дней, но в этом методе не предусмотрен переменный шаг решения для разных объектов поэтому приходиться выбирать шаг решения всей системы уравнений по самому критичному объекту, что увеличивает время решения задачи. Но тут есть выход. Запускайте одну и ту же задачи несколько раз на многопроцессорном компьютере и у вас за тоже время задача будет решена 2, 4 или 8 раз.

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