IonSim is a 1D physics simulator demonstrating the collective dynamics of an ion string
within a linear Paul trap. In the animation above, an initial momentum kick is applied
to the leftmost ion, and the resulting motion is described by a superposition of normal modes.
The glowing outer circles shrink and grow to reflect the velocity of each ion.
- For N ions there are N normal modes (in 1D) - you can select modes using the dropdown menu
- Mode 1 is the centre-of mass (CoM) mode where all ions move together
- Mode 2 is the ‘stretch-squeeze’ mode, also called the ‘breathing’ mode, and you can see why
- Higher modes get more complicated, with increasing frequency and increasing energy
Mathematical Framework
1. Total Potential Energy
The simulation models a 1D chain of $N$ ions in a linear Paul trap. The dynamics are governed by a total potential, $V_{total}$, which is the sum of the harmonic trapping potential and the Coulomb interaction between ions:
$$V_{total} = \sum_{i=1}^{N} \frac{1}{2} M \omega_{ax}^2 z_i^2 + \sum_{i > j} \frac{e^2}{4\pi\epsilon_0 |z_i - z_j|}$$
- Trap Confinement: The first term represents the axial quadratic potential that pulls ions toward the centre.
- Coulomb Repulsion: The second term represents the repulsive force between every pair of ions, preventing collapse.
2. Equilibrium and the Hessian
The simulator first finds the equilibrium positions, $z_{Eq}$, where the net force is zero using damped velocity Verlet integration. To find the collective vibrational modes, it calculates the Hessian Matrix ($H$):
$$H_{ij} = \left. \frac{\partial^2 V_{total}}{\partial z_i \partial z_j} \right|_{z_{Eq}}$$
- Off-diagonal elements: Represent the coupling strength between ion $i$ and ion $j$.
- Diagonal elements: Represent the local effective spring constant on a single ion (accounting for the restoring force of the trap and the push from all other ions).
3. Time Evolution
The simulator solves the eigenvalue problem $H \vec{v} = \omega^2 \vec{v}$ to find the frequencies, $\omega$, and vectors, $\vec{v}$. The resulting motion, $z_i(t)$, is a superposition of these modes:
$$z_i(t) = z_{Eq,i} + \sum_{m=1}^{N} \left[ A_m \cos(\omega_m t) + B_m \sin(\omega_m t) \right] v_{m,i}$$
- Visualisation: Select from the dropdown menu above to display the individual modes of oscillation for the ion string.