SIMION® Industry standard charged particle optics simulation software.
Newsflash: SIMION 8.1.0 is here.
About | Documentation | Community/Support | Downloads | Ordering

SIMION® 8.1

SIMION® 8.1.0 makes a number of enhancements over SIMION® 8.0. Major areas of emphasis include speed, accuracy, array refining enhancements, and programming APIs.

Schedule: The 8.1.0 production release was in Aug 2011, with further planned 8.1.x releases after that.

Major changes between 8.0.x and 8.1.0 are as follows:

  • Use large arrays on 64-bit systems.

    A 64-bit executable of SIMION 8.1.0 is now provided, which allows taking advantage of larger array sizes (up to 190 GB, ~20 billion point arrays in 8.1.0.30). When the 64-bit SIMION executable is run on a 64-bit Windows, SIMION can utilize all available system RAM. SIMION can use arrays with the number of points being approximately 1/10 the number of bytes in free physical RAM. For example, a system with 16 GB of RAM, 14 GB of which is free, can use a 1.5 billion point array. A 32-bit executable of SIMION 8.1 is also included for compatibility but (like SIMION 8.0) is limited to array sizes of roughly 2 GB (~200 million points).

    The 64-bit version requires a 64-bit Windows, which in turn requires a 64-bit CPU. The 64-bit executable is currently only supported on 64-bit Windows (or 64-bit Windows running in a virtual machine on Linux or Mac OS X). Running 64-bit SIMION on Wine64 on Linux is experimentally supported but needs further testing. 32-bit Windows, as well as 32- and 64-bit versions of Linux and Mac OS X using Wine/CrossOver (32-bit), currently require using the 32-bit version of SIMION 8.1.0, which is limited in memory sizes, but you’ll still be able to take advantage of enhancements like multicore support.) See 64-bit CPU support.

    Refine a few times faster (Multi-core CPU support).

    SIMION 8.1.0 can fully utilize multiple CPU cores to improve performance. This requires a system having a multi-core CPU or multiple CPUs (each in turn possibly with multiple cores). Presently, Refining (e.g. Laplace/Poisson solving) and some other operations like the GEM processing, Modify OpenGL view, and some 3D view renderings are parallelized, but particle flying currently is not in the initial 8.1.0 release (unless you run multiple instances of SIMION as before). Benchmarking indicates that an eight CPU cores system (dual processor, four cores per processor) can speed up refines by a factor of ~3-7x, depending on whether the array size is under the CPU cache size. See Multicore CPU support.

    Use rectangular, non-square grid cells (anisotropically scaled grid cells).

    SIMION 8.1.0 supports grid cells that have different scales in the x, y, and z directions. In some systems, non-rectangular grids can conserve memory and improve accuracy. See Anisotropically Scaled Grid Cells in SIMION.

    Proper Neumann boundaries

    SIMION 8.1 treats all open edges of PAs with proper Neumann boundary conditions, regardless whether mirror planes are defined on them. SIMION 8.0 only did this explicitly for edges with mirror planes; other edges were approximately very close to Neumann but differed very slightly. This change can slightly improve accuracy for things like repeating wire grid patterns. See Neumann Boundary Conditions.

    Additional Scripting APIs:

    New programming interfaces have been added that are accessible inside SIMION user programs:

    Poisson solver

    SIMION 8.1’s Refine function can solve the Poisson equation, which takes into account a known charge density as a function of position (x,y,z), defined as a separate space-charge array (PA). It’s important to note, however, that this Poisson equation solving capability alone is necessary but possibly not sufficient for solving space-charge problems that you may have. The Poisson equation requires that you know what the space-charge distribution is, but it may be that this distribution is not known a priori. A typical case is when simulating a system with a high current beam, where the electric field controls the path of the particle beam, but the particle beam itself generates an electric field (and sometimes a magnetic field) that in turn in turn affects the path of the particle beam. In such a system, the refine and particle trajectory integration cannot be done independently but must be done simultaneously. SIMION includes some user programs that achieve this (poisson examples), but it is advanced and still somewhat experimental at this time. See Poisson Solver in SIMION.

    Update: 8.1.0.42 supports .PA# Poisson solving (not just .PA). 8.1.0.43 piclib adds mode optimizing time-independent case.

    Dielectric solver

    SIMION Refine function has been extended to solve the Laplace (or Poisson) equation in the presence of dielectrics, which takes into account the dielectric constant as a function of position (x,y,z), defined as a separate relative dielectric constant array (PA). Dielectrics are implemented in 8.1.0.50, and This is compatible with space-charge too. See Dielectrics.

    New workbench user program segments: New flym, initialize_run,

    and terminate_run segments were added to simplify user programming concerning multiple run automation and reliability. Many examples such as SIMION Example: geometry_optimize, SIMION Example: tune, and SIMION Example: spectrum utilize these. See Workbench Program Extensions in SIMION 8.1. [Added in 8.1.0.40]

    Supplementary Documentation:

    Supplementary electronic documentation (first added in 8.0) and SIMION info pages (on the simion.com web site) have been merged and can be accessed in Windows Help format from the Help | Browse Documentation menu.

    Assorted other changes:

    Refining/Simulation:

    • Cell sizes in mm are now stored in the PA file (not just the IOB). This is used in Anisotropically Scaled Grid Cells in SIMION, Poisson Solver in SIMION, and visualization. Using a value other than 1 mm also affects the interpretation of various parameters including PA instance scale factor, PA instance working origin, Magnetic PA scaling factor (ng), and distance units in GEM files. See Anisotropically Scaled Grid Cells in SIMION for details.
    • Physical Constants updated to CODATA2010 ; Issue-I494
    • Max Electrodes - PA# electrode limit increased to 1000.
    • Disable relativistic effects option added to the Particles tab, mainly to help see the extent of relativistic effects on particle trajectories. (This can be used in conjunction with the Keep button to compare trajectories with and without relativistic effects.)
    • Issue-I503 - Refine .PA# solution arrays individually (note: the multicore support largely supplants this unless you want to refine these arrays on multiple computers)

    IOB

    • PA files automatically created from GEM files on loading IOB’s. [Added in 8.1.0.40]

    Programming (including various features previewed in early access program, Issue-I421):

    Printing:

    • Issue-I523 - Printing to BMP, PNG, and JPG files now supported.

    Data Recording:

    • Issue-I231 - Allow splitting data recording output into multiple files.

    Examples:

    • Issue-I499 - New induced current/charge example (“electrostatic_induction”)
    • Issue-I515 - New PA instance jumping trick example (“nonideal_grid/pa_jump”)
    • New poisson solving examples
    • waveform - New segmented waveform example
    • Issue-I502 - New Bradbury-Nielson Grid example (“bradbury_nielson_grid”)
    • FAIMS example
    • gnuplot - Examples plotting in gnuplot (similar to Excel examples). [8.1.0.20]
    • and others...

