<?xml version='1.0' standalone='no' ?>
<journal xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="JournalArticulus.xsd">
    <operCard>
        <operator>ИПМ им. М.В.Келдыша РАН|Publicator</operator>
        <date>2026-04-08 19:47:33</date>
        <cntArticle>1</cntArticle>
        <cs>0</cs>
    </operCard>
    <titleid>32018</titleid>
    <issn>2071-2901</issn>
    <codeNEB>20712901</codeNEB>
    <journalInfo lang="RUS">
        <title>Препринты ИПМ им. М.В.Келдыша</title>
    </journalInfo>
    <issue>
        <volume/>
        <number>43</number>
        <altNumber/>
        <part/>
        <dateUni>2024</dateUni>
        <issTitle/>
        <pages>1-25</pages>
        <articles>
            <article>
                <pages>1-25</pages>
                <artType>RAR</artType>
                <authors>
                    <author num="001">
                        <authorCodes>
                            <spin>5130-3745</spin>
                            <orcid>0000-0002-0564-1101</orcid>
                        </authorCodes>
                        <individInfo lang="RUS">
                            <surname>Поташов</surname>
                            <initials>Марат Шамилевич</initials>
                            <orgName>Институт прикладной математики им. М.В.Келдыша РАН</orgName>
                            <email>marat.potrashov@gmail.com</email>
                        </individInfo>
                        <individInfo lang="ENG">
                            <surname>Potashov</surname>
                            <initials>M.S.</initials>
                            <orgName>Keldysh Institute of Applied Mathematics RAS</orgName>
                        </individInfo>
                    </author>
                </authors>
                <artTitles>
                    <artTitle lang="RUS">Несохранение импульса в методе FMM в коде PHANTOM</artTitle>
                    <artTitle lang="ENG">Non-conservation of momentum in the FMM method in the PHANTOM code</artTitle>
                </artTitles>
                <abstracts>
                    <abstract lang="RUS">В статье рассмотрен способ реализации метода быстрых мультиполей (FMM, Fast Multipole Method) в коде PHANTOM. Было показано, что для любой пары ячеек kd-дерева для взаимно-обратного взаимодействия выполняется третий закон Ньютона. Однако для всей системы импульс не сохраняется.</abstract>
                    <abstract lang="ENG">The article discusses the implementation of the fast multipole method (FMM) in the PHANTOM code. It has been demonstrated that for any given pair of mutual interaction cells in a kd-tree, Newton's third law holds. However, momentum is not preserved for the entire system as a whole.</abstract>
                </abstracts>
                <text lang="RUS">
1. Введение 
При точном расчёте сил в самогравитирующей системе, действующих между ..массивными частицами, число вычислений для каждого численного шага растёт с ростом числа частиц как ..(..2), что делает практически невозможным, расчёты с использованием десятков тысяч частиц. Для решения проблемы квадратичного роста вычислительных затрат в задаче расчёта самогравитации было предложено несколько альтернативных методов: tree-code [1], быстрый метод мультиполей (FMM, Fast Multipole Method, [2—5] ), гибридные сеточные методы [6] на основе FMM. Метод [1] даёт рост сложности вычислений ..(..log ..). Многие FMM реализации [7—9] дают линейную сложность ..(..). А некоторые, такие как [10], даже ..(..0.87)при сравнимых ошибках. FMM стабильно входит в десятку лучших алгоритмов XX века [11—13]. 
В этой статье рассмотрена реализация метода FMM в магнитогидродинамическом коде PHANTOM. 3D Код PHANTOM основан на методе гидродинамики сглаженных частиц (Smoothed Particle Hydrodynamics, SPH) [14; 15]. В вычислительной астрофизике этот метод является одним из лидеров по распространённости. Код успешно использовался в различных областях астрофизики [16—21]. Текущая реализация FMM в PHANTOM в декартовых координатах показывает сложность ..(..log ..), но, как мы покажем, не сохраняет полный импульс системы. 
Статья структурирована следующим образом: В разделе 2 
кратко описываются код PHANTOM и реализованный в нём способ расчёта сил самогравитации. В разделе 3 
доказывается выполнение третьего закона Ньютона для любой пары ячеек kd-дерева [22] в случае взаимно-обратного взаимодействия. А в разделе 4 
показано, что третий закон не выполняется при способе описания взаимодействия, используемого в коде PHANTOM,и возникает нефизическая сила. В разделе 5 
показано, как при этом мигрирует центр масс системы. А в разделе 6 
проиллюстрировано несохранение импульса для всей системы в расчётах PHANTOM на примере одиночной нейтронной звезды (НЗ). Также показано, какие факторы влияют на это несохранение. В итоговом разделе 7 
делается вывод о необходимости изменения кода PHANTOM, например, основанного на работах [7; 8]. 

