SIMION® Industry standard charged particle optics simulation software.
About | Documentation | Community/Support | Downloads | Ordering

Info: FAQ

From SIMION

Errors

  • "Directories Missing: More than a Total of 3000 in Drive" or "Directory File Too Big to Totally Load" error in File Manager...
  • "Initializing Random Number Generator" is reported on SIMION startup, and SIMION freezes up here (with CPU at 100%).

Capabilities

  • Is it possible to create a short movie of a SIMION simulation for display in PowerPoint or elsewhere? (see Info: Movie Files).
  • Is it possible to simulate ions flying through atmospheric conditions (i.e. ions colliding with gas)? (see Info: Ion-Gas Collisions).
  • Can SIMION simulate space-charge effects?
  • How do I input geometries into SIMION?
  • Can I write my used programs in C or any other language besides low-level PRG code?

Compatibility

  • Which operating systems can SIMION run on? Are MacOS and Linux supported?

SIMION Conventions/HOWTO

  • What are PA, PA#, PA0, PA1/PA2/PA3, ... files? How do they differ?
  • I created a new PA (nx=100, ny=50, nz=1, with symmetry and mirroring disabled), but when I look at the ISO view, its a brick 10-20 units thick, even though I used nz=1.
  • I put a single electrode in a PA file and then refined it. The space potentials are non-zero and roughly constant throughout instead of approaching zero at infinite distance. Why?
  • How do I change the grid scaling in a PA file to something other than 1 mm per grid unit?
  • How do I improve performance during ion flight? Screen redrawing is a drag, and a large ion trajectory file (traj***.tmp) is created.
Table of contents

Contents

Errors

"Directories Missing: More than a Total of 3000 in Drive" or "Directory File Too Big to Totally Load" error is seen when opening the GUI File Manager. The File Manager then opens, but I can only see some of the directories. I do have a lot of files on my hard drive.

