quadrupoleCollisionCellSim
Simulates a quadrupolar collision cell with hard sphere collisions between ions and background gas, space charge and variable electrode geometry given by SIMION potential arrays. The ions are accelerated into the collision cell which is filled with a collision gas. The ions are confined radially in a quadrupolar RF field.
Note
The time step length is not adapted to the gas dynamic parameters of the hard sphere model model. For a valid modeling, the time step length should be significantly shorter than the mean time between ion-neutral collisions.
Simulation configuration description
sim_time_stepsion_start_geometryNumber of simulation time steps
record_modestringParticle data record mode: Defines if a simple or an extended set of particle attributes is recorded in the trajectory files.
Valid modes are:
fullmode recordsvelocity
electric field acting on the particles and
space charge force acting on the particles
simplerecords only the velocity
The recorded particle attributes are recorded as separated (\(x,y,z\)) components.
dtfloatTime step length in seconds
trajectory_write_intervalintegerInterval, in time steps, between writes to the trajectory result file.
space_charge_factorfloatMultiplication factor for particle-particle interaction (space charge).
frequency_rffloatFrequency of the RF trapping field in Hz.
V_rffloatRF amplitude in V.
collision_gas_mass_amufloatMolecular mass of the particles of the background gas in amu.
collision_gas_diameter_angstromfloatEffective collision diameter of the particles of the background gas in angström.
background_gas_temperature_KfloatIsotropic temperature of the background gas in K.
background_gas_pressure_PafloatPressure of the background / collision gas in Pa.
termination_modestringParticle termination mode: Defines if simulated particles should be terminated or restarted when leaving the simulation domain or hitting an electrode.
Valid modes are:
terminateParticles are terminated and not restartedrestartParticles are restarted in their start zone
Note
Currently
restartcan not be used with an particle cloud start file, only with an particle start zone definition.simulation_domain_boundariesvector of vector of floatsDefines the outer boundaries of the simulation domain around the coordinate system origin, where ions are terminated. Is defined as vector of three two component vectors, defining the minimum and maximum in the spatial dimensions:
[[x low, x high], [y low, y high], [z low, z high]]
Potential array / electric field configuration
The electrode geometry and the resulting electric potential is defined by SIMION potential arrays. Every potential array contains the potential distribution resulting from an individual electrode on a normalized potential and every other electrode on ground. The total potential is calculated by a linear combination of the individual normalized potentials.
Warning
The potential arrays are assumed to be generated with the fast adjustment feature of SIMION with the same physical extent, resolution and coordinate system origin.
potential_arraysVector of files pathsPaths to a set of potential potential arrays defining the geometry and the electric fields.
potential_array_scalefloatGeometric scaling factor for the potential arrays.
dc_potentialsVector of floatInvariant (DC) potentials on the electrodes defined by the potential arrays in
potential_arraysin V.rf_potential_factorsVector of floatFactors defining the applied RF amplitude on the electrodes defined by the potential arrays in
potential_arrays.The applied voltage on the individual electrode is
\[U = U_{\text{DC}} + \cos(\omega \cdot t) \cdot V_{\text{RF}} \cdot F_{\text{RF}}\]with
\(t\) the current time in the simulation
\(V_{\text{RF}}\) given by
V_rfthe angular frequency \(\omega\), given by \(2\pi\cdot\)
frequency_rf\(F_{\text{RF}}\) given by
rf_potential_factors.
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 pathPath 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 integersNumber of ions of the ionic species defined by the the masses defined in
ion_masses.ion_massesVector of floatIon masses in amu.
ion_chargesVector of floatIon charges in elementary charges.
ion_collision_gas_diameters_angstromVector of floatEffective hard sphere collision diameters of the ionic species in angström.
ion_time_of_birth_range_sfloatTime 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 floatsInitial 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_eVfloatStart 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 boxThe 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 floatsSize of the box in x, y, z direction
ion_start_base_position_m: Vector of three floatsPosition of the box center
cylinderIon start zone is a cylinderThe ion start zone is a rotatable and translatable cylinder. The cylinder is defined by
ion_start_radius_m: floatRadius of the cylinder in m.
ion_start_length_mfloatDistance from bottom face of the cylinder to the top face of the cylinder (cylinder length).
ion_start_cylinder_normal_vector: Vector of three floatsNormal 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 floatsPosition of the center of the bottom face of the cylinder