-
Notifications
You must be signed in to change notification settings - Fork 0
/
numerical-particle.tex
40 lines (36 loc) · 2.17 KB
/
numerical-particle.tex
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
\subsection{N-body Dynamics}
\label{sec.ov.nbody}
\enzo\ uses a particle-mesh N-body method to calculate the dynamics of
collisionless systems \citep{Hockney88}. This method follows
trajectories of a representative sample of individual particles that
sample the phase space of the dark matter distribution, and is much
more efficient than a direct solution of the Boltzmann equation in
essentially all astrophysical situations for the levels of accuracy
that are required for simulations of structure formation. As
described earlier, the gravitational potential is computed by solving
the elliptic Poisson's equation (Eq.~\ref{eq:potential}) and
differencing the potential to find accelerations, which are then
interpolated back to particles. This acceleration is time-centered
(because the underlying gravitating mass field is approximately
time-centered), and so we have accelerations $\myvec{g}^{n+1/2}$ for
each particle. These are used to update the particle positions and
velocities starting from $\myvec{x}^n$ and $\myvec{v}^n$ using a
standard drift-kick-drift technique \citep{Hockney88}:
\begin{eqnarray}
\label{eqn.driftkick}
\myvec{x}^{n+1/2} & = & \myvec{x}^n + \frac{\Delta t}{2 a^n} \myvec{v}^{n} \nonumber \\
\myvec{v}^{n+1} & = & \myvec{v}^n \left(1 - \frac{\dot{a}^{n+1/2}}{a^{n+1/2}}\right) + \frac{\Delta t}{ a^{n+1/2}} \myvec{g}^{n+1/2} \\
\myvec{x}^{n+1} & = & \myvec{x}^{n+1/2} + \frac{\Delta t}{2 a^{n+1}} \myvec{v}^{n+1} \nonumber
\end{eqnarray}
Particles are stored in the most highly refined grid patch at the
point in space where they exist, and particles that move out of a
subgrid patch are sent to the grid patch covering the adjacent volume
with the finest spatial resolution, which may be of the same spatial
resolution, coarser, or finer than the grid patch from which the
particles moved. This takes place in a communication process at the
end of each timestep on a level.
To avoid unphysical point-mass effects, \enzo\ provides a parameter
that governs the maximum level at which particles will be regarded as
point masses. At higher levels, contributions from particles to the
gravitating mass field will be smoothed over a spherical region
centered at each particle's position.