This issue is somewhat resolved in version 7.0.2 and later, which improves the GUI File Manager a few ways. We recommend you download and install the latest 7.0.x version of simion.exe (http://www.simion.com/download.html), which is a free upgrade from 7.0.0 to largely resolve this issue.

In version 7.0.0, there were three known workarounds, which we no longer generally recommend but still provide here mainly for historical reference. The resolution incorporated into 7.0.3 is effectively similar to Solution #1 below but does not do an actual drive mapping, and it's simpler and a bit nicer in some ways, which is why it's now recommended.

  • Old Solution #1 - Download and save the simion.bat (http://www.simion.com/download/simion.bat) program file. Add this file to your start menu or desktop. Now, always start SIMION by double clicking this simion.bat program rather than the regular SIMION program icon. Notes: If your system does not have an unused "S:" disk drive letter or your SIMION program directory is not "c:\sim7", then simion.bat should fail. To correct this, you will have to edit the simion.bat file to set these these two variables to values compatible with your particular system configuration. Technical details: simion.bat is merely a wrapper around the standard SIMION program (simion.exe) and creates a "virtual drive" for the SIMION program folder using the DOS command "subst S: c:\sim7"). When SIMION's GUI file manager then starts up, it will only scan the files in this virtual drive rather than all files on your main harddisk. (tested on Windows NT and XP).
  • Old Solution #2: Rename any directory you need to access from SIMION by prepending and underscore ("_") character to it. For example, you might rename the Sim7 directory to _Sim7. The directory should then be visible, but the error will still display.
  • Old Solution #3: Put all your SIMION related files on separate disk drive or partition that has fewer files (if you do have such a drive or partition). Alternately, create a "virtual" drive by creating a Windows network share on your SIMION directory and then assigning that share a drive letter (which is what solution #1 above does). Then access your files in SIMION from that drive letter. This can also be done via "Tools | Map Network Drive" in Windows Explorer.

"Initializing Random Number Generator" is reported on SIMION startup, and SIMION freezes up here (with CPU at 100%).

This issue is fixed in version 7.0.3. We recommend you download and install the latest 7.0.x version of simion.exe (http://www.simion.com/download.html), which is a free upgrade from 7.0.0.

This error happens in 7.0.0 if the system is not rebooted for ~24 days or more. If you are still using 7.0.0, you may reboot your system. Another solution in 7.0.0 has been to disable the reinitialization of SIMION's random number generator. This can be done by deleting your "C:\FILES.GUI" directory and replacing it with the FILES.GUI directory contained in this ZIP file: FILES.GUI.zip. The details of this are described on p. E-15 of the SIMION 7.0 manual.

Capabilities

Can SIMION simulate space-charge effects?

It has some capabilities for estimating the onset of space-charge. See Space Charge.

How do I input geometries into SIMION?

There are a variety of methods. See Geometry Input Methods.

Can I write my used programs in C or any other language besides low-level PRG code?

Technically, SIMION 7.0 can only run PRG user programs, and there is no built-in extension mechanism for running other languages. However, the SL Toolkit add-on works around this in two ways, both within the bounds of PRG code. The first is to translate a high-level SL program into PRG code with the SL Compiler and then have SIMION run the PRG code. The second is to write an SL program that remotely communicates with a running C++ program (using the SL Remote libraries). SL Remote (use v.1.0.2 or above) achieves this essentially via remote procedure calls (implemented internally using some obscure, but largely hidden from the user, workarounds using named pipes pretending to be array files). The one downside is that remote procedure calls add some ~10x-100x time overhead if you're doing thousands or millions of individual calls, one or more per each simulation timestep (rather than batching them).

Sometimes, however, one can achieve a goal using a batch mode of operation instead of a real-time operation requiring SIMION user programs. For example, you might take the output from SIMION data recording and then feed that directly into any program of yours (in C++, Perl, Basic, or whatever), and the same is true for for inputting initial ion trajectories (saved in an ASCII text file) and potential arrays and fields into SIMION.

The upcomming SIMION version 8.0 directly supports Lua and C/C++ programming in addition to PRG programming.

Compatibility

Which operating systems can SIMION run on? Are MacOS and Linux supported?

SIMION is a native Windows program that can run on all versions of Windows since Win95. There have been a number of successfull reports of using SIMION under Linux via Wine, in which case SIMION runs at native speeds on Intel x86 compatible processors (since Wine is not an emulator). However, if your CPU is not Intel x86 compatible (e.g. typical Apple, Sun, etc., systems), then you'll likely have much less luck since an emulator would be required, which is undesirable on a heavy number crunching application like SIMION, and native builds of SIMION for these platforms are not available. There have been some reports of running SIMION under VirtualPC on the Mac, though not at native speeds (Intel Macs might improve that situation). It is technically possible that SIMION 8 might be compiled under Linux since a cross-platform GUI toolkit is used, but this has not yet been attempted.

SIMION Conventions

I created a new PA (nx=100, ny=50, nz=1, with symmetry and mirroring disabled) to model a thin grid, but when I look at the ISO view, its a brick ~100 units thick, even though I used nz=1.

nz=1 is treated specially by SIMION and effectively projects your XY plane image down the z axis. It is a form of symmetry. The extent of this z projection often approximates infinity, but its value is actually finite and is set in the "Ion Optics Workbench | PAs | Edit | nz use" field (minimum is 50 but may be increased).

In any case, in order for the so-called Laplace PA refining process to work effectively, you usually want some empty space on both sides of your grid, as well as at least two electrodes in the PA file to form a potential difference. This be done by drawing a line in the XY plane. Since nz=1, SIMION will project the line down the Z axis, and this forms your grid plate, with empty space on both faces. This is very simple to do. If, however, you need more control, such as two grids at different angles in the sample PA file or a non-ideal grid with holes, or some arbitrary shape, you'll need to use a full 3D array (nz > 1).

I put a single electrode in a PA file and then refined it. The space potentials are non-zero and roughly constant throughout instead of approaching zero at infinite distance. Why?

The Laplace refining algorithm typically requires that the PA contain at least two electrodes of dissimilar potentials for the space potentials to be non-constant. There must be a potential difference. Furthermore the system should be at least somewhat bounded, such as with a ground can enclosing your model (see p. 6-3 of the SIMION 7.0 manual). See First Uniqueness Theorem.

How do I change the grid scaling in a PA file to something other than 1 mm per grid unit?

A PA file in itself doesn't have physical units. A PA file is simply unit-less 2D or 3D matrix of grid points.

The physical size of your PA instances is instead determined by the workbench (IOB) file that references the PA instances. The size is controlled by the scale factor specified via the blue "mm/gu" (mm per grid unit) field in the Edit function under the PAs tab in the Ion Optics Workbench. The default is 1 mm/gu. In fact, you can assign a different scaling to each PA instance in your workbench, and multiple instances of the *same* PA file can be assigned different scaling factors as well.

Typically, one first selects any grid size that is appropriate in terms of computational quality and memory/time requirements. Then, one sets the scaling factor in the IOB file so that the PA is of the correct physical dimensions.

If using geometry files, see the "\Advanced SIMION Class\Reference\Geometry Files\a. Suggestions" section of the Advanced SIMION course (included on the SIMION 7.0 CD). In particular, to make things easier, it is typically recommended that you specify an appropriate scale in the "locate" command such that dimensions in your GEM file correspond exactly to physical dimensions.

; note: gu = "grid unit"
 Pa_define(11,11,11,p,xyz)    ; 0.025 in/gu  or 0.635 mm/gu
;Pa_define(26,26,26,p,xyz)    ; 0.010 in/gu  or 0.254 mm/gu
;Pa_define(51,51,51,p,xyz)    ; 0.005 in/gu  or 0.127 mm/gu
;Pa_define(101,101,101,p,xyz) ; 0.0025 in/gu or 0.0635 mm/gu
 Locate(0,0,0,40)  ; 0.025 in/gu  or 0.635 mm/gu
;Locate(0,0,0,100) ; 0.010 in/gu  or 0.254 mm/gu
;Locate(0,0,0,200) ; 0.005 in/gu  or 0.127 mm/gu
;Locate(0,0,0,400) ; 0.0025 in/gu or 0.0635 mm/gu
{
E(0){fill{within{sphere(0,0,0,0.250)}}}
}

How do I improve performance during ion flight? Screen redrawing is a drag, and a large ion trajectory file (traj***.tmp) is created.

In the "Normal" tab, there are the "V", "R", "Keep", and "Del" buttons that manage the trajectory file. In particular, you can disable retainment of ion trajectories by disabling the "R" button. The traj***.tmp file will no longer be created, and you can use the data recording or user programming features to record only the data you need. Further, disable the "V" button to not display ion trajectories on the screen. This speeds up long calculations that need not be very interactive. The fact the size of the trj***.tmp file is an additional concern because some file systems, OSs, and programming libraries have a 4GB file size limit.

Addition Notes

For additional topics, see the SIMION Info (http://www.simion.com/info/) section.

Footnotes: Based on contributions from *1 - Steve Colby, *2 - Desmond K.

Is something missing from this FAQ? Questions or contributions to this FAQ page are most welcome. Contact us below.

Any comments on this web page? (will be sent to SIS)
[Optional] Your name: email: phone/fax:
(c) 2003-2006 Scientific Instrument Services, Inc. (SIS). Contact SIS.