Welcome to the Neighborhood ... Hope You Don't Stay Long© Adam Hughes
Jul 21, 2000
The use of a neighbor list in a classical simulation is
usually the first, and often the most drastic, enhancement to
computational speed that a scientists can make. This article
will take a look at some of the details of employing
neighbor lists in a computational problem such as the
solar system simulation we have been examining.
As has been previously discussed, it is usually quite
computationally costly to calculate all of the pairwise
interactions in a system of discrete particles. Luckily,
in most such systems, the mathematical terms which describe
force field contain some term such as (1/r2) or (1/r6).
These indicate that the force between two particles decays
as the at a rate of r squared or r to the sixth power, where
r is the distance between two particles. In this situation,
it is quite feasible to exclude interactions between
particles which are far enough apart to make the resulting
terms negligible to the overall force "felt" by each
particle. This distance, or cutoff, as it's commonly
known, is usually calculated so as to maintain the energy
conservation of the total system at some pre-determined
level. Once determined, each particle is treated as if it
only interacts with other particles which are within the cutoff
distance from itself. Each particle, then, can be thought of
as sitting at the center of a sphere with radius the size
of the calculated cutoff distance. Any particle outside of
this sphere is treated as if it does not directly interact
with the particle in the center of the sphere. Any particle
inside the sphere is said to be in the central particle's
neighbor list, and every particle has its own, distinct
neighbor list. This would be a pretty easy, tidy solution if the neighbor
lists never changed. However, as the system evolves, a particle
may see some of its neighbors travel far enough to escape the
neighborhood, while other outlying particles may make big
enough jumps to be added to the list. For this reason, it
is important to periodically update the neighbor lists
present in a classical system. This procedure, unfortunately,
consists of rechecking every particle's list to see
which other particles should be included. Obviously, this
can be quite costly, so the trick is to perform this
operation as infrequently as possible while still conserving
the total energy of the system. In the next article,
we'll look at methods for accomplishing the best balance
between accuracy and computational efficiency.
Go To Page:
1
The copyright of the article Welcome to the Neighborhood ... Hope You Don't Stay Long in Scientific Computing is owned by . Permission to republish Welcome to the Neighborhood ... Hope You Don't Stay Long in print or online must be granted by the author in writing.
|