2. Описание сил самогравитации в PHANTOM 
Код PHANTOM использует SPH – это лагранжевый бессеточный метод. Частицы в методе SPH представляют собой объемные элементы среды незаданной формы, которым приписываются физические характеристики: координаты, скорость, масса, плотность, характерный размер, температура, давление и так далее. В PHANTOM вводится ограничение: все частицы имеют одинаковую массу. Дискретное представление среды в виде сглаженных частиц предполагает замену непрерывных характеристик ..(..) на кусочно­постоянные величины ...., определяемые для каждой частицы ..через сумму .. величин .... из частиц окружения .., лежащих вокруг частицы ..,с использованием весовой (сглаживающей) функции-ядра. Аппроксимация пространственных производных в правых частях уравнений законов сохранения в SPH производится через перенос производных в координате частицы на производную от сглаживающей функции-ядра. На основе решений уравнений движения, неразрывности, энергии и т.п. частицы меняют положения, плотность, температуру, для них рассчитывается новое поле давления и так далее [14]. 
Далее мы будем использовать систему единиц, при которой единица времени 
v ..3 
..time =dist , (1) G..mass а ..dist и ..mass – единицы измерения расстояния и массы соответственно. Для получения ускорения ..grav SPH-частицы вследствие действия сил самогравитации необходимо найти гравитационный потенциал ., удовлетворяющий уравнению Пуассона, который записывается в нашей системе единиц как .2.=4....(..), (2) 
где ..– плотность вещества. Тогда соотвутствующее ускорение будет ..grav = .... 
Так как уравнение (2) эллиптического типа подразумевает мгновенное действие, то его решение должно быть глобально для всей системы: на одну выбранную частицу действуют все другие – и близкие и далёкие. Такое решение в PHANTOM ищется представлением полного ускорения SPH-частицы, как суммы ускорений из-за ближнего и дальнего взаимодействий: 
..grav =..short +..long. (3) 
Разбиение (3) продиктовано соображениями оптимизации вычислений. Способ расчёта двух типов ускорений различен. 
Для определения, какие взаимодействия считать ближними, а какие дальними, выполняется следующая процедура. Все SPH-частицы системы иерархически группируются в ячейки kd-дерева. Алгоритм рекурсивно разрезает ячейки через их центры масс, формируя новые подъячейки, разбивая на две части самую длинную ось, чтобы оставлять ячейки более компактными и невытянутыми. Это позволяет избегать ненужных ошибок при обрезании их мультипольных разложений [9]. Процедура останавливается для ячеек, содержащих максимум 10 SPH-частиц. Такие ячейки называются листовыми, а вышестоящие по иерархии называются супер-ячейками. 
Рассмотрим две произвольные необязательно листовые ячейки .. и .., расстояние между их центрами масс обозначено через ... Частицы первой взаимодействуют со второй ближним образом, когда удовлетворяется один из двух критериев. Первый критерий: 
2 ..2&lt;(....
, (4) 
..)
где 0....1– угловой параметр. Заметим также, что при ..=0критерий (4) выполнен всегда и ..grav = ..short. В этом случае все ускорения в системе рассчитываются прямым суммированием. 
Второй критерий описывает возможность пересечения сфер сглаживания для SPH-частиц разных ячеек: 
..2&lt;[....+....+max(..kern.max.. ,..kern.max.. )]2. (5) 
Здесь .. – размер ячейки, который равен минимальному радиусу сферы, с центром в центре масс ячейки, содержащей все её SPH-частицы, .max – максимальная длина сглаживания среди всех частиц ячейки, а ..kern – безразмерный радиус обрезания сглаживающего ядра ..(.). Шар радиусом ..kern. есть компактный носитель ядра ..(.). Все физические величины, описываемые SPH-частицей, для расстояний от центра частицы, больших чем..kern., равны нулю. Говорят, что функция ядра финитна [23]. 
Ближнее ускорение ..short вычисляется прямым суммированием по соседним частицам: дискретным образом – в случае если они разнесены дальше, чем ..kern.., и сглаженным с ядром ..(..)– в противном случае [15; 24]. Здесь .. – длина сглаживания для гравитационного потенциала, которая в PHANTOM совпадает со стандартной длиной сглаживания .. Гравитационный потенциал SPH-частицы, сглаженный ядром ..(..)для точек ..&gt;..kern.., ведёт себя как 1/... Такое ядро уже не является финитной функцией. 
Для вычисления компонент дальнего ускорения в PHANTOM 
..long 
применяют следующую процедуру. Компоненты гравитационного ускорения конкретной выбранной ячейки .. вследствие притяжения другой ячейкой .. получают мультипольным разложением ускорения по степеням 1/..: 
....&gt;..,..(..).=.....2.......+..14(.........,.....52...................,....). (6) 
Здесь ... – вектор, соединяющий центры масс ячеек ..и .., ..– его длина, а ..... – компоненты соответствующего единичного вектора, ....– полная масса ячейки 
.., ....,.... =...p [3...........2......] (7) .
..... 
– квадрупольный момент ячейки .., ... – радиус-вектор, исходящий от центра масс ячейки ..до её некоторой частицы внутри ячейки, а ..p – масса SPH­частицы, которая в PHANTOM считается одинаковой для всех. 
Рассмотрим некоторую SPH-частицу внутри ячейки .., с радиусом­вектором . Компоненты гравитационного 
.., исходящим из центра масс ... ускорения этой SPH-частицы, вызванного взаимодействием с ячейкой .., получают разложением ....&gt;..,.. по ряду Тейлора для малого отклонения ... от ... до второго порядка 
......&gt;..,..(..) ...2....&gt;..,..(..) .
....&gt;..,..(..=....&gt;..,..(..)+.... +1 . (8) 
.., ..).2........ 
...... ............ 
Такой подход называется быстрым методом мультиполей (FMM, Fast Multipole Method, [2]). В PHANTOM он реализован в декартовых координатах. Используя нотацию статьи [10], можно сказать, что для определения добавочного ..long в PHANTOM требуется выполнить шаги: P2M (particle to multipole) – уравнение (7), M2L (multipole to local expansion) – уравнение (6) и, наконец, 
L2P 
(local 
expansion 
to 
particle) 
– 
уравнение 
(8). 
В следующем разделе мы докажем выполнение третьего закона Ньютона для любой пары ячеек, все ускорения частиц в которых описывается формулой (8). 

3. Симметричное взаимодействие пары ячеек kd-дерева 
Рассмотрим пару ячеек kd-дерева – .. и .. (см. Рис. 1), достаточно удалённых друг от друга, так, что их параметры не удовлетворяют критериям 
. ... 
близости (4, 5). Радиус зоны ..на Рис. 1 
равен ....+..kernmax, так что она вмещает в себя носители ядер всех SPH-частиц. Здесь .... – минимальный радиус сферы с центром в центре масс ячейки .., содержащий все её SPH­частицы, а ... 
max – максимальная длина сглаживания среди всех частиц ячейки ... Ячейки необязательно являются листовыми. Полные массы ячеек обозначим как ....и ..... 
Пусть радиус-векторы SPH-частиц внутри ячеек ..и .., исходящие из их центров масс, называются .., . ... соответственно. Введём также вектор .., . проведённый между центрами масс ячеек, и его длину ..=|..|. . Тогда расстояние между двумя произвольными частицами разных ячеек есть 
...... =|..+ ... ..|. 
...(9) 