These changes are also implemented in 8.1.0 though are considered incomplete or experimental:

Refine accuracy
Some further enhancements to SIMION refine accuracy (under development/testing) can use the surface information in a GEM (or STL) file to refine a PA file to higher accuracy than previously obtainable when the electrode surfaces don’t perfectly align to grid points. Note: improving the field accuracy when electrode surfaces don’t align to grid units, is currently experimental, much slower than it will be in the final version, not well documented, and currently must be invoked from a user program (not GUI). See the function simion.experimental.gemrefine() (a corresponding simion.experimental.stlrefine is not yet implemented). See also the experimental\enhanced_refine example. Some screenshots are here. This feature probably will not be fully implemented until 8.1.1 or 8.1.2.

Likely upcoming changes in 8.1.x releases (e.g. 8.1.1 and 8.1.2) this year.

Run user programs faster.
We now utilize a faster Lua virtual machine (LuaJIT). Many simple programs (e.g. “quad”) may see only moderate improvements due to the bottleneck being memory access speed. However, programs using loops (e.g. batch mode programs that iterate over all points in an array) can see major speedups, even on single core processors. (mostly done; planned to be enabled in 8.1.1-TEST)
nVidia CUDA
Accelerate refine speeds (under development/testing).
Anti-mirroring for arrays.
Anti-mirroring would be a direct option for PA definitions. This is like the mirroring option but potentials have opposite polarity on opposite sides of the plane. For example, X anti-mirroring means that Φ (x,y,z) = - Φ (-x,y,z) for all points (x,y,z). For things like hexapoles, this halves memory usage without the workaround in 8.0. The design is currently under review.

