Summary: Virtual Device (v.21) includes new "hydrodynamics" capabilities in addition to the 3D geometry editor and data analysis utility in previous versions. The hydrodynamics capabilties allow for gas flow calculations and simulation of trajectories in those flows via a SIMION collision model. An example of an ESI source--atmospheric pressure opening up to high vacuum, causing a supersonic jet--is shown above.
Below are various resources and documentation on Virtual Device 21 Hydrodynamics:
- Virtual Device 21.1 Overview - 19 slides (START HERE) - The quickest overview of what Virtual Device Hydrodynamics is about. (Updated 2012-04-25)
- Virtual Device, Demo Version, Manuals (Updated 2012-04-25)
- This includes
- 3D Editor manual (~112 pages)
- Data Analysis manual (~34 pages),
- Virtual Jet manual (~87 pages, for Hydrodynamics version only),
- ESI interface manual (abridged ~53 page version in demo, for Hydrodynamics version only),
- Slides (~19 pages).
- Older Poster: Application of electrospray mass-spectrometry for nanoparticle investigations: Simulation of ion movement in a supersonic jet. Koltsov S., Walther C. 17th International Mass Spectrometry Conference, 2006. (discusses simulation in a supersonic jet) (PDF, 1 page)
Components: Virtual Device 21 Hydrodynamics includes
- 1. 3D editor - A graphical CAD-like program for building complex geometries from basic shapes like cones, cylinders, and bars. Electrodes in geometries can be exported to SIMION as GEM or PA files for electric field calculation. If flow boundary conditions are defined on your objects, it can also export the project to Virtual Jet for gas flow calculation.
- 2. Data Analysis (for SIMION) - This utility conveniently analyzes and graphs output from SIMION Data Recording. Functions include ion distributions, phase distributions in different planes, calculation of histograms of exit parameters and peak shape, transformation of time of flight into mass/charge terms, and calculation of mass resolution. Data can be transformed into Excel format.
- 3. Virtual Jet - A Navier-Stokes flow solver based on the "large particle model". It computes flows under supersonic, compressible, inviscid flow conditions, as typical in supersonic jets such as ESI sources. The gas flows (temperature, pressure, velocity, and density as a function of position) calculated in this program can optionally be exported to SIMION as regular PA files for subsequent ion trajectory analysis.
- 4. Collision model and ESI interface - This is a SIMION user program in Lua that models ion collisions with a buffer gas. It is a hard sphere model that can work at high and low pressures. It can optionally utilize the gas flow deined in arrays exported by Virtual Jet or an equation.
See "slides" above for an expanded overview of components.
Evaluation: Access to draft of some manuals are available above. Access to an evaluation version of the software (with some limitations such as in array size) can also be provided. Contact us to receive an evaluation. If you have SIMION 8.0/8.1, click on a Virtual Device "demo" version is available via the "Check for Updates" button on SIMION.
Ordering: See SIMION (and Virtual Device) ordering information.
Authorship: Virtual Device is (c) 2006-2014 Dr. Sergei Koltsov. It is a third-party contributed add-on package to SIMION developed by Sergei Koltsov of Koltran Labs, a SIMION consultant. SIS has assisted in the beta testing but makes no warranty expressed or implied.
System requirements: Windows XP, Vista, or 7 (32-bit or 64-bit). The software will install a copy of Microsoft SQL Server 2005 Express Edition for storing Virtual Jet calculation results. Virtual Jet can utilize multiple core CPUs and nVidia CUDA-enabled cards for accelerated flow calculation speed (see "slides" above). SIMION 8.1 is required for the collision model, though some capabilities will also work on earlier versions of SIMION. It is also possible to use Virtual Jet without SIMION at all if you just want to do flow calculations without ion trajectory calculations.
Manuals: Manuals are included in electronic format (PDF). See Documentation section above.
Support: Primary support is via Koltran Labs. SIS can also offer some support but may defer to Koltran Labs. Support on the basic functioning of the software is free.
Status: Virtual Device 21 is available for purchase at this time. The software is a bit new though, and manuals are still being edited.
See also Additional information on Virtual Device (previous versions).
What types of gas flow conditions are solved? Virtual Jet solves the Navier-Stokes equation under conditions of supersonic, compressible, inviscid flow. These conditions can occur in supersonic jets, like ESI sources, where a high velocity gas flow is established due to a large pressure difference through a small orifice. It is not suitable for high viscosity / low Reynolds number applications.
What pressure ranges are supported? Virtual Jet can handle simulations with large pressure differences, as can occur in supersonic jets (e.g. atmospheric down to low pressures). Some other commercial flow solvers may not give correct results for low pressures. They may use k-e turbulent models, the result of which strongly depends on which turbulent model is used in the simulation. Virtual Jet does not require any turbulent model at all. The large particle model is derived from Monte-Carlo methodology; therefore, it can be easily prolonged into the free molecular regime. I plan to develop a 3D model of gas simulation in CUDA with supporting of free molecular regime in a future version.
Is viscosity handled? No, Virtual Jet handles inviscid flows (which are typical of supersonic conditions). So, for example, you will not see a laminar parabolic (Poiseuille) flow profile when modeling a pipe (UPDATE 2012-04: development of no-slip conditions on boundaries is in progress). One caution: in the Virtual Jet documentation, you will see some mention about viscosity. Note that this is not physical viscosity but rather only an "artificial viscosity" term that mathematically resembles physical viscosity in the Navier-Stokes solution but whose only purpose is to improve stability of the convergence at low pressures. This is only used in systems that approach free molecular pressures and need this extra stability.
Are 3D flows supported? The present version calculates flows in 2D (cylindrical or planar symmetry). However, the methods can and will be extended into 3D (the mathematical model is already developed). 3D will require CUDA for performance reasons (see CUDA) below.
Is turbulence supported? It is in development (see update below). First of all, turbulence simulations require a full 3D simulation because turbulence is a 3D non-stationary movement with pulsation of velocity and energy. The current version of Virtual Jet has 2D symmetry only, but it is also planned to develop the 3D version of Virtual Jet (see 3D above). A 2D simulation does not include any analytical model of turbulence, like k-e models, but it still allows simulating how gas fluctuates in the field of simulation.
The large particle model does not include an explicit turbulence model, but if we use an appropriate mesh (small size of cell/particle), we can see a whirlwind. It is a direct numerical simulation (DNS). This method does not require any additional equations but does require a large number of cells. I would like to underline that the full DNS works for the 3D model. Therefore we can say that the large particle model uses a DNS turbulence model. The video examples demonstrate turbulence. Fluctuations in time are not a function of boundary; they are whirlwinds. For example I can save pictures of each iteration (which take some time to calculate) and reply it as a video at high speed, and we can see how whirlwinds move in the gas. I also have an article where the authors simulate the Ranque-Hilsch Effect by the large particle methods (it is in the Russian language, but there are pictures). The correct simulation of turbulence also requires tensors, which I will add to the full 3D model. I also plan to add some turbulence models. We can compare them.
Even though Virtual Jet calculations can show time-dependent periodic fluctuations (as seen in the videos), when you export the flow arrays (pressure, temperature, velocity, density) as a set of SIMION PAs, each set of PAs only represents flow conditions at a specific point in time. The currently provided examples in SIMION assume for simplicity that the flows calculated converge to stable conditions (at least to approximation).
Update July 2011: Here is a screencast of a 2D tubulent model (Adobe Flash) simulated in a beta version of the turbulent model. This is a simulation gas flow over a cylinder. This is a complicated example in CDF simulation (from numerical point of view). The left part of the workbench is a gas source where gas parameters are constant. You can see the whirlwind, which exists behind the cylinder. That is turbulent flow.
Is droplet formation simulated in the ESI model? The currently provided Lua model does not, but it can be added just with a change to the Lua code. I can develop some such model (and have read about one in an article). This will be made easier once a planned SIMION 8.1.x update is made by SIS that will add the capability for generating new ions the middle of the simulation. For example, we have some droplet (ion with some mass, charge and radius), and it has a collision with a buffer gas or there is an electric field influence on the droplet and the droplet splits into two droplets. Each droplet has a mass, charge, radius and so on. Therefore we need to have function in SIMION (accessible from Lua code) which allows generating such ions/droplets.
What is CUDA and OpenMP? These are two technologies that can make the flow calculation run faster. If you have a multicore CPU (or multiprocessor system), OpenMP can split the calculation across the cores. nVidia CUDA allows running the calculation on supported nVidia graphics card rather than on a CPU. Graphics cards can have hundred of cores, and this sometimes speeds up the calculation by an order of magnitude.
How long does the calculations take? In general, gas flow calculations are computationally intensive. In Virtual Jet, 2D gas flow calculations can take minutes to hours depending on grid size. CUDA and OpenMP improve speeds (see benchmarks at end of "slides" above). Charged particle trajectory calculations inside the gas flows are relatively quick though.
How does uncertainty in collision cross sections affect the collision model? My idea is the following. We can estimate cross sections based on Chapmen Enskog kinetic theory (as a first approach). By using this cross section, we define the coefficient of ion mobility in numerical simulation in SIMION (for resting gas). This cross section can be slightly changed by using some coefficient in the hard sphere model of collision. The result is coincidence of experimental and numerical coefficients of ion mobility and therefore we have an appropriate value of cross section. That way, we can use this cross section for simulation of ion movement in a supersonic jet. I did this also for another project. Since Chapmen Enskog kinetic theory gives slightly incorrect values of ion mobility coefficients, especially for heavy ions, we can (I am describing it in ESI source manual) do simulations for some ions in a large range, say from 30 amu up to 2000 amu. For example we can do it for 30 amu, 200 amu, 600 amu, 1000 amu and 2200 amu (based on kilpatric experimental results). Now we can approximate the connection between coefficients of ion mobility and cross section by some function. Therefore we get a series ions, which gives correct coefficients of ion mobility in numerical simulation. I describe it in the manual with examples. I announced this idea when I was in Moscow. Users like it.
How are the gas flows imported into SIMION? The gas flow arrays calculated by Virtual Jet (pressure, temperature, velocity, and density), are exported just as regular SIMION PA files. Instead of storing electrical potential, the PA files store flow fields. These PA files can be added to the SIMION Workbench PAs tab in the usual way and even visualized with the PE/contours features in SIMION. The provided collision model (Lua workbench user program), conveniently reads flow data from these PA files. That latter feature requires SIMION 8.1. The collision model otherwise operates like other SIMION collision models you may have used before.
How are gas flow boundary conditions defined? Virtual Device's 3D Editor is a CAD-like program originally designed for drawing electrodes geometries, which can be exported as SIMION GEM files. 3D Editor also allows defining gas flow boundary conditions, and you can export these boundary conditions to Virtual Jet (as a ".vje" file) for the flow calculation. Gas flow boundary conditions include solid surfaces, volumes held at a given pressure/temperature, and volumes initialized to a given pressure/temperature (but could change during the calculation).