DMSSim

Simulation of ion motion and chemical induced differential mobility in a Differential Ion Mobility (DMS) separation device with idealized planar electrodes, including background gas interaction, ion chemistry and space charge: Ions are drifting in a gap between two planar electrodes on which an asymmetric RF high voltage waveform, the Separation Voltage (SV) is applied. Due to different ion mobilities in the high field phase and the low field phase of the SV, ions are drifting in the direction perpendicular to the electrodes. This drift is countered by an DC Compensation Voltage (CV), which is scanned to get an differential mobility spectrum.

There are multiple physical and chemical mechanisms leading to differential mobility of ions. This application is currently primarily intended to simulate the chemically induced differential mobility of clustered small ions. The varying electric acceleration in the high and low field phase of the SV induce a variation of the effective ion temperature of the clustered ions. Therefore, the average cluster size is reduced in the high field phase, since high effective temperature leads to declustering. If the clusters can reform / regrow in the low field phase, this leads to changing average sizes of the clusters between high and low field phases, which in turn leads to different mobility in the high and low field phases.

The temperature dependent reactions of the individual species are simulated with RS. Thus, the reactions are defined in an RS configuration file.

Currently, the mobility of the individual chemical species is not dependent on the field or the effective ion temperature.

The ions are transported through the gap between the electrodes of and planar DMS device by a gas flow. This gas flow can be modeled with different collision models and velocity profiles. The electrodes are parallel to the x axis, while the separation axis is the z axis.

The ions are initialized at random positions in a variable start zone.

Simulation configuration description

sim_time_stepsinteger

Number of simulation time steps

sim_time_steps_per_sv_oscillationinteger

Number of time steps for one complete oscillation of the separation voltage (SV). The time step length in the simulation is set accordingly.

sv_frequency_s-1float

Frequency of the SV in Hz.

concentrations_write_intervalinteger

Interval, in time steps, between the writes of the species concentration .

trajectory_write_intervalinteger

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

space_charge_factorfloat

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

reaction_configurationfile path

Path to a RS configuration file, defining the chemical reaction system for the simulation.

n_ionsvector of integers

Number of particles of the discrete chemical substances defined in the reaction configuration. The order in this vector is the same as the order of discrete substances defined in the reaction configuration.

Example: If the [SUBSTANCES] block in the reaction configuration is

[SUBSTANCES]
Cl_1 discrete 19 1 3.57e-4  4.00000000e-10
Cl_2 discrete 37 1 2.76e-4  5.17391304e-10
Cl_3 discrete 55 1 2.35e-4  6.07659574e-10

the n_ions vector [100, 50, 10] will initalize the simulation with 100 particles of Cl_1, 50 of Cl_2 and 10 of Cl_3.

start_width_x_mmfloat

Size (in mm) of the ion start zone in x direction, which is the long axis of the DMS device, parallel to the planar electrodes.

start_width_y_mmfloat

Size (in mm) of the ion start zone in y direction.

start_width_z_mmfloat

Size (in mm) of the ion start zone in z direction, which is the separation axis.

electrode_distance_mmfloat

Distance (in mm) of the electrodes in the separation (z) axis.

electrode_length_mmfloat

Length of the electrodes (in mm) in the long axis of the DMS device (x axis)

cv_modeKeyword: [static, auto]

Compensation voltage mode:

  • static: A static CV, defined by cv_Vmm-1 is applied.

  • auto: Automatic mode to find an optimized CV for maximum transmission through the DMS. The CV is adapted after every SV cycle to minimize the total drift of the simulated particle ensemble in the separation (z) axis. The CV is written to a csv file <resultbasename>_cv.csv after every SV cycle in this mode. cv_Vmm-1 defines the initial CV value in this mode.

cv_relaxation_parameter :

Dampening parameter for the minimization process when cv_mode is auto.

sv_mode :

Separation waveform mode:

  • bi_sin: “Classical” DMS wave form: A superposition of two sine waves, one with the base SV frequency and one with the double frequency, resulting in in a high and low field phase.

  • square: Ideal square waveform with 1/2 ratio between low and high field phase

  • clipped_sin: A clipped sine SV waveform, with half an sine wave as high field phase and a clipped phase as low field phase

sv_Vmm-1 :

Separation voltage in V per mm.

cv_Vmm-1 :

Compensation voltage in V per mm. If cv_mode is auto, initial CV voltage for the minimization process.

collision_modelKeyword: [SDS, none]

Sets the used collision / background gas interaction model:

  • SDS: Statistical Diffusion Simulation model

  • none: No background gas interaction (mostly for testing purposes)

flow_modeKeyword: [uniform, parabolic]

Sets the gas flow profile for the neutral background gas.

  • uniform: Uniform flow profile over the whole separation gap. The flow velocity is defined by collision_gas_velocity_x_ms-1.

  • parabolic: Parabolic flow profile with an average velocity \(V_{\text{avg}}\) defined by collision_gas_velocity_x_ms-1. The flow velocity vanishes at the electrodes and becomes \(2 \cdot V_{\text{avg}}\) in the center of the separation gap.

background_temperature_modeKeyword:[isotherm, linear_gradient]

Sets the background gas temperature mode.

isothermIsotherm mode

The background gas temperature is independent of the position and set by

background_temperature_Kfloat

Background gas temperature in isotherm mode

linear_gradientLinear temperature gradient

The background gas temperature is dependent on the position, a linear gradient of the temperature along the long axis of the DMS device is assumed. The temperature gradient is defined by

background_temperature_start_Kfloat

Start temperature of the temperature gradient at the begin of the DMS device, in K.

background_temperature_stop_Kfloat

End temperature of the temperature gradient at the end of the DMS device, in K.

background_pressure_Pafloat

Isotropic pressure of the neutral background gas in Pascal.

collision_gas_velocity_x_ms-1float
  • Uniform background gas flow velocity in x direction if flow_mode is uniform.

  • Average background gas flow velocity in x direction if flow_mode is parabolic.

(in m per second)

collision_gas_mass_amufloat

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

collision_gas_diameter_nmfloat

Effective collision diameter of the particles of the background gas in nm.