A gridless reflectron time-of-flight mass spectrometer, and its energy focusing.
A time-of-flight mass spectrometer accelerates ions to (nearly) the same energy U and times their flight: at fixed charge the time scales as sqrt(m), so the arrival time gives the mass. The resolving power is set by the energy spread: in a linear instrument t = L sqrt(m / 2U) and an energy spread dU / U smears the arrival by dt / t = dU / 2U. A reflectron (Mamyrin, 1973) sends the ions into a retarding field and back; faster ions penetrate deeper and spend longer turning, which compensates their shorter drift. For a single uniform field E after a field-free drift of total length L (in and out), the flight time is t(U) = L sqrt(m / 2U) + 2 sqrt(2 m U) / (q E), and dt / dU = 0 at U0 when q E = 4 U0 / L: the ions turn at a depth of a quarter of the drift length. This is the closed-form first-order focusing condition the example checks.
The reflectron here is gridless, as in many modern instruments: a stack of slit electrodes (simgeometry Aperture2D.slit plates) at linearly increasing potentials, closed by a back plate, after a grounded flight tube (two thin Polyline walls). :class:tree_d_3d.BoundaryIntegralElectrodes solves the electrode charges, the static field is tabulated once on a grid around the ion paths, and ions are traced through it by velocity Verlet. Arrival times come from simgeometry’s crossings() of each step with the detector line, interpolated within the step. Code units q = 1, U0 = 1 and reference mass m = 1 (read as 100 u); other masses follow exactly from t ~ sqrt(m), since the field is static and there is no space charge.
Source: examples/reflectron_tof.py. Run it yourself with python examples/reflectron_tof.py [--output examples/output] [--quick] (needs pip install "tree-d-3d[examples]").
Figures
Section titled “Figures”Loading interactive figure…
the flight tube, the ring stack and the back plate, the potential around them, and a few ion paths from the source to the detector.
Loading interactive figure…
the potential along the ion path inside the reflectron against the ideal linear ramp of a uniform field: the gridless entrance softens the field over about one aperture width.
Loading interactive figure…
dt / dU at U0 against the reflectron field, through zero near the closed-form q E = 4 U0 / L.
Loading interactive figure…
flight time against energy at the focusing field, flat to first order around U0, against a linear instrument of the same flight time.
Loading interactive figure…
arrival-time spectra of three neighbouring masses with a 1 % energy spread: resolved by the reflectron, merged in the linear instrument, with the resolving powers m / dm = t / (2 dt).
--quick uses fewer field scans and ions (well under a minute); --smoke is the tiny configuration the test suite runs. Needs Plotly (pip install 'tree-d-3d[examples]').