2. N-Body Problem
▪ The n-body problem is the problem of predicting the motion of a group of particles
that interacts with each other gravitationally or by other forces.
▪ First introduced by Newton to understand the motion of Sun, planets and other visible stars.
▪ Electrostatics
▪ Magneto statics
▪ Acoustic Scattering
▪ Even Diffusion
▪ They are computationally intensive. O(n2)
▪ They can be huge because of large number of particles.
3. N-Body Problem
▪ Problem definition
▪ mi is the mass, and Φ is potential function
▪ and we are interested in equilibrium configuration of a set of particles.
▪ Consider potentials of the form
▪ Φ = Φ near+ Φ external+ Φ far
▪ Φ near is not a problem. O(n)
▪ Φexternal is independent of the number of particles. O(n)
▪ Φ far is a BIG problem. O(n2)
4. Different Solutions
▪ Solutions:
▪ Simple Numerical Integration: Euler Method, O(n2)
▪ Truncation Based Methods*
▪ Barnes-Hut Method, and Appel
▪ Consider a pseudo-particle for a group of particles in distant.
▪ Then, perform integration or solving method.
▪ O(n log(n))
▪ Fast Multipole Method (Multipole Expansion + Local Expansion)
▪ O(n)
5. Fast Multipole Method
Idea
▪ Recursively divide the computational domain.
▪ The algorithm group particles together and compute the centralized potential. (Multipole
Expansion)
▪ Distribute information to upper level in grid decomposition.
▪ Use local information (interaction list) in coarser mesh level to transfer information from
long-range to near-range. (Local Expansion)
▪ Redistribute coarser mesh level to finer mesh level and again use local information of finer
mesh to localize the information even more. Up to finest mesh level!
▪ Compute long-range potential using local expansion
▪ Combine long-range and near-range potential and build the potential function.
6. Fast Multipole Method
Multipole Expansion
▪ Suppose that m charges of strengths qi are located at points zi with |zi|< r. Then for any
z∈C with |z|>r, the potential Φ(z) is given by
There are another Lemmas that
allows us to shift this function. For
instance shifting the center of circle
into origin.
[1]
7. Fast Multipole Method
Local Expansion
▪ Local expansion about the center of box i at level l, describing the potential field due to
all particles outside i’s parent box and the parent box’s nearest neighbors.
▪ Interaction list:
For box i at level l, it’s the set of boxes which
are children of the nearest neighbors of I’s
parent and which are well separated from box
i. (Red Boxes)
9. Algorithm
Computing Multipole Expansion
2. Form Multipole expansions about the
centers of all boxes at all coarser mesh
levels, each expansion representing the
potential field due to all particles
contained in one box.
(Continuing this procedure to coarser
mesh level)
10. Algorithm
Computing Local Expansion
3. Form a local expansion about the
center of each box at each mesh level
l<=n-1.
This local expansion describes the field
due to all particles in the system that are
not contained in the current box or its
nearest neighbors.
11. Algorithm
Computing Local Expansion
4. Shifting the local expansion for a given
box to the center of the box’s
children, forming the initial expansion
for the boxes at the next level.
12. Algorithm
Computing Local Expansion
5. Continue 3 and 4 to shift local
expansion to finest mesh level.
Now we have the local expansion in
finest mesh level. And we can compute
the local expansion at particle position
by Φ(z) for z inside each box.
13. Algorithm
Evaluate Local Expansion
6. Evaluate Local Expansions at particle
positions.
• For every particle pj located at the
point zj in box, evaluate the Φbox(zj)
14. Algorithm
Computing the Φ near
6. For every particle pj in box, compute
interactions with all other particles
within the box and its nearest neighbors
as Φ near .
Now adding up Φ near and Φ far , we can
have all forces in one equation. Putting
this function into Newton formulation
will form complete n-body model.
15. Conclusion
1. The complexity is O(n)
2. The error estimation is easy because it based on polynomial expansion (Multipole
and Taylor Expansion). Actually, error bound is available.
3. There is no need for numerical differentiation because Φ are polynomials.
4. It also support boundary conditions.
16. References
1. Greengard, L. and Rokhlin, V. (1987). A fast algorithm for particle simulations. Journal
of Computational Physics, 73(2):325–348.
Editor's Notes
Many problems in computational physics require the evaluation of all pairwise interactions in large ensembles of particles.
Newton model the system in term of differential equations. But we all know that if the problem size is big this method won’t work.Large pseudo-particle in the center of mass.Each of these methods are tried in different ways. Implementing in large clusters of computers and …I’m not going into the detail for solving the problem. But the main problem is that we don’t want to spend too much time on computing inteaction of distant particles on specific particle.Why truncation based method are not good because in unbalanced system long-range forces can dominant biomolecular system arrangement. (We should consider that in molecular system the long-range is not really long!)It called fast because the cost of computing the result of the linear operation grows more slowly with problem size than it would if a navie representation were used.
Fnear is not a problem because number of local particles are less than all particles in the system.
Fnear is not a problem because number of local particles are less than all particles in the system.
They introduce this formulation to describe the potential of groups of particles on one particle in term of polynomial.Consider we have a formulation for summarizing the potential of group of particles.Now we can use this formula + local expansion information to distributed the information to the whole system.
They introduce this formulation to describe the potential of groups of particles on one particle in term of polynomial
They introduce this formulation to describe the potential of groups of particles on one particle in term of polynomial
They introduce this formulation to describe the potential of groups of particles on one particle in term of polynomial
After this step we gather all information in one box.
In this process we actually shift all the information of the system from long-range to near-range and use that information in form of polynomial to find the long-range potential with ease.
In this process we actually shift all the information of the system from long-range to near-range and use that information in form of polynomial to find the long-range potential with ease.
In this process we actually shift all the information of the system from long-range to near-range and use that information in form of polynomial to find the long-range potential with ease.