Да, все верно, это я спросонья неправильно код прочитал, как если бы в первом операнде было отрицание. Мой косяк. Это не поиск разделителей, а проверка на пустую строку, которая не содержит ничего кроме пробелов и переноса строки.
Насколько я понимаю, тут выполняется поиск разделителя до конца строки. В конце строки *p будет равно 0, что сгенерирует false и выход из цикла. Похоже, что анализатор тут неправ.
Так то лучше было бы проверять *p != 0 в начале выражения, но это уже другой вопрос все-таки.
О числе катастрофических сценариев. Хаотический и катастрофический - не одно и то же, хаотических там все 2501 случай.
если я сформулирую поправку к публикации уважаемого Pavgranа примерно так
Нет, это называется заметанием сора под ковер. Точно так же можно было бы говорить - ну все-таки в рамках человеческого роста и даже инфраструктуры городов Земля является плоской, а вот так называемая якобы сферичность - ну она возможна, но заметить ее было бы очень трудно, да и вообще не особо кому-либо удалось подтвердить.
Общим научным консенсусом является присутствие хаотического поведения в динамике планет. Без всяких отговорок. Откройте любую работу - она начнется именно с этого. Можно, к примеру, того же Батыгина: Advances in computational technology and space travel have sparked continued interest in the problem of planetary orbits. In particular, it has been demonstrated that the solar system displays chaotic behavior on sufficiently long timescales (Laskar 1989, 1990; Sussman & Wisdom 1992). The four terrestrial planets display chaotic motion with a Lyapunov time on the order of 5 million years, as do the Jovian planets (Laskar 1989; Murray & Holman 1999 and the references therein). Furthermore, the mass ratios of the planets to the Sun are much larger than those required by the KAM theory to assure strictly bounded, quasi periodic variations of the orbital elements (Arnold 1961). It therefore appears that the solar system may ultimately be dynamically unstable.
Видите, что является дискуссионным вопросом? Не наличие/присутствие хаоса, а возможность катастрофических сценариев с потерей глобальной устойчивости. Вот что является предметом исследований, отсюда и свежая статья Жака Ласкара про резонансы, ссылку на которую я уже приводил, и интерес к релятивистским поправкам и пр. эффектам, влияющим на степень нелинейности в системе.
Ну и обратите внимание - всего один абзац из работы Батыгина затрагивает сразу ВСЕ вопросы, которых мы касались. Это всё, чего данная дискуссия реально стОит, вы совершенно зря упорствуете.
обнаружил статью о француском астрономе, постровшем одну из моделей Солнечной системы...
Ага, а Эйнштейн, стало быть, работник патентного бюро.
Слушайте, ну это уже просто напросто невежливо. Вы реально начали вести себя уже как плоскоземельщик. Ну зачем вот это вот все? Только ради того, чтобы до последнего бороться за неправильное, но все-таки свое мнение? Блин, ну это смешно.
вам, так сказать, хочется «блеснуть эрудицией»
А вы не обратили внимания, что не привели ни одного возражения по существу, и при этом давно уже перешли на личности, причем не только в мой адрес, но и научного сообщества вообще? "Подозреваю, понравилось, не буду углубляться..." Это, конечно, весьма научные аргументы. А вы возьмите и углубитесь! Ну видно же невооруженным глазом, что плаваете в теме. Вот эти вот попытки сослаться на КАМ, неудачные отсылки к википедии, слова про "меры ноль" - это все настолько нелепо и грустно. Нет хаоса в Солнечной системе? Прекрасно! Жду вашей публикции в Phys. Rev. в ближайшие дни!
The researchers looked at 2501 possible scenarios, 25 of which ended with a severely disrupted solar system
Понятно, что слегка хаотических сценариев там может быть больше, но несомненно хаотических
А это так и вообще просто позор какой-то. Вы не читаете дальше одного абзаца и не понимаете смысла написанного, лепите одно с другим без разбору.
В начале абзаца по сути написано, что работы Ласкара 1989 и 1990 года стали общепризнанными. А дальше, где вы процитировали, речь про совершенно другую работу 2009 года на основе ППН формализма, дабы исследовать вклад неньютоновских и других поправок в общую нелинейность системы. Это вообще не про количество хаотических сценариев в принципе. Ваша очередная попытка аргументации разбита просто напросто вдребезги, потому что вообще мимо и не в тему.
Для моделей, подобных той, которая описывается в публикации, обсуждать хаос смысла нет
Вы невнимательны. Хаос я и не обсуждал. Это вы зачем-то начали неправильно поправлять Pavgran, что и заставило меня вступить в вашу с ним дискуссию о хаосе. Все остальные мои замечания к публикации касаются лишь качества счета и ответов на прямо заданные вопросы. Вы зачем-то снова все перепутали.
Именно поэтому ваши советы кажутся мне несколько нагловатыми
Смотрите, какая тут история.
1. Вы сделали утверждение, что система гравитационно-связанных тел хаотической не является. И сослались на КАМ. Но, во-первых, КАМ тут не работает, я уже объяснил почему. Во-вторых, я сослался на Жака Ласкара, который в работе 1989 года показал, что Солнечная система демонстрирует хаотическое, а не квазипериодическое поведение. Вот, можно перейти по этой ссылке, если не верите мне. Там вот прямо черным по белому так и написано, и повторяется в каждой научной статье.
2. Вы ткнули меня ссылкой на Вики про планеты-гиганты. Но, во-первых, в первую очередь всегда говорят про внутренние планеты и Плутон-Харон, поскольку для них время Ляпунова относительно мало (от 1млн до 30млн лет, что более-менее в рамках человеческих интересов). И здесь никаких сомнений нет вовсе. Во-вторых, поведение планет-гигантов - это отдельная тема. И даже если их поведение относительно "регулярно", это не влияет на основную часть вопроса - таки хаос в Солнечной системе есть безотносительно типа их собственного поведения. Поэтому ваше исходное утверждение в любом случае ложно, так как в принципе отрицает возможность хаоса.
3. Но вернемся к планетам-гигантам и известной статье, на которую ссылается русская Вики. Внимательно ее прочтем, про что она? В ней говорится, что существует противоречие между различными работами, где в одних случаях демонстрируется хаотическое поведение планет-гигантов, а в других - нет. С чем это противоречие может быть связано, и как его разрешить? В статье приходят к выводу, что противоречие не связано с вычислительными ошибками, оно объективно. А причина кроется в начальных условиях задач интегрирования, а именно в неточности текущих наблюдательных данных, в результате чего время Ляпунова для планет-гигантов может меняться в широких пределах, буквально от миллионов до миллиардов лет. По этой причине в одних работах удалось наблюдать хаос, а в других - нет (не хватало модельного времени). И если среди ансамбля траекторий в статье на отрезке 200млн лет было лишь 70% решений с хаосом, то на отрезке в 1млрд лет - уже 90%. Это не отрицание хаоса, а указание на то, что время Ляпунова может быть весьма значительным.
Обратите внимание - моего личного мнения тут нет ни на одном из этапов, мы говорим лишь о мнении научного сообщества.
Было очень приятно пообщаться со столь маститым представителем
Напишите это всем тем авторам, ссылки на которых я вам тут давал, они будут очень рады.
Неплохо было бы, чтобы вы сделали хотя бы одну публикацию здесь, тогда каждый сможет оценить, стоит ли слепо доверять всем вашим утверждениям
Мои, к примеру, есть в Physica D: Nonlinear Phenomena, потому что динамический хаос в нелинейных системах является частью моей специализации как теоретика. Так что я от чистого сердца пытался донести до вас положение дел, а вы зачем-то в бутылку полезли. Неприятно.
Я привел вам конкретный пример неточности и некорректности, какие еще могут быть вопросы? Почитайте оригинальную статью, а не пересказ.
В случае Солнечной системы существование хаотческих траекторий вовсе не означает, что планеты реально
Означает. Во-первых, речь идет лишь о планетах-гигантах, в то время как внутренние планеты и система Плутон-Харон отчетливо демонстрируют хаотическое поведение. Реально, и об этом говорится в статье, на которую ссылается русская Вики, почитайте. Во-вторых, даже в случае планет-гигантов речь идет о другом. Если бы вы почитали оригинальную статью, то обратили бы внимание на то, что в ней рассматривается ограниченное число сценариев и лишь на масштабах 200млн - 1млрд лет. При этом, если на масштабах 200млн среди рассмотренных сценариев хаотических было 70%, то на масштабе 1млрд лет - уже 90%.
Теория КАМ говорит, что...
КАМ этого не говорит, потому что применительно к ньютоновской гравитации корректна лишь для задачи трех тел (и снова в русской Вики об этом забыли написать). Существуют попытки обобщить выводы на задачу n-тел, но они также сталкиваются с теми или иными ограничениями. Применительно конкретно к Солнечной системе проблемой КАМ является существование резонансов, которые разрушают инвариантные торы (и снова в русской Вики тишина про это). Теме резонансов, например, посвящена одна из последних статей уже упомянутого выше Laskar: The origin of chaos in the Solar System through computer algebra.
Как я уже говорил, в этом вопросе много тонкостей, а вы зачем-то прицепились лишь к поведению планет-гигантов. Еще раз повторю - в математическом смысле Солнечная система является хаотической. Вопросы могут возникать лишь в отношении того, насколько.
Во-первых, русская Википедия - это плохой источник. Она нерегулярно обновляется и качество статей по физике в ней невысоко. Во-вторых, именно в данном случае в оригинальной статье, на которую ссылается русская Вики, говорится, что there exist clearly chaotic trajectories with complex structure and Lyapunov times-the timescale for the onset of chaos-ranging from 2million years to 230million years, as well as trajectories that show no evidence of chaos over 1Gyr timescales. Совсем не то же самое, что написано в русской статье. В-третьих, по вашей же ссылке, если бы вы внимательно посмотрели чуть дальше, цитирую: Для внутренних планет численные расчеты дают хаотичность их положения на орбите. Кроме того, особой проблемой является Меркурий, который... И снова, эта информация опять же присутствует в уже упомянутой выше статье.
В общем, не стоит доверять некачественным источникам. Там есть много особенностей и деталей, но сути это не меняет, хаотическая динамика имеет место быть.
Если вам прям интересно-интересно, то вот одна из известных и цитируемых работ на эту тему (надеюсь, токен не сдохнет): A hybrid symplectic integrator that permits close encounters between massive bodies, J. E. Chambers, 1999. Там во введении есть обзор и более ранних методов. Указанные методы делают акцент именно на том, чтобы ошибка сохранения энергии на масштабах миллиардов лет была минимальна. Ну а более простые методы уже указали.
Вообще показано, что динамика тел в Солнечной системе таки является хаотической, см. Laskar 1989, 1990. Фазовые траектории системы расходятся экспоненциально. Поэтому на масштабе порядка нескольких десятков миллионов лет моделирование астрономических факторов изменения климата (в целях палеоклиматических исследований) теряет смысл, увы.
Даже у вас на картинке симуляции движения планет земного типа видно, что орбиты спиральные, второй оборот не совпадает по радиусу с первым. Проблема не в том, что расхождение небольшое, а в том, что оно накапливается постоянно. В методе Эйлера нигде нет коррекции этого расхождения, посмотрите еще раз картинку из Вики, ссылку на которую я дал. В результате, чем больше итераций, тем больше расхождение. Даже если вы сделаете шаг интегрирования очень и очень маленьким, итераций станет настолько же больше, и просто спираль будет получаться более гладкой. Отсутствие коррекции в самом методе интегрирования (замены дифференциалов на конечные разности и приращения) - неустранимый недостаток метода Эйлера. В методах математической физики есть отдельный раздел, который связан с вязками и невязками разностных схем. Их можно придумывать и так, и эдак, но в данном случае вполне достаточно пользоваться общепринятыми и общеизвестными методами, изобретать велосипед тут не нужно. Нужно просто взять более точный метод, чем метод Эйлера. Для начала. А если вы захотите моделировать еще и столкновения или максимально близкие сближения тел, то тут и без переменного шага интегрирования не обойдется с методом контроля и коррекции.
Не могу сказать за все ВУЗы, но у нас на физфаке во времена моей юности эту задачу разбирали на первом курсе. И я своими глазами насмотрелся на все веселые ньюансы, которые тут возникают на разных этапах сложности решения.
Не буду комментировать код, прокомментирую сам подход.
1. При выполнении симуляций физических моделей уравнения принято обезразмеривать. Все эти размерные величины в ходе итераций не нужны от слова вовсе и лишь усложняют вычисления, так как на каждом шаге вы делаете лишние телодвижения, это не эффективно и излишне. 2. В вашей симуляции все планеты будут двигаться по спиралям, а не по замкнутым эллиптическим орбитам. Причина - использование метода Эйлера, который является простейшим из численных методов. Вы отрезок эллипса заменяете на небольшой кусочек прямой, но не делаете никакой коррекции на изменение угла. В результате, на каждом шаге будет накапливаться расхождение (Ломаная Эйлера и точное решение задачи), и в итоге планеты у вас постоянно будут разлетаться, система не проживет и тысячи лет. Это самая грубая ошибка, которую вы могли допустить. 3. Вместо метода Эйлера в данном случае не обязательно использовать методы прямо более высоких порядков, но хотя бы модифицированный метод Эйлера был бы гораздо лучше. 4. При выполнении симуляций строго необходимо контролировать базовые параметры системы на предмет корректности. В данном случае - закон сохранения энергии. Нужно постоянно (не обязательно на каждой итерации, но достаточно регулярно) вычислять энергию системы и следить, чтобы она не менялась (гравитационных волн у вас нет). Вы этого не сделали, поэтому ошибки остались незамеченными.
Возможно, на вашей стороне разница просто перекрывается обычным разбросом значений между запусками. Я пробую на ноутбучном i7-4710HQ, и у меня разница заметна.
В любом случае, strlen привносит излишнюю непредусмотренную тестом логику и работу в алгоритм. Ни один из других языков не выполняет подобного поиска среди элементов массива, поэтому правильнее было бы добавить параметры в вызов lev_dist
В чистом С коде «нечестно» вызывать strlen, поскольку там вместо немедленноо return m_stringLength происходит поиск в массиве из 20001 char элементов значения, равного нулю. Поэтому unsigned long m, n нужно передавать как параметры lev_dist — на моей стороне это съедает лишние 2% или около того.
См. «Аксиоматическое построение системы уравнений классической электродинамики» — очень практически один в один похоже на то, что я писал в конспектах 25 лет назад, будучи студентом, только здесь это хуже изложено (меньше физики), и в общем-то совсем не они родоначальники этого подхода. Возможно, авторы просто не в курсе, что переоткрывают известное, но нам это сейчас и неважно.
Смысл в том, что что мы постулируем существование векторного поля А и утверждаем, что для него справедливо выполнение философского принципа Воздействие->Результат (это нужно для связи с токами). Далее мы накладываем определенные ограничения на возможные свойства этого поля (считая, что релятивистская механика СТО отражает объективно существующие свойства нашего мира), и используем теорему Гельмгольца для разложения данного поля на сумму потенциального и соленоидального полей, которые приводят, соответственно, к симметричной и антисимметричной составляющей тензора მAi/მxk (i и k — нижние индексы). Далее выводим в общем виде уравнения, используя некоторые абстрактные константы связи, описываем метрологические эксперименты и вводим системы единиц, которые позволяют нам связать наше поле с реально существующим физическим полем. Кратко как-то вот так.
В том-то и дело, что вывод требует привлечения физических соображений. Математика — это когда мы тупо решаем уравнение гармонического осциллятора. Физика — это когда мы анализируем явление, выявляем существенные и неважные детали, а в итоге приходим к уравнению гармонического осциллятора.
Наоборот. И вообще симметрии — это очень про физику, а не про математику. Потому что симметрия — это буквально и значит «что-то где-то остается таким же», а значит — сохраняется. Фактически, это тавтология. И теорема Нетер просто делает данный факт явным и дает конкретный инструмент для того, как из тех или иных симметрий выводить и записывать сохраняющиеся токи (законы сохранения).
Не пугайте человека теоремой Нетер. Для большинства людей эта очевидная теорема является какой-то дикой математикой, в то время как для физиков это просто удобный понятный инструмент.
Да, все верно, это я спросонья неправильно код прочитал, как если бы в первом операнде было отрицание. Мой косяк. Это не поиск разделителей, а проверка на пустую строку, которая не содержит ничего кроме пробелов и переноса строки.
Фрагмент 12
for (p = newname; (*p == ' ' || *p == '\r' || *p == '\n') && *p; p++)
Насколько я понимаю, тут выполняется поиск разделителя до конца строки. В конце строки *p будет равно 0, что сгенерирует false и выход из цикла. Похоже, что анализатор тут неправ.
Так то лучше было бы проверять *p != 0 в начале выражения, но это уже другой вопрос все-таки.
А как вы думаете, плоскоземельщики не тем же самым образом рассуждают?
О числе катастрофических сценариев. Хаотический и катастрофический - не одно и то же, хаотических там все 2501 случай.
Нет, это называется заметанием сора под ковер. Точно так же можно было бы говорить - ну все-таки в рамках человеческого роста и даже инфраструктуры городов Земля является плоской, а вот так называемая якобы сферичность - ну она возможна, но заметить ее было бы очень трудно, да и вообще не особо кому-либо удалось подтвердить.
Общим научным консенсусом является присутствие хаотического поведения в динамике планет. Без всяких отговорок. Откройте любую работу - она начнется именно с этого. Можно, к примеру, того же Батыгина: Advances in computational technology and space travel have sparked continued interest in the problem of planetary orbits. In particular, it has been demonstrated that the solar system displays chaotic behavior on sufficiently long timescales (Laskar 1989, 1990; Sussman & Wisdom 1992). The four terrestrial planets display chaotic motion with a Lyapunov time on the order of 5 million years, as do the Jovian planets (Laskar 1989; Murray & Holman 1999 and the references therein). Furthermore, the mass ratios of the planets to the Sun are much larger than those required by the KAM theory to assure strictly bounded, quasi periodic variations of the orbital elements (Arnold 1961). It therefore appears that the solar system may ultimately be dynamically unstable.
Видите, что является дискуссионным вопросом? Не наличие/присутствие хаоса, а возможность катастрофических сценариев с потерей глобальной устойчивости. Вот что является предметом исследований, отсюда и свежая статья Жака Ласкара про резонансы, ссылку на которую я уже приводил, и интерес к релятивистским поправкам и пр. эффектам, влияющим на степень нелинейности в системе.
Ну и обратите внимание - всего один абзац из работы Батыгина затрагивает сразу ВСЕ вопросы, которых мы касались. Это всё, чего данная дискуссия реально стОит, вы совершенно зря упорствуете.
https://habr.com/ru/articles/755724/comments/#comment_25877160
Ага, а Эйнштейн, стало быть, работник патентного бюро.
Слушайте, ну это уже просто напросто невежливо. Вы реально начали вести себя уже как плоскоземельщик. Ну зачем вот это вот все? Только ради того, чтобы до последнего бороться за неправильное, но все-таки свое мнение? Блин, ну это смешно.
А вы не обратили внимания, что не привели ни одного возражения по существу, и при этом давно уже перешли на личности, причем не только в мой адрес, но и научного сообщества вообще? "Подозреваю, понравилось, не буду углубляться..." Это, конечно, весьма научные аргументы. А вы возьмите и углубитесь! Ну видно же невооруженным глазом, что плаваете в теме. Вот эти вот попытки сослаться на КАМ, неудачные отсылки к википедии, слова про "меры ноль" - это все настолько нелепо и грустно. Нет хаоса в Солнечной системе? Прекрасно! Жду вашей публикции в Phys. Rev. в ближайшие дни!
А это так и вообще просто позор какой-то. Вы не читаете дальше одного абзаца и не понимаете смысла написанного, лепите одно с другим без разбору.
В начале абзаца по сути написано, что работы Ласкара 1989 и 1990 года стали общепризнанными. А дальше, где вы процитировали, речь про совершенно другую работу 2009 года на основе ППН формализма, дабы исследовать вклад неньютоновских и других поправок в общую нелинейность системы. Это вообще не про количество хаотических сценариев в принципе. Ваша очередная попытка аргументации разбита просто напросто вдребезги, потому что вообще мимо и не в тему.
Вы невнимательны. Хаос я и не обсуждал. Это вы зачем-то начали неправильно поправлять Pavgran, что и заставило меня вступить в вашу с ним дискуссию о хаосе. Все остальные мои замечания к публикации касаются лишь качества счета и ответов на прямо заданные вопросы. Вы зачем-то снова все перепутали.
Смотрите, какая тут история.
1. Вы сделали утверждение, что система гравитационно-связанных тел хаотической не является. И сослались на КАМ. Но, во-первых, КАМ тут не работает, я уже объяснил почему. Во-вторых, я сослался на Жака Ласкара, который в работе 1989 года показал, что Солнечная система демонстрирует хаотическое, а не квазипериодическое поведение. Вот, можно перейти по этой ссылке, если не верите мне. Там вот прямо черным по белому так и написано, и повторяется в каждой научной статье.
2. Вы ткнули меня ссылкой на Вики про планеты-гиганты. Но, во-первых, в первую очередь всегда говорят про внутренние планеты и Плутон-Харон, поскольку для них время Ляпунова относительно мало (от 1млн до 30млн лет, что более-менее в рамках человеческих интересов). И здесь никаких сомнений нет вовсе. Во-вторых, поведение планет-гигантов - это отдельная тема. И даже если их поведение относительно "регулярно", это не влияет на основную часть вопроса - таки хаос в Солнечной системе есть безотносительно типа их собственного поведения. Поэтому ваше исходное утверждение в любом случае ложно, так как в принципе отрицает возможность хаоса.
3. Но вернемся к планетам-гигантам и известной статье, на которую ссылается русская Вики. Внимательно ее прочтем, про что она? В ней говорится, что существует противоречие между различными работами, где в одних случаях демонстрируется хаотическое поведение планет-гигантов, а в других - нет. С чем это противоречие может быть связано, и как его разрешить? В статье приходят к выводу, что противоречие не связано с вычислительными ошибками, оно объективно. А причина кроется в начальных условиях задач интегрирования, а именно в неточности текущих наблюдательных данных, в результате чего время Ляпунова для планет-гигантов может меняться в широких пределах, буквально от миллионов до миллиардов лет. По этой причине в одних работах удалось наблюдать хаос, а в других - нет (не хватало модельного времени). И если среди ансамбля траекторий в статье на отрезке 200млн лет было лишь 70% решений с хаосом, то на отрезке в 1млрд лет - уже 90%. Это не отрицание хаоса, а указание на то, что время Ляпунова может быть весьма значительным.
Обратите внимание - моего личного мнения тут нет ни на одном из этапов, мы говорим лишь о мнении научного сообщества.
Напишите это всем тем авторам, ссылки на которых я вам тут давал, они будут очень рады.
Мои, к примеру, есть в Physica D: Nonlinear Phenomena, потому что динамический хаос в нелинейных системах является частью моей специализации как теоретика. Так что я от чистого сердца пытался донести до вас положение дел, а вы зачем-то в бутылку полезли. Неприятно.
Это даже не я лично, а многочисленное научное сообщество.
Вам не нужно понимать, просто примите к сведению. Земля - круглая. Солнечная система - хаотическая.
А перемешивание это откуда вообще берется? Из нелинейности. Это именно наш случай, тут даже проверять нечего.
Я привел вам конкретный пример неточности и некорректности, какие еще могут быть вопросы? Почитайте оригинальную статью, а не пересказ.
Означает. Во-первых, речь идет лишь о планетах-гигантах, в то время как внутренние планеты и система Плутон-Харон отчетливо демонстрируют хаотическое поведение. Реально, и об этом говорится в статье, на которую ссылается русская Вики, почитайте. Во-вторых, даже в случае планет-гигантов речь идет о другом. Если бы вы почитали оригинальную статью, то обратили бы внимание на то, что в ней рассматривается ограниченное число сценариев и лишь на масштабах 200млн - 1млрд лет. При этом, если на масштабах 200млн среди рассмотренных сценариев хаотических было 70%, то на масштабе 1млрд лет - уже 90%.
КАМ этого не говорит, потому что применительно к ньютоновской гравитации корректна лишь для задачи трех тел (и снова в русской Вики об этом забыли написать). Существуют попытки обобщить выводы на задачу n-тел, но они также сталкиваются с теми или иными ограничениями. Применительно конкретно к Солнечной системе проблемой КАМ является существование резонансов, которые разрушают инвариантные торы (и снова в русской Вики тишина про это). Теме резонансов, например, посвящена одна из последних статей уже упомянутого выше Laskar: The origin of chaos in the Solar System through computer algebra.
Как я уже говорил, в этом вопросе много тонкостей, а вы зачем-то прицепились лишь к поведению планет-гигантов. Еще раз повторю - в математическом смысле Солнечная система является хаотической. Вопросы могут возникать лишь в отношении того, насколько.
Во-первых, русская Википедия - это плохой источник. Она нерегулярно обновляется и качество статей по физике в ней невысоко. Во-вторых, именно в данном случае в оригинальной статье, на которую ссылается русская Вики, говорится, что there exist clearly chaotic trajectories with complex structure and Lyapunov times-the timescale for the onset of chaos-ranging from 2million years to 230million years, as well as trajectories that show no evidence of chaos over 1Gyr timescales. Совсем не то же самое, что написано в русской статье. В-третьих, по вашей же ссылке, если бы вы внимательно посмотрели чуть дальше, цитирую: Для внутренних планет численные расчеты дают хаотичность их положения на орбите. Кроме того, особой проблемой является Меркурий, который... И снова, эта информация опять же присутствует в уже упомянутой выше статье.
В общем, не стоит доверять некачественным источникам. Там есть много особенностей и деталей, но сути это не меняет, хаотическая динамика имеет место быть.
Если вам прям интересно-интересно, то вот одна из известных и цитируемых работ на эту тему (надеюсь, токен не сдохнет): A hybrid symplectic integrator that permits close encounters between massive bodies, J. E. Chambers, 1999. Там во введении есть обзор и более ранних методов. Указанные методы делают акцент именно на том, чтобы ошибка сохранения энергии на масштабах миллиардов лет была минимальна. Ну а более простые методы уже указали.
Вообще показано, что динамика тел в Солнечной системе таки является хаотической, см. Laskar 1989, 1990. Фазовые траектории системы расходятся экспоненциально. Поэтому на масштабе порядка нескольких десятков миллионов лет моделирование астрономических факторов изменения климата (в целях палеоклиматических исследований) теряет смысл, увы.
Даже у вас на картинке симуляции движения планет земного типа видно, что орбиты спиральные, второй оборот не совпадает по радиусу с первым. Проблема не в том, что расхождение небольшое, а в том, что оно накапливается постоянно. В методе Эйлера нигде нет коррекции этого расхождения, посмотрите еще раз картинку из Вики, ссылку на которую я дал. В результате, чем больше итераций, тем больше расхождение. Даже если вы сделаете шаг интегрирования очень и очень маленьким, итераций станет настолько же больше, и просто спираль будет получаться более гладкой. Отсутствие коррекции в самом методе интегрирования (замены дифференциалов на конечные разности и приращения) - неустранимый недостаток метода Эйлера. В методах математической физики есть отдельный раздел, который связан с вязками и невязками разностных схем. Их можно придумывать и так, и эдак, но в данном случае вполне достаточно пользоваться общепринятыми и общеизвестными методами, изобретать велосипед тут не нужно. Нужно просто взять более точный метод, чем метод Эйлера. Для начала. А если вы захотите моделировать еще и столкновения или максимально близкие сближения тел, то тут и без переменного шага интегрирования не обойдется с методом контроля и коррекции.
Не могу сказать за все ВУЗы, но у нас на физфаке во времена моей юности эту задачу разбирали на первом курсе. И я своими глазами насмотрелся на все веселые ньюансы, которые тут возникают на разных этапах сложности решения.
Не буду комментировать код, прокомментирую сам подход.
1. При выполнении симуляций физических моделей уравнения принято обезразмеривать. Все эти размерные величины в ходе итераций не нужны от слова вовсе и лишь усложняют вычисления, так как на каждом шаге вы делаете лишние телодвижения, это не эффективно и излишне.
2. В вашей симуляции все планеты будут двигаться по спиралям, а не по замкнутым эллиптическим орбитам. Причина - использование метода Эйлера, который является простейшим из численных методов. Вы отрезок эллипса заменяете на небольшой кусочек прямой, но не делаете никакой коррекции на изменение угла. В результате, на каждом шаге будет накапливаться расхождение (Ломаная Эйлера и точное решение задачи), и в итоге планеты у вас постоянно будут разлетаться, система не проживет и тысячи лет. Это самая грубая ошибка, которую вы могли допустить.
3. Вместо метода Эйлера в данном случае не обязательно использовать методы прямо более высоких порядков, но хотя бы модифицированный метод Эйлера был бы гораздо лучше.
4. При выполнении симуляций строго необходимо контролировать базовые параметры системы на предмет корректности. В данном случае - закон сохранения энергии. Нужно постоянно (не обязательно на каждой итерации, но достаточно регулярно) вычислять энергию системы и следить, чтобы она не менялась (гравитационных волн у вас нет). Вы этого не сделали, поэтому ошибки остались незамеченными.
Список замечаний не полный, но для начала хватит.
Должно быть
В любом случае, strlen привносит излишнюю непредусмотренную тестом логику и работу в алгоритм. Ни один из других языков не выполняет подобного поиска среди элементов массива, поэтому правильнее было бы добавить параметры в вызов lev_dist
Смысл в том, что что мы постулируем существование векторного поля А и утверждаем, что для него справедливо выполнение философского принципа Воздействие->Результат (это нужно для связи с токами). Далее мы накладываем определенные ограничения на возможные свойства этого поля (считая, что релятивистская механика СТО отражает объективно существующие свойства нашего мира), и используем теорему Гельмгольца для разложения данного поля на сумму потенциального и соленоидального полей, которые приводят, соответственно, к симметричной и антисимметричной составляющей тензора მAi/მxk (i и k — нижние индексы). Далее выводим в общем виде уравнения, используя некоторые абстрактные константы связи, описываем метрологические эксперименты и вводим системы единиц, которые позволяют нам связать наше поле с реально существующим физическим полем. Кратко как-то вот так.