Additional scripting APIs. - beyond the ones identified above.

Other optimizations.

Additional significant features not listed are also under consideration. Some of these will be delayed until 8.2. As seen, however, a major area of emphasis in 8.1.x is Refine and core optimizations. Less emphasis is placed on user interface changes in 8.1.

Other Notes

GUI: SIMION GUI remains largely unchanged in 8.1 following the significant changes in 8.0. Further significant user interface changes will likely not occur until 8.2beta.

Manual: SIMION 8.1.0 does not come with a new printed manual but rather reuses the 8.0.4 manual. Upgrades from 8.0 are not normally shipping with a new printed manual, but new licenses and upgrades from 7.0 are shipping with the 8.0.4 manual. Much of the core content described in the manual remains unchanged. However, we provide 8.1 specific notes in the “supplemental documentation” in electronic format (Windows Help). Major manual changes will likely not occur until 8.2.

File formats/Compatibility: File formats remain largely unchanged in 8.1.0. 8.0 simulations can be run unchanged in 8.1, and most 8.1 simulations can be run unchanged in 8.0 (unless the new features are used). More significant changes may be delayed to 8.1.x or 8.2. An extension was made to the PA (and IOB) format to optionally allow grid cell sizes in mm (in X, Y, and Z directions) to be stored in the PA file, as required for the new Anisotropically Scaled Grid Cells in SIMION and Poisson Solver in SIMION features, but only arrays that use this option are saved in the new format. PA# files also recognize 1000 adjustable electrodes (1..1000) now.

System requirements: For details, see System Requirements. Requirements are similar to SIMION 8.0 except that SIMION 8.1 can optionally take advantage of 64-bit memory (for modeling at higher accuracy) and multicore/multiprocessor CPU’s (for faster speed, mainly in Refine’s and some aspects of 3D rendering). Some > 10 year old systems (e.g. Windows 2000 and non-SSE CPUs) are no longer officially supported 8.1 unless requested. A 64-bit Windows 7, multi-core (or dual processor) workstation can provide optimal results.

Pricing: A discount is provided to existing SIMION 7.0 and 8.0 users. See Ordering Info.

Upgrades: Free SIMION 8.1.x releases will follow for at least the following year to improve on these features and perhaps add new ones similar in nature. A paid upgrade (8.2) is expected sometime after that. 8.1 users will be able to beta test some 8.2beta features as they become available (similarly to what we did in 8.0 early access).

Support for old versions:

  • SIMION 8.0 remains actively supported. Patches will continue to be provided. However, major “new” features added are now going instead into 8.1. Both 8.0 and 8.1 can be installed and run simultaneously.
  • SIMION 7.0 will still be supported to some degree since there are still users, and many of the concepts remain the same in 8.0. Both 7.0 and 8.0 can be installed and run simultaneously. In fact, 8.0 includes a copy of the 7.0 binary. The software is stable, and very few patches to 7.0 have been released in recent years.
  • SIMION 6.0, released in ~ 1996, is no longer formally supported due to OS compatibility issues, but we may answer occasional questions on it in the user group as they also pertain to newer versions. Very few people still use this version.
  • SIMION SL is now incorporated into SIMION 8.0. It is no longer sold separately, but it will still be supported. Major new functionality is now going instead into SIMION 8.1.
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.