N -тела моделирования

В физике и астрономии моделирование N -тела представляет собой моделирование динамической системы частиц, обычно под влиянием физических сил, таких как гравитация (см. n Проблема -тела для других приложений). N -моделирование тела представляют собой широко используемые инструменты в астрофизике , от исследования динамики систем нескольких тел, таких как Земли -Луна , -Солнца система до понимания эволюции крупномасштабной структуры вселенной . [ 1 ] В физической космологии моделирование N -тела используется для изучения процессов нелинейной структуры, таких как галактики и галактики галактики, от влияния темной материи . Прямое моделирование N -тела используется для изучения динамической эволюции звездных кластеров .
Природа частиц
[ редактировать ]«Частицы», обработанные моделированием, могут или не могут соответствовать физическим объектам, которые носят частицы в природе. Например, моделирование N-тела звездного кластера может иметь частицу на звезду, поэтому каждая частица имеет некоторую физическую значимость. С другой стороны, моделирование газового облака не может позволить себе иметь частицу для каждого атома или молекулы газа, как это потребовало бы по порядку 10 23 Частицы для каждого моля материала (см. Постоянную константу авогадро ), поэтому одна «частица» будет представлять некоторое гораздо большее количество газа (часто реализуется с использованием гидродинамики сглаженных частиц ). Это количество не требует какого -либо физического значения, но должно быть выбрано в качестве компромисса между точностью и управляемыми требованиями компьютера.
Моделирование темной материи
[ редактировать ]Темная материя играет важную роль в формировании галактик. Эволюция времени плотности F (в фазовом пространстве) частиц темного вещества может быть описана без столкновения в Уравнении Больцмана.
В уравнении, является скоростью, а φ - гравитационный потенциал, данный уравнением Пуассона . Эти два связанных уравнения решаются в расширяющейся фоновой вселенной, которая определяется уравнениями Фридмана после определения начальных условий частиц темной материи. Обычный метод, используемый для инициализации положений и скоростей частиц темной материи, включает в себя перемещение частиц в рамках равномерной декартовой решетки или конфигурации стеклоподобных частиц. [ 2 ] Это делается с помощью приближения линейной теории или теории возмущений низкого порядка . [ 3 ]
Прямое гравитационное моделирование N -тела
[ редактировать ]В прямом гравитационном моделировании N -тела уравнения движения системы N -частиц под влиянием их взаимных гравитационных сил интегрированы численно без каких -либо упрощающих приближений. Эти расчеты используются в ситуациях, когда взаимодействие между отдельными объектами, такими как звезды или планеты, важны для эволюции системы.
Первое прямое гравитационное моделирование n -тела было выполнено Эриком Холмбергом в Обсерватории Лунда в 1941 году, определяя силы между звездами при столкновении с галактиками посредством математической эквивалентности между распространением света и гравитационным взаимодействием: поставки лампочек на положения звезд и и Измерение направленных потоков света в положениях звезд с помощью фото ячейки, уравнения движения могут быть интегрированы с усилия. [ 4 ] Первое чисто расчетное моделирование было сделано Себастьяном фон Хернером в Astronomisches Rechen-Institut в Гейдельберге , Германия. Sverre Aarseth из Кембриджского университета (Великобритания) посвятил всю свою научную жизнь разработке серии высокоэффективных кодов N -тела для астрофизических применений, которые используют адаптивные (иерархические) шаги временных близкие встречи. Ретализация - это математический улов, чтобы удалить сингулярность в ньютоновском законе гравитации для двух частиц, которые подходят друг к другу, произвольно близко. Коды Sverre Aarseth используются для изучения динамики звездных кластеров, планетарных систем и галактических ядер. [ Цитация необходима ]
Общее моделирование относительности
[ редактировать ]Многие симуляции достаточно велики, чтобы последствия общей относительности на установление космологии Фридманн-Лемейт-Робертсон-Уокера значимы. Это включено в моделирование как развивающуюся меру расстояния (или масштабного коэффициента ) в системе координат , которая приводит к замедлению частиц в координатах (а также из -за красного смещения их физической энергии). Тем не менее, вклады общей относительности и конечной скорости тяжести можно игнорировать, поскольку типичные динамические временные масштабы длинные по сравнению со временем пересечения света для моделирования, а кривизна пространственного времени, вызванная частицами, и скорости частиц невелики Полем Граничные условия этих космологических моделирования обычно являются периодическими (или тороидальными), так что один край объема моделирования соответствует противоположному краю.
Оптимизация расчетов
[ редактировать ]N -моделирование тела в принципе просты, потому что они включают просто интеграцию 6 N обычных дифференциальных уравнений, определяющих движения частиц в ньютоновской гравитации . На практике количество N участвующих частиц обычно очень большое (типичное моделирование включает в себя много миллионов, моделирование тысячелетия включает в себя десять миллиардов) и количество взаимодействий частиц с частицами, необходимыми для рассчитываемого увеличения по порядку n 2 , и поэтому прямая интеграция дифференциальных уравнений может быть чрезмерно вычислительно дорогой. Следовательно, обычно используется ряд усовершенствований.
Численная интеграция обычно выполняется на небольших временных точках с использованием такого метода, как интеграция Leapfrog . Однако вся численная интеграция приводит к ошибкам. Меньшие шаги дают более низкие ошибки, но бегают медленнее. Интеграция Leapfrog - примерно 2 -й порядок в TimeStep, другие интеграторы, такие как методы Runge - Kutta, могут иметь точность 4 -го порядка или намного выше.
Одно из самых простых усовершенствований заключается в том, что каждая частица несет с собой свою собственную переменную TimeStep, так что частицы с совершенно разными динамическими временами не должны развиваться вперед со скоростью этого с кратчайшим временем.
Существует две основные схемы приближения, чтобы уменьшить время вычисления для таких моделирования. Они могут уменьшить вычислительную сложность до O (n log n) или лучше, при потере точности.
Дерево методы
[ редактировать ]В методах деревьев , таких как моделирование Barnes -HUT , октри обычно используется для разделения объема на кубические клетки, и необходимо обрабатывать только взаимодействия между частицами из близлежащих клеток; Частицы в отдаленных клетках можно обрабатывать коллективно как единственную большую частицу, центрированную в центре масс отдаленной клетки (или в виде мультипольного расширения низкого порядка). Это может значительно уменьшить количество взаимодействий пары частиц, которые должны быть рассчитаны. Чтобы предотвратить затопление моделирования путем вычисления взаимодействий частиц частиц, клетки должны быть уточнены до более мелких клеток в более плотных частях моделирования, которые содержат много частиц на клетку. Для моделирования, где частицы не распределены равномерно, хорошо разделится методы пары разложения Каллахана и Косараджу оптимального времени O ( n log n ) на итерацию с фиксированным измерением.
Метод сетки частицы
[ редактировать ]Другая возможность - метод сетки частиц , в котором пространство дискретизируется на сетке, и для целей вычисления гравитационного потенциала предполагается, что частицы делятся между окружающими вершинами 2x2 сетки. Потенциальную энергию φ можно найти с уравнением Пуассона
где G является постоянным Ньютона и является плотностью (количество частиц в сетчатых точках). Быстрое преобразование Фурье может эффективно решать, перейдя в частотную область , где уравнение Пуассона имеет простую форму
где это то, что волновое число, а шляпы обозначают преобразования Фурье. С , гравитационное поле теперь можно найти путем умножения на и вычисление обратного преобразования Фурье (или вычисления обратного преобразования, а затем используя какой -либо другой метод). Поскольку этот метод ограничен размером сетки, на практике используется меньшая сетка или какая-то другая методика (такая как сочетание с алгоритмом дерева или простого частиц). Иногда используется адаптивная сетка, в которой сетчатые клетки намного меньше в более плотных областях моделирования.
Специальные оптимизации
[ редактировать ]Несколько различных алгоритмов гравитационного возмущения используются для получения довольно точных оценок пути объектов в солнечной системе .
Люди часто решают поставить спутник на замороженную орбиту . Путь спутника, тщательно орбита по Земле, может быть точно смоделирован, начиная с эллиптической орбиты с двумя телами вокруг центра Земли, и добавления небольших исправлений из-за непреднамеренности Земли , гравитационного притяжения солнца и луны, атмосферного сопротивления , и т. д. Можно найти замороженную орбиту без расчета фактического пути спутника.
Путь небольшой планеты, кометы или космического корабля на большие расстояния часто может быть точно смоделирован, начиная с эллиптической орбиты с двумя телами вокруг солнца, и добавления небольших исправлений из гравитационного притяжения более крупных планет на их известных орбитах.
Некоторые характеристики долгосрочных путей системы частиц могут быть рассчитаны непосредственно. Фактический путь какой -либо конкретной частицы не должен быть рассчитан как промежуточный этап. Такие характеристики включают стабильность Ляпунова , время Ляпунова , различные измерения из эргодической теории и т. Д.
Двухчастичные системы
[ редактировать ]Несмотря на то, что в типичных симуляциях есть миллионы или миллиарды частиц, они обычно соответствуют реальной частице с очень большой массой, как правило, 10 9 Солнечные массы . Это может ввести проблемы с краткосрочными взаимодействиями между частицами, такими как образование бинарных систем с двумя частицами. Поскольку частицы предназначены для представления большого количества частиц темной материи или групп звезд, эти двоичные файлы нефизические. Чтобы предотвратить это, используется смягченный закон о ньютоновском силе, который не расходится как радиус обратного квадрата на коротких расстояниях. Большинство моделирования реализуют это вполне естественно, запустив моделирование на ячеек конечного размера. Важно реализовать процедуру дискретизации таким образом, чтобы частицы всегда оказывали исчезающую силу на себя.
Размягчение
[ редактировать ]Смягчение -это числовой трюк, используемый в методах N-тела, чтобы предотвратить числовые расхождения , когда частица подходит слишком близко к другой (и сила идет к бесконечности). Это получается путем изменения регуляризованного гравитационного потенциала каждой частицы как
(а не 1/r), где это смягчающий параметр. Значение параметра смягчения должно быть установлено достаточно малым, чтобы сохранить моделирование реалистичным.
Результаты моделирования n -тела
[ редактировать ]N -моделирование тела дают выводы о крупномасштабном распределении темной материи и структуре гало темной материи. Согласно моделированию холодной темной материи, общее распределение темной материи в больших масштабах не совсем равномерно. Вместо этого он отображает структуру, напоминающую сеть, состоящую из пустот, стен, филаментов и гало. Кроме того, моделирование показывает, что взаимосвязь между концентрацией гало и такими факторами, как масса, начальный спектр колебаний и космологические параметры, связана с фактическим временем формирования гало. [ 5 ] В частности, гало с более низкой массой, как правило, формируются ранее, и в результате имеют более высокие концентрации из -за более высокой плотности вселенной во время их образования. Установлено, что формы ореолов отклоняются от совершенно сферической. Как правило, гало обнаружены удлинены и становятся все более распространенными по отношению к своим центрам. Тем не менее, взаимодействие между темной материей и барионами повлияет на внутреннюю структуру ореола темной материи. Моделирование, которые моделируют как темные вопросы, так и барионы, необходимы для изучения мелких структур.
Включение барионов, лептонов и фотонов в моделирование
[ редактировать ]Многие симуляции имитируют только холодную темную материю и, таким образом, включают только гравитационную силу. Включение барионов , лептонов и фотонов в моделирование значительно увеличивает их сложность и часто приводит к радикальным упрощениям лежащей в основе физики. Тем не менее, это чрезвычайно важная область, и многие современные симуляции в настоящее время пытаются понять процессы, которые происходят во время формирования галактики , которые могут объяснить предвзятость галактики .
Вычислительная сложность
[ редактировать ]Рейф и Тейт [ 6 ] докажите, что если проблема достижимости n -тела определяется следующим образом -учитывая n тел, удовлетворяющих фиксированному закону о потенциале электростатического потенциала, определяя, достигает ли тело шар для назначения в заданный момент, когда нам требуются поли ( n ) биты точности и Целевое время - поли ( n ) в Pspace .
С другой стороны, если вопрос заключается в том, достигнет ли тело в конечном итоге мяч назначения, проблема-Pspace-Hard. Эти границы основаны на аналогичных границах сложности, полученных для трассировки лучей .
Пример моделирования
[ редактировать ]Общий код шаблона
[ редактировать ]Простейшая реализация моделирования N-тела, где является наивным распространением вращающихся тел; Наив подразумевает, что единственными силами, действующими на орбитающие тела, является гравитационная сила, которую они оказывают друг на друга. В объектно-ориентированных языках программирования, таких как C ++ , какой-то код парикматериала полезен для установления фундаментальных математических структур, а также контейнеров данных, необходимых для распространения; а именно векторы состояния , и, следовательно, векторы , и некоторые фундаментальные объекты, содержащие эти данные, а также масса орбитального органа. Этот метод применим и к другим типам моделирования N-тела; Моделирование точечных масс с зарядами будет использовать аналогичный метод, однако сила будет обусловлена притяжением или отталкиванием путем взаимодействия электрических полей. Несмотря на это, ускорение частицы является результатом суммированных силовых векторов, разделенных на массу частицы:
Примером программного стабильного и масштабируемого метода для содержания кинематических данных для частицы является использование массивов с фиксированной длиной, которые в оптимизированном коде позволяют легко распределить память и прогнозирование потребляемых ресурсов; Как видно в следующем коде C ++:
struct Vector3
{
double e[3] = { 0 };
Vector3() {}
~Vector3() {}
inline Vector3(double e0, double e1, double e2)
{
this->e[0] = e0;
this->e[1] = e1;
this->e[2] = e2;
}
};
struct OrbitalEntity
{
double e[7] = { 0 };
OrbitalEntity() {}
~OrbitalEntity() {}
inline OrbitalEntity(double e0, double e1, double e2, double e3, double e4, double e5, double e6)
{
this->e[0] = e0;
this->e[1] = e1;
this->e[2] = e2;
this->e[3] = e3;
this->e[4] = e4;
this->e[5] = e5;
this->e[6] = e6;
}
};
Обратите внимание, что OrbitalEntity
Содержит достаточно места для вектора государства, где:
- , проекция вектора положения объектов в декартовом пространстве вдоль
- , проекция вектора положения объектов в декартовом пространстве вдоль
- , проекция вектора положения объектов в декартовом пространстве вдоль
- , проекция вектора скорости объектов в картезианском пространстве вдоль
- , проекция вектора скорости объектов в картезианском пространстве вдоль
- , проекция вектора скорости объектов в картезианском пространстве вдоль
Кроме того, OrbitalEntity
Содержит достаточно места для массовой стоимости.
Инициализация параметров моделирования
[ редактировать ]Обычно моделирование N-тела будет системами, основанными на некоторых типах уравнений движения ; Из них большинство будет зависеть от некоторой начальной конфигурации, чтобы «заселить» моделирование. В таких системах, как системах, зависит от некоторого гравитационного или электрического потенциала, сила на имитационном объекте зависит от его скорости. Следовательно, для того, чтобы заселить силы моделирования, необходимы просто начальные позиции, но это не позволит размножаться- необходимы начальные скорости. Рассмотрим планету, вращающуюся на звезде- у нее нет движения, но подлежит гравитационному притяжению к своей звезде-хозяине. По ходу времени, и добавляются временные шаги , он собирает скорость в соответствии с его ускорением. На данный момент времени, , результирующее ускорение тела из -за его соседних масс не зависит от его скорости, однако, для временного шага Полученное изменение в положении значительно отличается из -за зависимости распространения от скорости. В базовых механизмах распространения, таких как симплектический метод Euler, который будет использоваться ниже, положение объекта в зависит только от его скорости в , поскольку сдвиг в положении рассчитывается через
Без ускорения, однако, с точки зрения наблюдателя, который наблюдает только позицию наблюдателя, потребуется два временных шага, чтобы увидеть изменение скорости.
Моделирование солнечной системы может быть достигнуто путем получения средних расстояний эквивалентных точечных масс планеты от центральной звезды. неравномерный подход, основанный на полуосовых осях Чтобы сохранить код простым, будет использоваться и средних скоростях. Пространство памяти для этих тел должно быть зарезервировано до настройки тел; Чтобы обеспечить масштабируемость, Malloc может использоваться команда :
OrbitalEntity* orbital_entities = malloc(sizeof(OrbitalEntity) * (9 + N_ASTEROIDS));
orbital_entities[0] = { 0.0,0.0,0.0, 0.0,0.0,0.0, 1.989e30 }; // a star similar to the sun
orbital_entities[1] = { 57.909e9,0.0,0.0, 0.0,47.36e3,0.0, 0.33011e24 }; // a planet similar to mercury
orbital_entities[2] = { 108.209e9,0.0,0.0, 0.0,35.02e3,0.0, 4.8675e24 }; // a planet similar to venus
orbital_entities[3] = { 149.596e9,0.0,0.0, 0.0,29.78e3,0.0, 5.9724e24 }; // a planet similar to earth
orbital_entities[4] = { 227.923e9,0.0,0.0, 0.0,24.07e3,0.0, 0.64171e24 }; // a planet similar to mars
orbital_entities[5] = { 778.570e9,0.0,0.0, 0.0,13e3,0.0, 1898.19e24 }; // a planet similar to jupiter
orbital_entities[6] = { 1433.529e9,0.0,0.0, 0.0,9.68e3,0.0, 568.34e24 }; // a planet similar to saturn
orbital_entities[7] = { 2872.463e9,0.0,0.0, 0.0,6.80e3,0.0, 86.813e24 }; // a planet similar to uranus
orbital_entities[8] = { 4495.060e9,0.0,0.0, 0.0,5.43e3,0.0, 102.413e24 }; // a planet similar to neptune
где N_ASTEROIDS
является переменной, которая останется на 0 временно, но позволяет использовать будущее значительное количество астероидов, по усмотрению пользователей. Критическим шагом для конфигурации моделирования является установление диапазонов времени моделирования, к , а также постепенный шаг времени который будет развивать симуляцию вперед:
double t_0 = 0;
double t = t_0;
double dt = 86400;
double t_end = 86400 * 365 * 10; // approximately a decade in seconds
double BIG_G = 6.67e-11; // gravitational constant
Позиции и скорости, установленные выше, интерпретируются как правильные для .
Степень симуляции будет логически в течение периода, когда .
Распространение
[ редактировать ]Целая симуляция может состоять из сотен, тысяч, миллионов, миллиардов или иногда триллионов временных шагов. На элементарном уровне каждый временный шаг (для моделирования с движущимися частицами из -за сил на них) включает
- Расчет сил на каждом теле
- расчет ускорений каждого тела ( )
- расчет скоростей каждого тела (
- расчет нового положения каждого тела (
Вышеупомянутое может быть реализовано довольно просто с помощью цикла , которая продолжается, пока существует в вышеупомянутом диапазоне:
while (t < t_end)
{
for (size_t m1_idx = 0; m1_idx < 9 + N_ASTEROIDS; m1_idx++)
{
Vector3 a_g = { 0,0,0 };
for (size_t m2_idx = 0; m2_idx < 9 + N_ASTEROIDS; m2_idx++)
{
if (m2_idx != m1_idx)
{
Vector3 r_vector;
r_vector.e[0] = orbital_entities[m1_idx].e[0] - orbital_entities[m2_idx].e[0];
r_vector.e[1] = orbital_entities[m1_idx].e[1] - orbital_entities[m2_idx].e[1];
r_vector.e[2] = orbital_entities[m1_idx].e[2] - orbital_entities[m2_idx].e[2];
double r_mag = sqrt(
r_vector.e[0] * r_vector.e[0]
+ r_vector.e[1] * r_vector.e[1]
+ r_vector.e[2] * r_vector.e[2]);
double acceleration = -1.0 * BIG_G * (orbital_entities[m2_idx].e[6]) / pow(r_mag, 2.0);
Vector3 r_unit_vector = { r_vector.e[0] / r_mag, r_vector.e[1] / r_mag, r_vector.e[2] / r_mag };
a_g.e[0] += acceleration * r_unit_vector.e[0];
a_g.e[1] += acceleration * r_unit_vector.e[1];
a_g.e[2] += acceleration * r_unit_vector.e[2];
}
}
orbital_entities[m1_idx].e[3] += a_g.e[0] * dt;
orbital_entities[m1_idx].e[4] += a_g.e[1] * dt;
orbital_entities[m1_idx].e[5] += a_g.e[2] * dt;
}
for (size_t entity_idx = 0; entity_idx < 9 + N_ASTEROIDS; entity_idx++)
{
orbital_entities[entity_idx].e[0] += orbital_entities[entity_idx].e[3] * dt;
orbital_entities[entity_idx].e[1] += orbital_entities[entity_idx].e[4] * dt;
orbital_entities[entity_idx].e[2] += orbital_entities[entity_idx].e[5] * dt;
}
t += dt;
}
Сосредоточив внимание на внутренних четырех скалистых планетах в симуляции, траектории, возникающие в результате приведенного выше распространения, показаны ниже:

Смотрите также
[ редактировать ]- Пробег тысячелетия - компьютерное моделирование вселенной
- Крупномасштабная структура космоса -все пространство, наблюдаемое с Земли на настоящих
- Гаджет - компьютерное программное обеспечение для космологического моделирования
- Формирование и эволюция галактики
- Природные единицы - единицы измерения на основе универсальных физических констант
- Девственный консорциум
- Моделирование Барнс-Хута -алгоритм приближения для проблемы с n-телом
- Большое космологическое моделирование - компьютерное моделирование вселенной
Ссылки
[ редактировать ]- ^ Трент, Мишель; Хит, Пит (2008). «Моделирование N-тела (гравитационная) » . Scholaredia . 3 (5): 3930. Bibcode : 2008schpj ... 3.3930t . Doi : 10.4249 / Scholaredia.3930 .
- ^ Cmbaugh; Например,; G. efstathiou (1995). «Сравнение эволюции полей плотности в теории возмущений и численного моделирования-II. Анализ количества в клетках» . Ежемесячные уведомления Королевского астрономического общества . ARXIV : Astro-PH/9408057 . doi : 10.1093/mnras/274.4.1049 . EISSN 1365-2966 .
- ^ Дженкинс, Адриан (21 апреля 2010 г.). «Теория Лагрангианской теории возрождения второго порядка начальные условия для пересмотра» . Ежемесячные уведомления Королевского астрономического общества . 403 (4): 1859–1872. Arxiv : 0910.0258 . Bibcode : 2010mnras.403.1859j . doi : 10.1111/j.1365-2966.2010.16259.x . EISSN 1365-2966 . ISSN 0035-8711 .
- ^ Холмберг, Эрик (1941). «О тенденциях кластеризации среди туманных. II. Изучение встреч между лабораторными моделями звездных систем с помощью новой процедуры интеграции» . Астрофизический журнал . 94 (3): 385–395. Bibcode : 1941Apj .... 94..385H . doi : 10.1086/144344 .
- ^ Джон Х. Рейф; Стивен Р. Тейт (1993). «Сложность моделирования N-тела». Automata, Languages and Programming . Заметки лекции в информатике. С. 162–176. CiteSeerX 10.1.1.38.6242 .
Дальнейшее чтение
[ редактировать ]- Hoerner, Sebastian (1960). «Численная интеграция проблемы с телом N для звездных кластеров. I». Журнал астрофизики (на немецком языке). 50 : 184. Код BIB : 1960za ..... 50..184V .
- Hoerner, Sebastian (1963). «Численная интеграция проблемы n -тела для звездных кластеров». Журнал астрофизики (на немецком языке). 57 : 47. Код BIB : 1963ZA ..... 57 ... 47V .
- Aarseth, Sverre J. (2003). Гравитационное моделирование N -тела: инструменты и алгоритмы . Издательство Кембриджского университета . ISBN 978-0-521-12153-8 .
- Bertschinger, Edmund (1998). «Моделирование формирования структуры во вселенной». Ежегодный обзор астрономии и астрофизики . 36 (1): 599–654. Bibcode : 1998ara & A..36..599b . doi : 10.1146/annurev.astro.36.1.599 .
- Бинни, Джеймс; Тремейн, Скотт (1987). Галактическая динамика . ПРИЗНАЯ УНИВЕРСИТЕТА ПРИСЕТА . ISBN 978-0-691-08445-9 .
- Каллахан, Пол Б.; Косараджу, Самбасива Рао (1992). «Разложение многомерных наборов точек с приложениями к k -nearest-neighbors и потенциальным полям N-тел (предварительная версия)». Stoc '92: Proc. ACM Symp. Теория вычислений . ACM. Полем