QITSim

Model theory / description

Ion trajectory simulation of an idealized quadrupole ion trap (QIT) considering space charge effects and hard sphere collisions with neutral background gas particles.

Field Definition

The electric field of the ion trap is defined by idealized, analytical equations. A quadrupole ion trap consists of two cap electrodes and a ring electrode, with hyperbolically inner surfaces which form an rotational symmetric quadrupolar field. The distance between the trap center and the cap electrodes is denoted as \(z_0\), the ring electrode radius \(r_0\).

Most commercial QITs have grounded end caps and apply DC and RF voltages to the ring electrode. In this case, the total electric field \(\Phi_{\text{total}}\), including non quadrupolar, higher field orders can be described by a series expansion [Eades1993]:

\[\Phi_{\text{total}} = \Phi_0 + \Phi_0 \left( A_1 \Phi_1 + A_2 \Phi_2 + A_3 \Phi_3 + A_4 \Phi_4 + \dots \right)\]

Given the ideal geometric relationship for an ideal quadrupole ion trap \(r_0^2 = 2 z_0^2\), the electric potential in the center of the trap \(\Phi_0\) is given by:

\[\Phi_0 = \frac{U+V \cos{(\Omega t)}}{2}\]

with \(U=\) DC potential on the cap electrodes, \(V=\) RF potential between ring and caps, \(\Omega=\) angular frequency of the RF potential, \(t=\) time.

The linear electric potential between the caps is given by:

\[\Phi_1 = \frac{z}{r_0}\]

with the Position of the ion \(z\) in \(z\)-Direction.

The quadrupolar potential is given by:

\[\Phi_2 = \frac{r^2 - 2 z^2}{r_0^2}\]

with the Position of the ion \(r\) in \(r\)-Direction.

Higher orders are given by:

\[\begin{split}\begin{align} \Phi_3 &= \frac{2 z^3 - 3 z r^2}{r_0^3} \\ \Phi_4 &= \frac{8 z^4 - 24 z^2 r^2 + 3r^4}{r_0^4} \\ \Phi_5 &= \frac{8 z^5 - 40 z^3 r^2 + 15 z r^4}{r_0^5} \\ \Phi_6 &= \frac{16 z^6 - 120 z^4 r^2 + 90 z^2 r^4 - 5r^6}{r_0^6} \\ \end{align}\end{split}\]
[Eades1993]

Eades, D.M., Johnson, J. V, Yost, R.A.: Resonance in a quadrupole ion trap. J. Am. Soc. Mass Spectrom. 4, 917–929 (1993).

FT detection

There are different detection modes in quadrupole ion traps. Most commercial instruments eject the trapped ions by an resonant excitation with an additional bipolar RF potential on the cap electrodes and ramping the trap RF potential.

Alternatively, the trapped ions can be excited with an excitation signal on the cap electrodes, which induces an oscillation of the ions around the trap center. This oscillation can be detected by the induced mirror charge on the cap electrodes. A mass spectrum can be calculated from the recorded mirror charge signal (“transient”) by a Fourier transformation.

The simulation app supports the simulation of this FT detection mode.

Simulation configuration description

integrator_modeKeyword:[verlet, parallel_verlet, full_sum_verlet, RK4, full_sum_RK4], optional: [FMM3D_verlet, ExaFMM_verlet]

Selects the trajectory integrator

  • verlet: Serial (non parallelized) Velocity Verlet integrator with Barnes Hut Tree for space charge calculation

  • parallel_verlet: Parallelized Velocity Verlet integrator with Barnes Hut Tree for space charge calculation

  • full_sum_verlet: Parallelized Velocity Verlet integrator with full sum between all particles for space charge calculation

  • RK4: Parallelized Runge-Kutta 4 integrator with Barnes Hut Tree for space charge calculation

  • full_sum_RK4: Parallelized Runge-Kutta 4 integrator full sum between all particles for space charge calculation

