next up previous
Next: 3. ツリー法の原理 Up: 研究展望:高速多重極展開法---粒子法への応用を中心として Previous: 1. はじめに

2. 重力多体問題

解くべき問題は、以下のような常微分方程式系の数値解を求めるということで ある。

 

ここで Nは粒子の数、 , はそれぞれ粒子 iの位置、質量 であり、 G は重力定数である。

右辺を評価するもっとも単純な方法は、右辺をそのまま計算することである。 粒子数が数百程度であれば、この方法(単に直接計算という)よりも速くする のは難しい。

しかし、直接計算には で計算量が増えていくという問題がある。計 算量を減らすには、さまざまな方法がある。従来から知られている方法の多く は、粒子の集まりを質量の連続分布に置き換え、重力ポテンシャルのほうも連 続関数として扱うものである。このようにすることで、ポテンシャルは線形な ポアソン方程式の解として与えられる。これらは、高速フーリエ変換(FFT)や球関数展開 などを使って解くことができる。

FFTが使える場合には、格子点の数を M として計算量は となる。従って、粒子数 N に比べて M が同程度あるいは少なくて済 むならば、計算量は ないし となり、素晴らしく高速で ある。これに対して、球関数展開の場合には(高速球面調和関数展開と いった研究もないわけではないが、)展開項数を M とすれば計算量のオー ダーは となって、 M が大きいと計算量は多い。しかし、粒子分布 が球対称に近ければ、 として良いので計算量を大きく減らす ことが出来る。

これらの方法の欠点は、空間分解能や計算精度が、格子間隔や展開項数によっ て制限されることである。粒子系がもともと連続系の近似として導入されてい る場合にはこの分解能の制限は問題にならないことが多い。こういった場合に はこれらの方法は非常に有効である。

しかし、多体系で空間分解能の制限が問題になることも多い。典型的な例は分 子動力学計算である。ここでは、計算に使う粒子は原子そのものであり、近接原子 間の相互作用が十分な計算精度で求まっていなければならない。仮に FFT を使っ て計算しようとしたとすると、これは、格子間隔を平均的な原子間距離よりも ずっと小さくとらないといけないということを意味する。従って、 と なってしまい、こういった場合には FFT を使うのは現実的ではない。

もっとも、この場合には、相互作用を遠距離成分と近距離成分に切り分け、 遠距離成分には FFT を使い近距離成分は直接計算する方法 (Particle-Particle Particle-Mesh あるいは Particle-Mesh Ewald) が有効 である。

しかし、粒子分布が一様から遠い場合には、これらの方法ではうまく対応出来 なくなる。直接計算する部分の計算量が、密度が高いところで非常に大きくなっ てしまうからである。また、いうまでもないが FFT を使う場合には境界条件 が周期的でないと話が面倒になる。さらに、計算精度を上げるのも大変であり、 高い精度を要求すると急速に計算量が増える。

ツリー法や高速多重極展開法は、粒子分布が一様から遠く離れている場合でも 適用でき、自由境界(無限遠でポテンシャルが 0)の場合にも適用出来る(周 期境界は逆に面倒になるが)。また、高次にしても計算量の増え方が比較的に 小さいので、高精度の計算が現実的な計算時間でできる。



Jun Makino
Thu Jul 8 11:44:39 JST 1999