Рис. 1. Гравитационное взаимодействие SPH-частиц ячейки ..c SPH-частицами ячейки ..kd-дерева. Подробности в тексте. 
Для того чтобы определить потенциал, созданный всеми частицами ячейки ..в точке ... ячейки .., нужно найти решение уравнения Пуассона (2) во . 
внешней области зоны ... При этом будем полагать потенциал равным нулю на 
бесконечности. 
Решением 
такой 
задачи 
(см., 
например, 
[25]) является выражение 
...&gt;..(..).=4... ..( ....(10) 
..)..( ..+ ..,..)d3.., 
... 
где 
..(...=.1 
..+ ..,..)(11) 
4........ 
– функция Грина оператора Лапласа. Важно отметить, что функция Грина симметрична относительно перестановки 
(..,....(12) 
..,..).(.., ..,. ..). 
Так как коэффициент 4..сокращается в (10), то далее в записи функции Грина 
(11) мы будем его отбрасывать. В SPH плотность определяется как ([14]) 
..neigh
..( .=...p..(| .. (13) 
..)... ....|,.), 
..=1 
где суммирование ведётся по всем соседним с точкой ... частицам ..... , то есть частицам, попадающим в компактный носитель сглаживающего ядра .., ..p– масса SPH-частицы. В этих рассуждениях будем считать, что .фиксирована. 
Несмотря на то что в (13) определяется плотность только для частиц внутри ячейки .., на плотность влияют частицы, находящиеся вне .., но внутри . 
... Так, на Рис. 1 
на плотность вокруг частицы 2 влияет наличие частицы 1, так как расстояние между ними меньше, чем ..kern.2. Здесь .2 – длина сглаживания для частицы 2. 
В (13) не изменится результат плотности для . 
.., если вместо суммы по ..neigh мы будем суммировать по всем частицам зоны ... . 
..( .=...p..(| .. (14) 
..)... ....|,.). 
..... .... 
Подставляя (14) в (10), меняя местами сумму и интеграл и учитывая, что по определению SPH ([14]), значение какой-либо физической величины .. можно записать как 
..(.=..(....)..(| ... ....|,.)d3...., 
..).. .. (15) 
... 
получаем 
...&gt;..(..=...p..(..+ ..,..). 
.., ..)...(16) 
... .... 
Наконец, подставляя (11) в (16), имеем 
..p ...&gt;..(.., ...).=.. . (17) ...... 
... .... 
Подобные же рассуждения можно провести и когда .(..) .меняется в зависимости от плотности и является функцией пространства [24]. 
..p
...&gt;..(..=.. 2(..(| ......(18) .., ..)... ..|,.( ..))+..(| ... ..|,.( ..)). 
... .... 
Здесь ядро сглаживания ..для потенциала определяется из решения уравнения Пуассона: 
1 .. 
..(..,.)= ....(..2.... 
4....2 ....), где ...|... ..|. 
.. 
Таким образом, потенциал в некоторой точке ... ячейки ..определяется всеми частицами зоны . 
...В PHANTOM, 
однако, 
в 
сумме 
(17) игнорируют вклад частиц вне ячейки ... Ошибку такого приближения ещё предстоит оценить. В данной работе мы также не учитываем вклад таких SPH-частиц. 
Компонента ..ускорения SPH-частицы в точке . 
.., вследствие притяжения её всей ячейкой ..есть 
......&gt;..(.., ...) ........( ..+ ..,..) 
....&gt;..,..(.., ...).==.. ..p . (19) 
...... ....... 
..... 
Компоненты полной силы, действующей на ячейку ..со стороны .., получаются суммированием (19) для всех SPH-частиц ячейки ... 
....( ...
..+ ..,..) 
....&gt;..,..(..).=. . ..p 2. (20) 
...... 
.....,....... 
В силу симметрии функции Грина относительно перестановки (12) полученное выражение симметрично: ....&gt;..,..=....&gt;..,... 
Суммируя (19) по всем ячейкам .., мы получим полное ускорение SPH­частицы в точке . 
... Даже с учётом того, что функция Грина симметрична относительно перестановки (12), понятно, что для подсчёта поведения всех .. SPH-частиц в системе необходимо . ..2 раз взять от неё производную при большом ... Как описывалось в разделе (1), для решения проблемы квадратичного роста сложности вычислений было предложено несколько альтернативных методов. Некоторые из них показывают сложность ..(..0.87) при сравнимых ошибках. Конечно, такой выигрыш в скорости во многом связан с рекурсивным способом обхода дерева и поиском взаимно­симметрично взаимодействующих ячеек [7]. Но все эти методы объединяет одно свойство – замена взаимодействия “частица – частица” на типы взаимодействий: “частица – ячейка”, “ячейка – ячейка”. Для реализации этого используется мультипольное разложение. 
Разложим функцию Грина (11) в ряд Тейлора по малым отклонениям ... и ... от ... до порядка ..: 
.. ...|..|..........|..|+|..|..(...
..+ ..,..) 
..(...=.. . +....(..+ ..,..). (21) 
..+ ..,..)...
..!..! ............ 
.
..=0 
|..|=0|..|=0 ..=0
.
Здесь мы используем мультиндексную нотацию (см., например, [10; 26]), которая в данном случае удобнее тензорной. Первая сумма соответствует тройному суммированию для каждой из компонент .., . при этом сумма индексов |..|=....1+....2+....3 .... Вторая сумма соответствует тройному суммированию для каждой из компонент .., . тогда как сумма индексов |..|=....1+....2+....3 ....|..|. .... – остаточный член формулы Тейлора. Остальные обозначения берутся из ряда эквивалентностей: 
.........1..1....2..2....3..3 .......1....1..2....2..3....3 ..!.....1!....2!....3! ..!.....1!....2!....3! (22) 
.............1..1......2..2......3..3 ...........1....1....2....2....3....3 
Более того, градиент функции Грина в точке ...=...=0зависит только от ..: . 
..|..|+|..|..(..+ ...,...) .. =(.1)|..|....+....(..,0). 
.(23) 
............ 
.
..=0 .
..=0
Здесь введены обозначения 
....+.......|..|+|..|.. 
(24) 
......+.. , 
......+.......1....1+....1....2....2+....2....3....3+....3. (25) 
Подставляя (21) с учётом (23) в (16) при .. = 3, мы получим выражения из статей [7; 8]. Взяв производную функции Грина (21) с учётом (23) по ....и подставив в (19), после перегруппировки членов будем иметь 
...1 
....&gt;..,..(.., ...)=...!........&gt;..,..(..)+ ....(..(26) 
..... ...., ..), 
|..|=0 
где 
...1.|..|
....&gt;..,..(..).= . ........+1..(..,0), .(27) |..|=0 
(.1)|..+1| ....=. (28) 
..! .... 
.
..... 
– мультипольные моменты, а .....(.., ...).– остаточный член. 
При .. = 3ряд (26) напоминает выражение ускорения в PHANTOM (8). Однако есть различия: в уравнении (8) максимальная степень 1/.., получаемая в третьем слагаемом, соответствующем матрице Гессе, – 6, а в уравнении (26) такая степень – 4, получаемая из ..3..( .
..,0). 
Чтобы получить нужные степени, проделаем следующую процедуру: выпишем ряд (26) при ..=5, но отбросим в нём все члены с ..=3, ..=4, .. = 3, .. = 4, исключив октополи и более высокие порядки по ..и ... Итоговый ряд отличается от ряда (26) при ..=3наличием дополнительных 3 слагаемых с парами индексов 
(..,..)=(1,2);(2,1);(2,2), (29) 
сумма которых меньше, чем значение остаточного члена ...3(.., ...)., оставаясь в пределах этой ошибки. Итоговые выражения 
2.... ....&gt;..,..(.., ...). . ..!........&gt;..,..( .(30) 
...) 
|..|=0 
и 
2....&gt;..,..(..).= .........+1..(..,0) .(31) |..|=0 
полностью совпадают с (8) и (6) соответственно. 
Можно дать ещё одно описание различию подходов (26 
– 28) и (6 
– 8). Будем называть все частицы ячейки ..– приёмниками, а частицы ячейки ..– источниками. Тогда подход (26 
– 28) подразумевает разложение по Тейлору по малым отклонениям от ... и источника и приёмника так, что суммарный их порядок не больше ...1. А подход (6 
– 8) – разложение сначала по малым отклонениям от ... источника до порядка ...1 и только затем по малым отклонениям приёмника до порядка ...1. 
Теперь вернёмся назад к выражению (21). Оно симметрично относительно перестановки (12) в каждом порядке точности. Однако симметрия этого выражения не изменится, если провести описанную выше процедуру: добавить к ряду (21) при ..=3симметричные по индексам пары (29). Подставляя исправленную таким образом симметричную функцию Грина в (19), мы снова получим ускорения из PHANTOM (8), а подставляя её в (20), мы докажем выполнение третьего закона Ньютона для любой пары ячеек, ускорения частиц в которых описывается формулой (8). 

4. Несимметричное взаимодействие пары ячеек kd-дерева 
В предыдущем разделе мы видели, что суммарная сила взаимодействия для любой пары ячеек равна нулю. Значит, если для оценки сил самогравитации для каждой частицы, на каждом расчётном шаге по времени в расчёте будут фигурировать именно пары взаимно-обратно взаимодействующих ячеек, то все силы во всей системе будут скомпенсированы с машинной точностью. По крайней мере с точностью ошибки, возникающей вследствие суммирования большого количества чисел с плавающими точками [27—29]. 
В PHANTOM на каждом расчётном шаге после обновления kd-дерева для каждой листовой ячейки ищется парная достаточно удалённая ячейка, не удовлетворяющая обоим критериям близости (4) и (5). Важно, что такая пара ищется только для листовых ячеек, но не для супер-ячеек. То есть в таком методе будут встречаться прямые пары “листовая ячейка &lt;супер-ячейка”, но никогда не будут рассматриваться обратные пары, что приводит к асимметрии. Также в PHANTOM критерий близости ячеек (4) асимметричен, так как содержит параметры только одной ячейки. 

Рис. 2. Несимметричное гравитационное взаимодействие SPH-частиц листовой ячейки ..c SPH-частицами супер-ячейки ..kd-дерева. Подробности в тексте. 
На Рис. 2 
представлена модель такой ситуации. Листовую ячейку ..с . 
массой .... притягивает с силой ....&gt;.. супер-ячейка .. с массой ..... Пусть центры масс ячеек ..и ..находятся на расстоянии ... Супер-ячейка ..состоит из двух листовых ячеек ..1 и ..2, которые притягивают ..с силами . 
....&gt;..1 и . 
....&gt;..2 соответственно. Массы же этих ячеек ....1 и ....2 в сумме дают ..... Будем считать, что ....2&gt;....1. Пусть радиус-вектор центра масс ячейки ..1, проведённый из центра масс ячейки ..есть . 
... Тогда радиус-вектор центра масс ячейки ..2, исходящий из центра масс ячейки .. есть .......1
./....2, в силу определения центра масс ... Компонента ..суммарной силы, действующей на центр масс всей системы, есть 
....=....&gt;..,..+....&gt;..1,..+....&gt;..2,..= 
...p....&gt;..,..+. ..p....&gt;..1,..+. ..p....&gt;..2,.., (32) ........
.....1 .....2 
где выражения для ускорений берутся из (8) или, что то же самое, из (30), а суммирование ведётся по своим внутренним частицам каждой ячейки. Все центры масс ячеек лежат в одной плоскости .. (плоскость Рис. 2). Без ограничения общности расположим систему координат так, что одна ось проходит через центры масс ячеек ..и .., вторая лежит в плоскости .., а третья перпендикулярна ... 
Разложим .... по малым отклонениям ... до третьего порядка и выпишем старшие члены: 
....1 
..1...25........ (1.....1)(2..21.3..22)..1, 
....2 ....2 (33) 
....1 
..2. 3 (1.....1)(..22.4..21)..2. 
2..5............2 ....2 
Компонента силы ..3 с этой точностью равна нулю. Важно отметить, что в выражениях (33) не участвуют квадрупольные моменты ячеек, а значит, расположение SPH-частиц внутри каждой ячейки не влияет на силу. Максимизируя норму ..вектора ... для различных .., надём оценку сверху 
. 
....1 
... 4..3........ (1.....1), (34) 
..5....2 ....2 
где ..=|..|.– расстояние до центра масс самой удалённой ячейки. 
Повторяя подобные рассуждения на случай, когда внутри супер-ячейки .. находятся более двух листовых ячеек, а вместо листовой ячейки ..может быть не только листовая, но и супер-ячейка с дочерними листовыми ячейками..1,..2,…, при этом считая, что ячейки с индексами ..1, ..1имеют самые малые массы, мы получим обобщение выражения (34): 
[ ....1..
...4. ........ 3..1 (1. ....1 )+ 
..5.........1 .........1 
..,.. .... ....1....31 ....1 (35) 
+ (1. )]. 
.........1 .........1 
Здесь ....1 и ....1 – расстояния до центров масс самых легких удалённых ячеек от центров масс ..и ..соотвественно, а суммирование ведётся по всевозможным несимметричным парам .., .., расстояния между которыми ....... Если же ячейка ..в каком-то слагаемом листовая, то считается, что первое слагаемое в квадратных 
скобках 
в 
(35) равно нулю, то есть её размер нулевой. Также тут не предполагалось, что все ячейки обязательно лежат в одной плоскости. 
Возникшая нефизическая нескомпенсированная сила действует на каждую из SPH-частиц пары ..,... Будем называть такую пару ячеек несимметричной. Все остальные пары ячеек на текущем расчётном шаге могут быть симметричными, и силы в них скомпенсированы. На следующем же шаге расчёта, при обновлении kd-дерева, может возникнуть новая несимметричная пара ячеек, ориентированная в пространстве по-другому, или несколько пар. Центр масс вообще всей системы (всего kd-дерева) испытывает “толчок” .. на каждом шаге в разных направлениях. Можно сказать, что случайная нескомпенсированная сила будет действовать на систему как целое, смещая её от начального положения. Система перестаёт быть консервативной, и мы лишаемся одного из основных преимуществ SPH подхода по сравнению с сеточным. 
Есть ещё одно замечание. Если бы в (32) мы использовали вместо (8) ускорения из (26) при ..=3, то итоговая сила оказалась бы равна нулю, так как минимальный член в разложении был бы порядка 1/..4. Такая точность не позволила бы возникать дополнительной силе в паре асимметричных ячеек, а значит, и во всей системе. Однако в PHANTOM такая сила возникает, и в следующем разделе мы рассмотрим, как будет мигрировать центр масс системы вследствие её действия. 

5. Смещение центра масс системы 
Посмотрим теперь, на какое расстояние смещается система как целое, если она периодически получает “толчок” силой, описываемой изотропной случайной величиной ...., модуль которой равномерно распределён от нуля до ... Cреднее воздействие по времени такой силой есть ......=0,а среднеквадратичное .....2.=..2/3. Для простоты будем считать, что расчётные шаги по времени одинаковые. Тогда каждые ...системе передаётся импульс ......., или, что то же самое, она получает некоторую добавочную скорость .....=......./.., где ..– масса системы, и 
..2 
......2.=3.....2. (36) 
Будем рассматривать одну компоненту скорости, например ..-компоненту. Величины “толчков” скорости в последовательные моменты времени есть ...1, 
...2и т.д. Скорость на интервале от ..до ..+1есть 
..
....,..+1=......, 
..=1 
а смещение ....,..+1=....,..+1.... Смещение на интервале от единицы до ..+1 есть 
......1,..+1=.....,..+1=.........(.....+1). 
..=1 ..=1 Среднее же смещение ......равно нулю, поскольку .......=0, однако квадрат смещения нулю не равен: 
.....2=...2.......2.(.....+1)2, 
1,..+1...=1 
где мы учли, что ............=0 при ...... Величину ......2. можно считать независимой от ... Тогда 
...2=...2......2....2. 
1,..+1...
..=1 
Сумма здесь есть ..(..+1)(2..+1)/6...3/3при ...1,а ..=../..., где ..– время наблюдения за системой. Окончательно для полного смещения 
...2.=.....2.+.....2.+.....2. 
получим 
..v... 
v...2.=.. 3..3/2. (37) 
Величина переданного импульса случайна, а значит, и скорости складываются из множества “скачков” в импульсном пространстве. Можно сказать, что действие хаотической силы на систему приводит к случайным блужданиям в пространстве импульсов. Отсюда 
.....,..+12 .=........2., 
где .....,..+12 .– средний квадрат скорости, которой обладает система на интервале от ..до ..+1. Переписав последнее выражение как функцию времени и учитывая (36), получим 
..v... 
v...2.=.. 3..1/2. (38) 
Отсюда видно, что скорость неограниченно растёт со временем. 
Из уравнения (37) следует недиффузионный закон случайных блужданий |..(..)|...3/2 (в случае диффузии было бы |..(..)|...1/2). Такое отклонение возникает оттого, что система “помнит” предысторию своего движения, накапливая импульс, нарушая при этом условие независимости последовательных шагов. Смещение центра масс системы вследствие небольшого хаотичного изменения его скорости движения на каждый шаг счёта называется случайным блужданием с памятью [30, пар. 7.1]. 
Теперь, когда мы знаем, от чего зависит сила “толчка”, разберёмся, что влияет на его частоту. В PHANTOM в конце каждого численного шага определяется ...следующего шага, как минимум всех видов ограничений на шаг по всем SPH-частицам. Обычно в ходе расчёта самое строгое ограничение следует из критерия Куранта – Фридрихса – Леви [15]. 
... 
...=..cour min, (39) .. max..sig,....
.. 
где ..cour =0.3, 
(..p 1/3 
...=.fact ), (40) 
....
– длина сглаживания, .fact – численный параметр близкий к единице, а 
..AV
..sig,....=....s,..+..AV ......... . (41) 
......
– скорость сигнала, который является множителем в тензоре искусственной вязкости [15, ур. 40]. Здесь ..AV.. , ..AV – безразмерные константы порядка единицы, точное значение которых сейчас не важно, 
. ..........., 
................,.......(.........)/
а скорость звука 
v...... 
..s,p =. (42) 
.... 
Искусственная вязкость для метода SPH содержит как линейный по скорости член при множителе ..AV.. , аналогичный сдвиговой и объемной вязкости, так и квадратичную вязкость при множителе ..AV, аналогичную вязкости фон Неймана-Рихтмайера [31]. Ограничимся случаем политропного уравнения состояния вещества: 
....=......... (43) 
Объединяя (40 
– 43) и подставляя в (39) для случая гидростатического равновесия, когда ......=0, получим с точностью до пропорциональности 
..(1...)......1p /3 2.1(44) 
3. 
В следующем разделе мы продемонстрируем “уползание” центра масс системы в расчётах PHANTOM. 

6. Несохранение суммарного импульса системы в PHANTOM 
Для иллюстрации несохранения суммарного импульса мы будем использовать модель одиночной НЗ. Для этого в PHANTOM “соберём” из .. SPH-частиц шар радиусом .. = 10км и массой .. = 1..., с профилем плотности, удовлетворяющим уравнению состояния политропы с ..=1 (показатель адиабаты вещества ..=2). Все массы SPH-частиц одинаковы 
..p .../... (45) 
Частицы первоначально располагаются однородно и изотропно в пространстве, а затем распределяются в соотвествии с требованиями заданного профиля плотности и радиуса с сохранением относительного расположения по массовой координате (stretch mapping, [15]). Начальные скорости всех частиц равны нулю. С такой исходной модели стартует симуляция PHANTOM, в ходе которой решается полная система динамических уравнений движения самогравитирующих частиц в приближении SPH. На Рис. 3 
представлены результаты расчётов для случаев с различными числами SPH-частиц, где единица измерения расстояния ..dist =1 км, единица измерения массы ..mass =1..., единица измерения времени, в соответствии с (1), ..time =2.75.10.6 c, а параметр .. из (4) равен 0.5. Длительность моделирования мы взяли из следующих соображений: тесная двойная система одинаковых НЗ с указанными выше параметрами совершает десятки орбитальных оборотов за время . 4.104 [..time]. Видно (Рис. 3), что за это время в процессе релаксации до гидростатического равновесия НЗ смещается от своего начального положения на расстояние, сравнимое со своим размером! 
Однако если мы проделаем такой же расчёт при параметре ..=0 из критерия близости (4), когда все гравитационные силы в системе рассчитываются прямым суммированием, то такого “сползания” центра масс системы уже не будет (см. Рис. 4) даже на длительностях моделирования . 5 .104 [..time], что доказывает, что основное влияние на эффект неконсервативности оказывают гравитационные силы дальнего взаимодействия. 

Рис. 3. Смещение центра масс для одиночной нейтронной звезды, рассчитанное для пяти различных чисел SPH-частиц при ..=0.5. 
Оценим, какие параметры влияют на величину суммарного импульса звезды, используя результаты раздела 4. Для оценки примем, что все листовые ячейки имеют одинаковую массу 
....=10..p. (46) 
Хотя на практике встречаются ячейки, в которых число SPH-частиц меньше, чем 10, но подавляющее большинство содержит как раз максимальное допустимое число частиц при построении kd-дерева. Тогда введём ....=..../.... и ....=..../.... – число листовых ячеек в супер-ячейках ..и .. соответственно. Наконец, помня, что ....1, ....1 – расстояния до самых далеких листовых ячеек, будем считать, что это характерные размеры .... и .... их родительских ячеек соответственно. Если же ячейка ..листовая в каком-то слагаемом, 
то 
будем 
считать, 
что 
её 
размер 
нулевой. 
Тогда 
(35) изменится как 
........ (.....2) (.....2) 
...4....2. [..3.. .. (47) 
..5(.....1)2+..3(.....1)2]. 
..,.. .... 
У любой супер-ячейки при изменении общего числа чаcтиц .. число содержащихся в ней листовых ячеек будет изменяться как кусочно­Рис. 4. Смещение центра масс для одиночной нейтронной звезды, рассчитанное для двух различных ..при числе частиц ..=50000. 

постоянная функция, принимающая значения, близкие к функции, пропорциональной ../10. То есть .... и .... близки к линейной функции ... Далее, так как каждая пара ячеек в сумме (47) по построению не удовлетворяет критерию близости (4), то (..../......)3 и (..../......)3 ограничены сверху угловым параметром ..3/2. Из (45) и (46) следует, что .... . ../..,а любые расстояния между ячейками .......... Число пар асимметричных ячеек в сумме (47) меняется пропорционально функции ....+1, где 0....1,и зависит от величины углового параметра .., который определяет число участников взаимодействия. 
Суммируя все вышесказанное, мы получаем, что величина 
...(../..)2..... (48) 
На Рис. 5 
можно видеть, как .. =max....(..)действительно меняется где-то в 
.. 
два раза при изменении числа частиц в 10 раз, что соответствует ...0.3. Если принять, что средняя плотность НЗ 
.1 
..=..(34....3), (49) 

Рис. 5. Модуль нескомпенсированной силы, действующей на центр масс одиночной нейтронной звезды, рассчитанной для трёх различных чисел SPH­частиц при ..=0.5. 
то из (45) и (44) следует: 
2 ..1.3(1...)
......(1...)2 ...1/3. (50) Наконец, подставляя (48) и (50) в (37), получим 
4 ..3(...3)
v...2....(5...).....1/6..3/2. 
4 (51) Выпишем три частных случая для НЗ промежуточных масс (..=2): 
v...2..(.. 3.....1/6..3/2, (52) 
..)4 для белого карлика (БК) (..=5/3): 
v...2......5/6.....1/6..3/2, (53) 
для релятивистского вещества (чандрасекаровский БК или большая горячая звезда) (..=4/3): 
v...2....11/12...5/4.....1/6..3/2. (54) 
Из (53) понятно, что если наш шар из примера выше “растянуть” в 600 раз до размера БК, оставив массу 1..., то ошибка смещения уменьшится также в . 600раз и составит для . 4.104 [..time]всего .0.0003 % от радиуса БК . 6000км. То есть код PHANTOM можно использовать без исправлений для таких объектов, как БК, не говоря уже о больших звездах или планетарных туманностях. Однако из (52) следует, что при ..&gt;1/6 никакие изменения параметров не смогут устранить ошибку смещения центра масс. Наши расчёты показывают, что ..&gt;1/6 при ..=0.5. Это означает, для использования PHANTOM в расчётах для объектов с характеристиками НЗ, необходимо исправление проблем неконсервативности системы, продемонстрированных нами выше. 

7. Заключение 
В статье был рассмотрен способ реализации метода FMM в коде PHANTOM. В стандартной реализации FMM (см., например, [7; 8]), подразумевается разложение по Тейлору силы гравитационного взаимодействия двух ячеек kd-дерева по малым отклонениям и частицы­источника и частицы-приёмника от вектора . 
.., соединяющим центры этих ячеек до суммарного порядка 2. Таким образом, максимальная степень 1/.. будет 4. В отличие от этого в PHANTOM такое разложение осуществляется по шагам. Первоначально записывается разложение по Тейлору по малым отклонениям частиц-источников до порядка 2, а затем уже делается разложение по малому отклонению частицы-приемника тоже до порядка 2. И максимальная степень 1/..будет уже 6. В работе было показано, что даже при таком способе записи силы для любой пары ячеек kd-дерева в случае взаимо-обратного взаимодействия выполняется третий закон Ньютона. 
Однако для всей системы импульс не сохраняется, что связано с тем, что в PHANTOM рассматриваются только пары ячеек kd-дерева – “листовая ячейка 
&lt;супер-ячейка”, но не рассматриваются обратные пары. Напротив, в методе [7; 8], рекурсивно спускаясь по дереву, благодаря симметричной записи критерия близости, рассматривают всевозможные симметричные пары достаточно удаленных ячеек всех типов. Также иногда используют другие различные симметричные критерии удалённости, которые были рассмотрены в работах [6; 9; 32; 33]. 
В работе было показано, что дополнительная нефизическая сила, возникающая вследствие несохранения импульса, приводит к миграции центра масс системы как целой. Закон этой миграции описывается случайным блужданием с памятью. На примере системы, описывающей звезду, было показано, как величина среднеквадратичного отклонения зависит от массы звезды, её радиуса и числа SPH-частиц в ней. Для туманностей, больших горячих звёзд и даже БК такое смещение можно считать пренебрежимо малым. Но в случае использования PHANTOM в гидродинамическом моделировании объектов с характеристиками НЗ сползание может быть уже значительным. Так, для пары НЗ смещение центра масс сравнимо с радиусом НЗ на временах нескольких десятков кеплеровских оборотов пары. Показано, что увеличение числа частиц не приводит к уменьшению такого смещения. А значит, для PHANTOM необходимо исправление по методу [7; 8]. 
Заметим еще, что если бы в (32) мы использовали вместо (8) ускорения из (26) при .. = 3, то итоговая случайная сила оказалась бы равна нулю, и система как целое не мигрировала бы. Отсюда появляется соблазн вместо трудоёмкого изменения процедуры иерархического обхода kd-дерева, с целью устранения некосервативности, понизить точность разложения FMM. Однако известно, что методу FMM в такой точности присуще несохранение и углового импульса системы [34]. 
Для консервативности и по импульсу и по моменту импульса текущая реализация PHANTOM требует исправлений. 
Автор выражает благодарность А.В. Юдину за полезные обсуждения и важные замечания. 


</text>
                <codes>
                    <doi>10.20948/prepr-2024-43</doi>
                </codes>
                <keywords>
                    <kwdGroup lang="RUS">
                        <keyword>гидродинамика сглаженных частиц</keyword>
                        <keyword>SPH</keyword>
                        <keyword>tree code</keyword>
                        <keyword>быстрый метод мультиполей</keyword>
                        <keyword>FMM</keyword>
                        <keyword>PHANTOM</keyword>
                        <keyword>N-body</keyword>
                    </kwdGroup>
                    <kwdGroup lang="ENG">
                        <keyword>smoothed particle hydrodynamics</keyword>
                        <keyword>SPH</keyword>
                        <keyword>tree code</keyword>
                        <keyword>fast multipole method</keyword>
                        <keyword>FMM</keyword>
                        <keyword>PHANTOM</keyword>
                        <keyword>N-body</keyword>
                    </kwdGroup>
                </keywords>
                <references>
                    <reference>Barnes J., Hut P. A Hierarchical O(N Log N) Force-Calculation Algorithm // Nature. — 1986. — Dec. — Vol. 324, no. 6096. — P. 446–449. — DOI: 10.1038/324446a0.</reference>
                    <reference>Greengard L., Rokhlin V. A Fast Algorithm for Particle Simulations // Journal of Computational Physics. — 1997. — Aug. — Vol. 135, no. 2. — P. 280–292. — DOI: 10.1006/jcph.1997.5706.</reference>
                    <reference>Capuzzo-Dolcetta R., Miocchi P. A Comparison between the Fast Multipole Algorithm and the Tree-Code to Evaluate Gravitational Forces in 3-D // Journal of Computational Physics. — 1998. — June. — Vol. 143, no. 1. — P. 29–48. — DOI: 10.1006/jcph.1998.5949. — arXiv: astro-ph/9703122.</reference>
                    <reference>Gumerov N. A., Duraiswami R. Fast Multipole Methods for the Helmholtz Equation in Three Dimensions. — Amsterdam London : Elsevier, 2004. — (Elsevier Series in Electromagnetism).</reference>
                    <reference>Гумеров Н. Быстрый Метод Мультиполей // Вестник Академии Наук Республики Башкортостан. — 2013. — Т. 18, No 4. — С. 11—24.</reference>
                    <reference>Wang Q. A Hybrid Fast Multipole Method for Cosmological N-body Simulations // Research in Astronomy and Astrophysics. — 2021. — 1 янв. — Т. 21, No 1. — С. 003. — DOI: 10.1088/1674-4527/21/1/3.</reference>
                    <reference>Dehnen W. A Very Fast and Momentum-conserving Tree Code // The Astrophysical Journal. — 2000. — 10 июня. — Т. 536, No 1. — С. L39— l42. — DOI: 10.1086/312724.</reference>
                    <reference>Dehnen W. A Hierarchical (N) Force Calculation Algorithm // Journal of Computational Physics. — 2002. — June. — Vol. 179, no. 1. — P. 27–42. — DOI: 10.1006/jcph.2002.7026. — arXiv: astro-ph/0202512.</reference>
                    <reference>Gafton E., Rosswog S. A Fast Recursive Coordinate Bisection Tree for Neighbour Search and Gravity // Monthly Notices of the Royal Astronomical Society. — 2011. — Sept. 15. — Vol. 418, no. 2. — P. 770–781. — DOI: 10.1111/j.1365-2966.2011.19528.x.</reference>
                    <reference>Dehnen W. A Fast Multipole Method for Stellar Dynamics // Comput. Astrophys. — 2014. — Sept. — Vol. 1, no. 1. — P. 1. — DOI: 10.1186/s40668-014-0001-7.</reference>
                    <reference>Price D. J. Smoothed particle hydrodynamics and magnetohydrodynamics // Journal of Computational Physics. — 2012. — Февр. — Т. 231, No 3. — С. 759—794. — DOI: 10.1016/j.jcp.2010.12.011. — arXiv: 1012. 1885.</reference>
                    <reference>Price D. J., Wurster J., Tricco T. S., [et al.]. Phantom : A Smoothed Particle Hydrodynamics and Magnetohydrodynamics Code for Astrophysics // Publications of the Astronomical Society of Australia. — 2018. — Sept. — Vol. 35, no. 2018. — e031. — DOI: 10.1017/pasa.2018.25. — arXiv: 1702.03930.</reference>
                    <reference>Pinte C., Price D. J., Ménard F. [и др.]. Kinematic Evidence for an Embedded Protoplanet in a Circumstellar Disk // The Astrophysical Journal Letters. — 2018. — Июнь. — Т. 860, No 1. — С. L13. — DOI: 10.3847/2041-8213/aac6dc. — arXiv: 1805.10293 [astro-ph.SR].</reference>
                    <reference>Golightly E. C. A., Coughlin E. R., Nixon C. J. Tidal Disruption Events: The Role of Stellar Spin // The Astrophysical Journal. — 2019. — Февр. — Т. 872, No 2. — С. 163. — DOI: 10.3847/1538-4357/aafd2f. — arXiv: 1901.03717 [astro-ph.HE].</reference>
                    <reference>Heath R. M., Nixon C. J. On the orbital evolution of binaries with circumbinary discs // Astronomy and Astrophysics. — 2020. — Сент. — Т. 641. — A64. — DOI: 10.1051/0004-6361/202038548. — arXiv: 2007.11592 [astro-ph.HE].</reference>
                    <reference>Blinnikov S. I., Yudin A. V., Kramarev N., Potashov M. Stripping Model for Short Gamma-Ray Bursts in Neutron Star Mergers // Particles. — 2022. — 16 июня. — Т. 5, No 2. — С. 198—209. — DOI: 10.3390/particles5020018.</reference>
                    <reference>Potashov M. S., Yudin A. V. Algorithm for Taking into Account Back-Reaction of Gravitational Waves Emission during the Merger of Neutron Stars // Keldysh Institute Preprints. — 2023. — Т. 2898, No 40. — С. 1—17. — DOI: 10.20948/prepr-2023-40.</reference>
                    <reference>Юдин А. В., Блинников С. И., Крамарев Н. И., Поташов М. Ш. Режимы слияния и обдирания в тесных парах релятивистских звёзд: перспективы для моделей коротких гамма-всплесков // Известия Вузов. Радиофизика. — 2023. — 18 апр. — Т. 66, No 9. — С. 720—734. — DOI: 10.52452/00213462_2023_66_09_720.</reference>
                    <reference>Колмогоров А., Фомин С. Элементы Теории Функций и Функционального Анализа. — ЛитРес, 2022.</reference>
                    <reference>Price D. J., Monaghan J. J. An Energy-Conserving Formalism for Adaptive Gravitational Force Softening in Smoothed Particle Hydrodynamics and N- body Codes // Monthly Notices of the Royal Astronomical Society. — 2007. — Feb. — Vol. 374, no. 4. — P. 1347–1358. — DOI: 10.1111/j.1365-2966.2006.11241.x.</reference>
                    <reference>Боголюбов А., Левашова Н., Могилевский И. [и др.]. Функция Грина Оператора Лапласа. — 2018.</reference>
                    <reference>Folland G. B. Advanced Calculus. — Upper Saddle River, NJ : Prentice Hall, 2002. — 461 с.</reference>
                    <reference>Lange M., Rump S. M. Error Estimates for the Summation of Real Numbers with Application to Floating-Point Summation // BIT Numerical Mathematics. — 2017. — May 3. — Vol. 57, no. 3. — P. 927–941. — DOI: 10.1007/s10543-017-0658-9.</reference>
                    <reference>Rhyne J. Probabilistic Error Analysis For Sequential Summation of Real Floating Point Numbers. — 05/28/2021. — arXiv:2101.11738[cs, math]. — URL: http://arxiv.org/abs/2101.11738 (visited on 05/05/2024). — preprint.</reference>
                    <reference>Hallman E., Ipsen I. C. F. Deterministic and Probabilistic Error Bounds for Floating Point Summation Algorithms. — 07/04/2021. — arXiv: 2107.01604 [cs, math]. — URL: http://arxiv.org/abs/2107.01604 (visited on 05/05/2024). — preprint.</reference>
                    <reference>Попов П. Диффузия. — 2016.</reference>
                    <reference>VonNeumann J., Richtmyer R. D. A Method for the Numerical Calculation of Hydrodynamic Shocks // Journal of Applied Physics. — 1950. — Mar. 1. — Vol. 21, no. 3. — P. 232–237. — DOI: 10.1063/1.1699639.</reference>
                    <reference>Loiseau J., Lim H., Kaltenborn M. A., [et al.]. FleCSPH: The next Generation FleCSIble Parallel Computational Infrastructure for Smoothed Particle Hydrodynamics // SoftwareX. — 2020. — July. — Vol. 12. — P. 100602. — DOI: 10.1016/j.softx.2020.100602.</reference>
                    <reference>Marcello D. C., Shiber S., De Marco O., [et al.]. octo-Tiger: A New, 3D Hydrodynamic Code for Stellar Mergers That Uses hpx Parallelization // Monthly Notices of the Royal Astronomical Society. — 2021. — Apr. 10. — Vol. 504, no. 4. — P. 5345– 5382. — DOI: 10.1093/mnras/stab937. — arXiv: 2101.08226.</reference>
                    <reference>Marcello D. C. A Very Fast and Angular Momentum Conserving Tree Code // Aj. — 2017. — Авг. — Т. 154, No 3. — С. 92. — DOI: 10.3847/1538-3881/aa7b2f.</reference>
                </references>
                <files>
                    <furl>https://keldysh.ru/papers/2024/prep2024_43.pdf</furl>
                </files>
            </article>
        </articles>
    </issue>
</journal>