With activated FMM libraries (Exa-FMM and or FMM3D) two FMM integrators are also available:

  • FMM3D_verlet: Velocity Verlet with Fast Multipole space charge calculation with FMM3D library

  • ExaFMM_verlet: Velocity Verlet with Fast Multipole space charge calculation with Exa-FMM library

sim_time_stepsinteger

Number of simulation time steps

trajectory_write_intervalinteger

Interval, in time steps, between writes to the trajectory result file.

fft_write_intervalinteger

Interval, in time steps, between samples for the FFT result file, which records a simulated transient for Fourier transformation.

fft_write_modeKeyword:[unresolved, mass_resolved]

Selects the mode in which the FFT result file is written. The FFT result records the average velocity of the simulated particle ensemble in the z direction as an approximate induced mirror charge on the cap electrodes.

  • unresolved: The FFT transient signal is calculated from the whole simulated particle ensemble. This is the signal which would be detectable in a physical experiment.

  • mass_resolved: The FFT transient signal is recorded for every ionic species, with distinct molecular mass, separately. This allows to see individual transients for the species.

dtfloat

Time step length in seconds

space_charge_factorfloat

Multiplication factor for particle-particle interaction (space charge).

max_ion_radiusfloat

Maximum radius a simulated particle can have before it is terminated in the simulation, in m.

Ion / simulated particle configuration

The particles to simulate can be defined in the simulation configuration file or a predefined particle ensemble can be used which is given as ion cloud file in CSV format.

Ion Cloud File

A predefined ion configuration can be specified by

ion_cloud_init_filefile path

Path to an ion cloud initialization / definition file

Ion definition in simulation configuration file

If no ion cloud file is used, the following configuration parameters define the ion ensemble to simulate:

n_ionsVector of integers

Number of ions of the ionic species defined by the the masses defined in ion_masses.

ion_massesVector of float

Ion masses in amu.

ion_chargesVector of float

Ion charges in elementary charges.

ion_collision_gas_diameters_angstromVector of float

Effective hard sphere collision diameters of the ionic species in angström.

ion_time_of_birth_range_sfloat

Time range in which ions are generated, in seconds. The specified number of ions are generated uniformly in this time range.

ion_direction_vectorVector of three floats

Initial direction of motion of the ions. This vector is only a direction vector, the initial velocity of the defined ions is set by ion_kinetic_energy_eV.

ion_kinetic_energy_eVfloat

Start energy of the ions in electronvolts, the initial ion velocity is in the direction of ion_direction_vector.

Ion start configuration

The initial positions of the simulated ions can be a cubic box with faces parallel to the spatial axes or a rotatable and translatable cylinder. The position of the ion start zone is defined by ion_start_base_position_m. This partameter defines the center of a box start zone or the position of the center of the bottom face of a cylinder start zone.

ion_start_geometryKeyword:[box, cylinder]

Sets the ion start geometry.

boxIon start zone is a box

The ion start zone is a cubic box with faces parallel to the spatial axes, randomly filled with particles. It is defined by

ion_start_box_size_m: Vector of three floats

Size of the box in x, y, z direction

ion_start_base_position_m: Vector of three floats

Position of the box center

cylinderIon start zone is a cylinder

The ion start zone is a rotatable and translatable cylinder. The cylinder is defined by

ion_start_radius_m: float

Radius of the cylinder in m.

ion_start_length_mfloat

Distance from bottom face of the cylinder to the top face of the cylinder (cylinder length).

ion_start_cylinder_normal_vector: Vector of three floats

Normal vector of the bottom face of the cylinder, defining the rotation of the cylinder. The normal vector is also the directon of the axis of rotational symmetry of the cylinder (e.g. [1,0,0] means the cylinder axis is parallel to the x-axis).

ion_start_base_position_m: Vector of three floats

Position of the center of the bottom face of the cylinder

Background gas configuration

