The SIMION 8.1.1 “surface enhancement” feature allows electrode surfaces that are
curved or otherwise not aligned to PA grid units to
be modeled in a PA much more accurately than before.
Surface positions are stored more precisely rather than
(as before) approximated to the nearest grid unit, and this is used by Refine.

Surface enhancement can improve field and trajectory accuracy
by more than an order of magnitude for typical systems affected by this.
Using this can be as simple as adding a surface=fractional to your GEM file.
See Electrode Surface Enhancement / Fractional Grid Units.
Be careful, however, if flying particles within 1 gu from electrodes surfaces
(e.g. particles grazing surfaces) since proper Fly’m support for the
surface enhancement region is currently still under development
(for Early Access Mode).

SIMION 8.1 also allows PA grid cell sizes to differ
in the x, y, and z directions.
This can improve accuracy and memory usage in some cases where
it may be warranted to use different cell sizes in each dimension.
See Anisotropically Scaled Grid Cells in SIMION.

SIMION 8.1, includes a 64-bit executable, which allows PA sizes
much larger than the previous 2 GB limit in 8.0.
See RAM and Memory.
The SIMION on Amazon EC2 service is helpful if you need temporary access
to a computer with large amounts of RAM.
Note, however, that surface enhancement may eliminate or reduce the need
for very large arrays.

Some other techniques are possible using the SIMION 8.0.3 Modify screen
“Crop” function on refined potential array files.
For example, create two arrays that overlap in a region large enough that
the fields don’t leak through the center of the overlap region.
Refine those two arrays independently.
Then crop them in the center of the overlap region.
SIMION Example: bender_cut explores things like this.

SIMION 8.0.3 provides a way to reduce the number of solution arrays
using fast adjustable arrays (PA# files), especially
when using things like resistor chains that make the electrode
voltages mutually dependent.
Especially if you currently have dozens or hundreds of adjustable electrodes,
you can probably significantly reduce your disk and/or memory usage this way.
See Additional Fast Proportional Scaling Solutions and SIMION Example: ion_funnel.

As of 8.2EA, the ZeroMQ communication libraries bundled for
communication between multiple SIMION processes and/or other
programs (one same or different computers).
One useful application is splitting Fly’m or optimization jobs across
across multiple SIMION processes to speed up runs.

SIMION Example: magnetic_sector and SIMION Example: field_emission
illustrate a technique of tying geometric dimensions in a GEM file
to variables on the View screen adjustable Variables panel.
Changing the Variables panel triggers the PA to be rebuilt and refined
without leaving the View screen.
This makes it convenient to explore changes to geometric dimensions
or things like PA grid density (mm/gu).

A programming library is provided to plot vector fields derived from
arbitrary sources
(such as PA objects, text files, or user functions), as seen in
the Biot-Savart calculated magnetic field above.
The SIMION Example: contour is vastly improved in 8.1.
See Helmholtz Coil and SIMION Example: contour.

The simion.pas and simion.wb API’s
can conveniently extract field data from a PA or workbench.
For example, while in the View screen,
enter this into the SIMION command bar:

for z=0,0 do for y=1,20 do for x=1,20 do print(x,y, simion.wb:efield(x,y,z)) end end end

You can also utilize SIMION PA objects to conveniently
store any type of scalar or vector field data.
This include using three PA objects for the
x, y, and z components of a B-field (which is now recommended
over previous methods such as trying to convert the B-field
to a scalar magnetic field or using the simionx.FieldArray - 3D vector field API)–
see the “solenoid_pa.iob” example in the latest SIMION Example: field_array.
You can also use PA’s for things like
pressure, temperature, and velocity arrays for gas flows
(see Computational Fluid Dynamics (CFD)), and this can also be plotted using the plotting library
mentioned above.
The convenient thing is that these PA objects can be added and positioned
in the usual way via the View screen PA’s tab.

It’s recommended you utilize the “plotlib” library [8.1.1] in SIMION Example: plot,
which provides simpler wrappers around these functions and allows your
code to be compatible with both Excel and gnuplot.

Virtual Device
is a third-party package by Dr. Sergei Koltsov, which in addition
to its original geometry definition and data analysis functions,
now calculates gas flows (Computational Fluid Dynamics (CFD)), specializing in
high velocity / large differences in pressure conditions.
The gas flows can be exported as SIMION PA files.

$(...) and # can be omitted around Lua code:
e(1){fori=1,3dobox(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.

If using STL import, be sure to update to the SL Tools 8.1.1.1,
which has the solid strategy: solid under surface normals option
for improved accuracy.
See solid strategy.
Support for Electrode Surface Enhancement / Fractional Grid Units in STL import is forthcoming.
You can visually overlap/compare STL and PA objects
in the “STL->PA” View output window by checking both the
PA and STL checkboxes.

SIMION has been a native Windows application but fully supported under
Linux and Mac OS via Wine/CrossOver (including 64-bit Wine).
A native non-GUI Linux binary is also now available in
Early Access Mode (8.2) to assist compute server deployments.

SIMION 8.1 significantly expanded the “Supplemental Electronic Documentation”.
This is available via the Help>SupplementalDocumentation menu in SIMION 8.1,
and an abridged version is online http://simion.com/info.
Download the latest simionsetup to install the latest version of this documentation.