SIMION® 8.2 (2019 era) makes a number of enhancements over SIMION® 8.1.


Following new features are currently available in early access mode:

  • Graphics:

    • 3D OpenGL graphics on the View screen. This is similar to the Modify 3D button but displays PA instances, trajectories, and poential contour surfaces. Modify/View 3D views also now display surface enhancement.

  • Main GUI:

    • New file folder tree on Main screen, with file-specific commands as pop-up menus by right click. [8.2EA]

    • Files can now be dragged and dropped from Windows Explorer into the SIMION window. This includes PA, GEM, and IOB files.

  • API/Programming:

  • OS

    • Native Linux Binary: A non-GUI native Linux binary is now available. See Linux.
    • Intel Xeon Phi - Experimental support for Intel Xeon Phi Coprocessor: A non-GUI native binaries is now available for the Xeon Phi. This implementation is a prototype and does not achieve much in performance improvements.
  • Modify

    • Flood fill pa:flood_fill.
    • Colored electrodes in 2D views based on potential. See Modify Color.
    • Electrode edges outlined in 2D views. See Modify Edge Outline.
    • 2D views now show electrode points in other planes as non-electrode points of a different shade of green. Allows understanding layered cross sections better. See Modify Planes.
  • GEM

    • GEM Extensions in 8.2: Major improvements to GEM syntax:
      • New shapes: gem cylinder3d(), gem half_space(), and custom shapes gem shape() defined by analytical equtions.
      • New transformations: gem extrude_xy(), gem extrude_yz(), gem extrude_zx(), gem revolve_xy(), gem revolve_yz(), gem revolve_zx(), gem rotate_x(), gem rotate_y(), gem rotate_z(), Many of these make geometry definitions more convenient and clear, with less use of locate rotations.
      • gem pa_define() accepted named parameters and new convenience features like array dimensions in mm: pa_define {wx=10, wy=10, dx=0.1}.
      • gem e(): and gem n() can accept a function parameter for defining gradient voltages over electrodes or analytic potentials in space.
      • fill and within can be omitted for shorter GEM code, and gem intersect() is an alias for within. e(1) { intersect { box(0,0, 10,10) circle(0,0, 10) } } . omit fill/within commands.
      • gem include() supports new ways to pass variables to/from included GEM files.
      • gem inf to represent infinity
      • $(...) and # can be omitted around Lua code: e(1) { for i=1,3 do box(i*10,0, i*10+w, 10) end }.
      • Using a Lua style comment -- in the file will disable compatibility mode supporting older deprecated GEM syntax such as space-delimited argument lists, + before numbers, and unquoted strings. New syntax.
  • Refining and PAs enhancements:

  • New/updated examples:

    • A number of examples, including all existing examples using what was early access features (not listed here).
    • SIMION Example: matlab: Examples of exporting arrays from MATLAB®/Octave to SIMION and other interfacing examples.
    • SIMION Example: molecular_beam: molecular beam examples (beam of neutral molecules with dipoles) - experimental
  • Updated/reorganized electronic documentation, an abgrided version of which is online.

The following features are currently planned for 8.2, but are not yet implemented (though are quite likely):

  • Parallelize the Fly’m (Multicore CPU support). Multiprocess has already been demonstrated with TCP/IP sockets. Single-process multicore implementation in progress (May 2013).
  • Further GEM format enhancements.
  • Yet more improvements to the GUI.
  • Simplify definition of contour values (.con) from the GUI (e.g. copy/paste a list of values as text or specify a range) or define them from Lua code. Probably extend .con format in ASCII format.
  • Many other things are under consideration for future versions and will be described here as 8.2 development progresses.