background_gas_pressure_Pafloat

Pressure of the neutral background as in Pa.

background_gas_temperature_Kfloat

Temperature of the background gas in K.

collision_gas_mass_amufloat

Molecular mass of the particles of the background gas in amu.

collision_gas_diameter_angstromfloat

Effective collision diameter of the particles of the background gas in angström.

Trap geometry configuration

geometry_modeKeyword:[default, scaled, variable]

Selects trap geometry mode. The trap geometry defines the electric field in the trap and is defined by the ring electrode radius r_0 and the cap distance z_0.

defaultDefault trap with \(r_0= 10 \text{mm}\)

The default geometry is a typical small commerical QIT with \(r_0 = 10 \text{mm}\) and \(z_0 = 7 \text{mm}\) which is approximately (within 2%) fulfilling the ideal relationship \(r_0^2 = 2 z_0^2\).

scaledScaled default trap

The default trap geometry scaled by a factor geometry_scale:

geometry_scalefloat

Geometric scaling factor for a scaled default trap.

variableVariable geometry

Fully variable geometry, \(r_0\) and \(z_0\) can be configured freely:

r_0: float

\(r_0\) in meter.

z_0: float

\(z_0\) in meter.

Trap field configuration

f_rffloat

Frequency of the RF trapping field in Hz.

field_modeKeyword:[basic, higher_orders]

Selects model for the RF trap field

basicPure quadrupolar trap field

An ideal quadrupolar field is assumed as RF trap field.

higher_ordersTrap field with higher field orders

Besides the quadrupolar field, hexapolar and octapolar field orders as defined in Field Definition are considered too. The relative amount of higher field orders is defined by:

field_higher_orders_coeffsVector of two floats

The relative amount of hexapolar and octapolar field order in the RF trapping field.

rf_waveform_csv_fileFile path

File path to an file with an sampled RF waveform. If this parameter is set, the waveform of the trap RF is read from the specified file, which contains one sample per simulation timestep. The waveform is looped if the file contains fewer samples than sim_time_steps. If this parameter is not set, a \(\cos{\left(\omega t \right)}\) is used as trap field waveform.

Note that f_rf has no effect if a sampled RF waveform is used. This file path is relative to the simulation run configuration file.

Trap field RF voltage

The RF trap field voltage can be static or can be ramped during the simulation.

A static trap field voltage is set by V_rf:

V_rffloat

Static ground to peak trap field amplitude in volt.

If V_rf_start and V_rf_end are set, the trap field voltage is ramped linearly during the simulation from V_rf_start to V_rf_end:

V_rf_startfloat

Ground to peak trap field amplitude in volt at the begin of the trap field voltage ramp.

V_rf_endfloat

Ground to peak trap field amplitude in volt at the end of the trap field voltage ramp.

Ion excitation field

The ion excitation field is applied bipolar on the cap electrodes. There are two modes of ion excitation:

  • Pulsed excitation with a rectangular excitation pulse of defined length and amplitude applied at the begin of the simulation run.

  • Excitation with a given sampled waveform read from a waveform file.

excite_waveform_csv_fileFile path

File path to a file with a sampled excitation waveform. If this parameter is present, the excitation mode is “sampled waveform”.

The waveform file contains one sample per time step and is not looped, it is replayed only once at the begin of the simulation run. The sampled waveform is assumed to be normalized, the waveform data is multiplied with “excite_pulse_potential” to calculate the applied excitation potential.

This file path is relative to the simulation run configuration file.

excite_pulse_potentialfloat
  • When in excitation pulse mode (excite_waveform_csv_file not present in simulation run configuration): Amplitude of rectangular excitation pulse in volt.

  • When in sampled waveform excitation mode: Multiplication factor for sampled waveform data specified by excite_waveform_csv_file in volt.

excite_pulse_lengthfloat

Length of the rectangular excitation pulse in pulsed excitation mode in seconds.