An ion-mobility drift tube: drift velocity, diffusion and resolving power.
Ion-mobility spectrometry separates ions by how fast they drift through a buffer gas in a weak field: in the low-field limit the drift velocity is v_d = K E with a mobility K set by the ion-neutral collisions, and the ion packet spreads by diffusion with D = K k T / q (Einstein’s relation). Diffusion alone then limits the resolving power t_d / dt_FWHM to sqrt(q V / (16 ln 2 k T)), which grows only as the square root of the drift voltage V.
The tube here is a stack of guard rings (simgeometry Aperture2D.slit plates) at linearly falling potentials, closed by a gate plate and a grounded collector plate (thin Polyline electrodes); the panel solution of :class:tree_d_3d.BoundaryIntegralElectrodes gives a nearly uniform field inside, which is tabulated once on a grid. Ions of 100 u drift through nitrogen at 300 K and about 1 mbar, with plasmacoll’s Monte Carlo collisions. For an ion polarising a neutral, the interaction is -alpha q^2 / (2 r^4), whose momentum-transfer rate is independent of speed: k_m = 1.105 k_L, with the Langevin capture rate k_L = 2 pi q sqrt(alpha' / (4 pi eps0 mu)) (McDaniel and Mason). plasmacoll’s Maxwell molecule cross section with isotropic scattering at that rate reproduces it, and then the mobility is exactly K = q / (mu N k_m), the polarization limit (at standard density, 13.9 / sqrt(alpha mu) cm^2 / V s with alpha in A^3 and mu in u). The field is set so the drift is a fifth of the gas thermal speed, low enough for the low-field relations. Arrival times are recorded where each ion first crosses several planes along the tube (simgeometry crossings() of Polyline planes), so one run gives the packet at several drift lengths, i.e. drift voltages.
Source: examples/drift_tube_mobility.py. Run it yourself with python examples/drift_tube_mobility.py [--output examples/output] [--quick] (needs pip install "tree-d-3d[examples]").
Figures
Section titled “Figures”Loading interactive figure…
the gate, the guard rings, the collector and the potential in the tube, with the recording planes.
Loading interactive figure…
arrival-time distributions at the recording planes, against Gaussians of the predicted mean and width (v_d = K E, D = K k T / q).
Loading interactive figure…
mean arrival time against the drift length; its slope gives the drift velocity, compared with K E of the polarization limit. The Monte Carlo step allows one collision per step, which lowers the collision rate by (1 - exp(-nu dt)) / (nu dt) and raises the mobility by about 2 % at the nu dt = 0.04 used here.
Loading interactive figure…
the variance of the arrival time against drift length; its slope gives the longitudinal diffusion coefficient, compared with Einstein’s K k T / q.
Loading interactive figure…
the resolving power against the drift voltage, against the diffusion limit sqrt(q V / (16 ln 2 k T)).
--quick uses fewer ions and drift voltages up to 60 k T / q (about a minute); --smoke is the tiny configuration the test suite runs. Needs Plotly and plasmacoll (pip install 'tree-d-3d[examples]' plasmacoll).