SIMION Software Change Log¶
For the latest list of changes with links to issue reports, see the online version of the change log, http://simion.com/changes .
- The latest SIMION 8.1 test release is 8.1.1.0-20120430 (binary and full installer + E.A.).
- The latest SIMION 8.1 production release is 8.1.1.1-20120514 (binary and full installer).
- The latest SIMION 8.0 production release is 8.0.7.48-20120030 (binary only).
- The latest SIMION 8.0 production release is 8.0.4.00-20080101 (binary and full installer).
- The latest SIMION 7.0 production release is 7.0.5.00-20070525.
Key: X=fix, A=addition, C=change, (lowercase)=minor, *=user-requested, B=backported to 8.0
8.1.1.1-20120514
- A SLTools(STL->PA): New solid strategy: solid under surface normals in STL->PA conversion provides much of the same accuracy as no extra solid points but ensures electrodes are solid. This is now the default strategy. See solid strategy. [*B]
- A SLTools(STL->PA): New option to overlap/compare STL and PA objects in “STL->PA” View output window, available via “PA” and “STL” checkboxes. Useful for checking conversion accuracy. ref
- X SLTools(STL->PA): Fix non-“square cells” with “region rotate” defined. mm/gu sizes were being applied to wrong axes, causing obvious distortions to geometric aspect ratio.
- A SIMION Example: random_fly2: new example of reloading a FLY2 file from a workbench user program and passing adjustable variables to it.
- A Doc(surface_enhancement): new page on surface accuracy improvement features.
- X GUI(marking): Fix mark selections losing focus about five seconds after start of dragging mouse on Modify and View screens. Affects Vista/Win7 (not XP) with SIMION 7.0-8.1.1.0. (Details: was due to Vista “ghost window” feature in PeekMessage.) [*B]
- x GUI(Refine): Fix Refine window controls disabled when loading IOB from batch mode (simion.exe example.iob or simion.command 'example.iob') or Windows shortcut. [*B]
- x Print: Fix “scaling factor” on Print Options screen getting reset to 1. Affects WMF/EMF/PNG/BMP/JPG outputs in ~8.0.5-8.1.1.0 [*my-20120402,B]
- 8.0.8.1-20120514 also released with backported bug fixes.
8.1.1.0-20120430-TEST
This service pack release adds dielectric material support for Refine, a new “field_emission” example illustrating multi-PA refines and emission from curved surfaces, new API functions for accessing workbench fields, a variety of new examples and documentation, and other features. “Early access mode” is also enabled, allowing previewing new magnetic permeability and magnetic vector potential capabilities in Refine slated for SIMION 8.2.
- A Refine(dielectrics): Add dielectric solving support to Refine. See Doc(dielectric) and the new Example(dielectric).
- A Programming(segments): New load user program segment called on workbench load. See Doc(workbench_program_extensions).
- A API(simion.wb): Add functions for accessing potentials and fields in workbench coordinates (mm) from PA instances or workbenches. These are simion.wb:efield(), simion.wb:bfield(), simion.wb:epotential(), simion.wb:bpotential(), simion.wb:find_at(), simion.wb instance:field_wc(), simion.wb instance:potential_wc(), and simion.wb instance:inside_wc(). See Doc(lua_simion.wb) for details.
- x Prog(Lua): Update Lua to version 5.1.5.
- A GEM: A PA can be marked “not refinable” by using an underscope in the pa_define command type argument (e.g. electric_ or magnetic_). This is equivalent to simion.pas pa.refinable == false (simion.pas pa.refinable). This is useful for PAs that store some special field type that should not be automatically refined in the usual manner. It is used extensively in Example(magnetic_potential) and Example(dielectric).
- c GEM: Disable “no fill definitions” warning if PA empty.
- a API(simion.experimental.contour_color_instance): Add function to draw contours in only specific PA instances.
- A Example(field_emission): new field emission cathode example, illustrating field-dependent emission, nested course/fine arrays (useful for higher field accuracy), and linking adjustable variables to GEM and FLY2 parameters.
- A Example(magnetic_sector): new more extensive magnetic sector example.
- A Example(kingdon_trap): new Kingdon trap / quadro-logarithmic / orbitrap-like example.
- A Example(count_transmission): add % transmission calculation example
- c Example(contour): contourlib81: support multiple plots in the same call, while ensuring they are drawn on the same scale.
- a Example(misc): add Fluent gas flow conversion example script.
- a Example(misc): add particle_distance_traveled program example (computes total distance in mm particle traveled)
- a API(simionx.FieldArray)/Example(field_array): Added anisotropic cell scaling support. Added alternate sub-example using SIMION PA objects (simion_pa.iob). Added fa:convert_to_pas (convert to SIMION PAs). Minor fix to error message when .csv file has wrong number of data points.
- A Doc(accuracy): new page on accuracy comments
- A Doc(transfer_matrix) Doc(paraxial_approximation) Doc(helmholtz_coil) Doc(monte_carlo) Doc(optimization), Doc(thermionic_cathode) Doc(electrostatic_trap) Doc(mathieu_equation) Doc(image_charge_detection) Doc(roadmap): add new notes
- c Doc(ram_and_memory) Doc(calculation_time) Doc(sltoolstut) Doc(fly2_file), Example(collision_sds) Example(secondary): expand docs some
- x Doc(index): add reserved variables to index. [*tz20120213]
- c Doc(changes): add cross references
- c SIMION Example: collision_hs1 Collision Model HS1: Add collision diagram [*]
- c GUI(menu): improve Help menu organization and link to manual search http://simion.com/manual [*tz20120213]
- x GUI(View): PA instance Add/Rpl no longer shrinks instance inside single pixel mark. Previously, if a zero sized rectangle was marked (e.g. simply by clicking the graphics window), often unintentionally, then using PA Instance Add/Rpl buttons would resize the PA instance to fill that tiny mark, as seen by a small scale in the Positioning panel.
- x Help: improve interlinking mechanism between supplemental help and examples.
- x Programming(PRG): Fixed recent regressions in old PRG programming (for completeness): Fixed flym segment (new in 8.1.0.40) wasn’t also working in PRG. Fixed Program Test > Restore All crash with PRG using sim_grouped (new in 8.1.0.45). Fixed Program Test > Run Segment crash with PRG using certain new vars like ion_run.
- x Programming: deny access to ion_run reserved variable at top-level.
- x GUI(View): Fixed possible View screen crashing in drawing certain PA instance rotations (continuation of patch in 8.1.0.48)
- c GUI(View): Avoid printing View screen mouse hover information to Log window when refining (e.g. 2D(xy) x:*, y:* mm ...). Typically occured in poisson examples.
- x API(simion.pas): Ensure contraint painst.scale * pa.dx_mm < 1E-6 since PA cells with mm/gu < 1E-6 can lead to particles stop advancing due to numerical loss of precision, such as near PA & WB boundaries.
- c CrashDump: improvements to crash dump reporter accuracy and terseness
SIMION “early access mode” is now enabled to allow early preview access to a few new features slated for SIMION 8.2:
- A Early Access Mode: comments on using early access mode: simion.early_access(8.2)
- A Refine(poission): New permeability and magnetic vector potential support in Refine, with extensive examples. See Example(magnetic_potential), Doc(permeability), and Doc(magnetic_potential) for details.
8.1.0.48-20120130
- X GUI(View): Fixed View screen crashing in drawing certain PA instance rotations (Issue I588). Affected 7.0 - 8.1.0.47 in rare cases, though more frequently since 8.0.7-TEST5. [*][B] Related also to particle splat detection (Issue I223).
- x API(simion.command): Fix possible crash indirectly resulting from command raising exception.
- Example(ionfunnel): Allow RF adjustment in funnel2 example and warn about DC adjustments. Add funnel GEM.
- a Doc(emittance): Add beam emittance description.
- a Doc(cfd): Add notes on use with CFD programs.
- c Doc(fast_scale_extension): Expand/clarify notes on fast scalable solution feature.
- c Doc(demotour): Update old Tour of the SIMION Demo article.
- c Doc(magnetic_potential): Add more notes on magnetic potential theory.
- 8.0.7.48-20120130 also released with backported bug fixes.
8.1.0.47-20120111
- A Example(pseudopotential): New example for pseudo-potential calc/plotting in RF trap.
- x Refine(Poisson): Trivial improvements in Aniso Poisson Refine convergence speed. In only initial (skipped) iterations, corrections were made to Poisson space-charge contributions near electrode surfaces in PA’s with anisotropically scaled cells. Although this change could improve Refine speed some (in practice, it does not seem to), it does not affect final result correctness and therefore is unlikely noticible.
8.1.0.46-20120103-TEST
This fixes some issues in 8.1.0.45.
- X SL Tools: fix crash on PA viewing. Broken recently in 8.1.0.45.
- x internal: updated support DLLs to latest versions.
8.1.0.45-20120102-TEST
SUMMARY: This release has significant updates to the Poisson capabilities, including new examples showing optimized time-independent space-charge mode, (experimental) vector magnetic potential, and RF. Some updates/fixes are also made in various areas, including field plotting.
- A Refine(poisson): Poisson solver can refine .PA# and .PA0 files now (not just .PA files). See Poisson Solver in SIMION.
- A Refine(poisson): (experimental) Added vector magnetic potential solving (experimental support). See Magnetic Potential and examplespoissonmagnetic_vector_potential.
- A Refine(poisson): Unit scaling factor can be configured in pa:refine. Allows the Poisson solver to be used more generally for things other than electric fields (e.g. vector magnetic fields, gravity fields, or heat). See the pa:refine “units” API in Supplemental Help.
- A Example(poisson): Updated piclib library to support a new ‘current’ solving mode, where particles traced represent currents, space-charge is assumed time-independent, and refines are performed between reruns. This can be much more efficient than before. Various restructuring of the piclib code and example file structure has also been made. See Poisson Solver in SIMION > “Computing charge density from trajectories”. Also see updated pierce and new pipe examples.
- A Example(poisson): Added new sub-examples: pipe_with_charge, pipe_with_beam, RF octupole, and static_chargesphere_simple (a simpler static charge example), and magnetic_vector_potential. Renamed field_2dpla/field_2dcyl examples. Added palib library.
- A Programming(variables): New sim_grouped and sim_repulsion reserved variables. to control grouped mode and charge repulsion type. See Workbench Program Extensions in SIMION 8.1.
- C Example(contour): contourlib81 significantly refactored, and new vmin/max/v0/v1/vautoscale/vscale fields.
- c Help(Supplemental): Cleaned up listings of API functions in Help Index.
- c FastAdjust: Fast adjust no longer automatically reloads .PA0 from disk if changed in memory (e.g. Poisson Refine). Affects GUI and pa:fast_adjust.
- a GUI(PRG): User Program button on Particles tab now opens any old .prg files too [*tz20110826]
- c API(simion.pas): Setting pa:size no longer clears array if array size unchanged.
- c FLY2/style: add trailing new lines when saving fly2 files.
- a CrashDump: Enabled 64-bit crash traceback reporter (previously only available on 32-bit).
- c GUI: Autocomplete full file names in Data Recording and Print Options screens.
- c internal: Updated GUI library.
- X Poission: Fixed occasional PA corruption (non-electrode points changed to electrode points) at locations where mouse is hovering (voltage display) when refining a PA from a user program in the View screen. Affected poisson piclib enabled examples in particular.
- x IOB(load): Fixed extraneous warning about ng mismatch on magnetic PA load.
- x API(simion.pas): Fixed pa:refine historical_memory_factor argument wrongly raising error.
- x GUI(View): Fixed Dots speed slider was reversed. Since 8.1.0.
8.1.0.42-20111213-TEST
- X Batch: Fix PA save crash in non-GUI batch mode. Broken since 8.1.0.40. [*re20111212]
- x Example(collision_sds) SIMION Example: faims: collision_sds.lua: fix error in wrap_vector_field when vy or vz but not vx PA is defined. [*20111208]
- x Example(poisson) (pierce3dplanar.gem): fixed broken pierce3dplanar.gem (locate not needed since beta).
- x API(simion.pas): fix simion.pas pa:refine() with .pa+ file raises error (error in error handling)
8.1.0.41-20111207-TEST
- A Example(lens_properties): added particle_spread_measurement sub-example. [*]
- a Example(geometry): add torus example
- x Example(poisson): rename C_per_mm_per_particle to C_per_m_per_particle. [*as20111207]
- x GUI(Windowing): fix dialog box sizing quirks (e.g. very tall), particularly for multiple monitors or partly off-screen windows. Affects >= 8.1.0.4. [*bm20111207]
8.1.0.40-20111205-TEST
SUMMARY: New workbench user programming segments are available to simplify user programming, and many of the examples have been updated accordingly. See the much improved “geometry_optimize”, “tune”, “spectrum”, and “lens_properties” examples in particular. SIMION can now automatically create PA files from GEM file during IOB loading. The gas flow (collision_sds\test3.iob and faims) have been updated updated to take advantage of SIMION 8.1’s ability to use PA files for defining and visualizing gas flows. Various other bug fixes and usability improvements were made.
DETAILS:
A Programming(segments): A new flym user program segment provides a simpler way to express a series of re-runs (by calling run). Example:
simion.workbench_program() local V1 function segment.flym() for i=1,10 do V1 = i; run() end end function segment.fast_adjust() adj_elect01 = V1 end
See Workbench Program Extensions in SIMION 8.1 for details. A number of the examples have been updated to use these new segments: Example(geometry_optimize) Example(spectrum) Example(tune) Example(faims) Example(lens_properties).
A Programming(segments): New initialize_run and terminate_run user program segments are called exactly once prior/after run. See Workbench Program Extensions in SIMION 8.1 for details. A number of the examples have been updated to use these new segments, thereby simplifying and improving the robustness of the code: Example(emittance) Example(excel) Example(lens_properties) Example(spectrum) Example(tune) Example(electrostatic_induction).
A IOB(GEM): PA files can now be automatically created from GEM files on loading IOB’s. For example, if test.iob is loaded, and test.iob references lens.pa0, but no lens.pa0 nor lens.pa# exists on disk, but a lens.gem does exist, then upon user confirmation, the lens.gem will be used to create the lens.pa#, and lens.pa# will then be refined to create the lens.pa0.
A PA(Format): A new ‘unrefinable’ flag can now be set in the .PA file to safeguard against accidental refining of certain PA’s (e.g. suppress prompts to refine on IOB loading). A typical example is a .PA file that is refined and then cropped (“Crop”) (to reduce RAM during fly’m) but should not again be refined since doing so would discard the effect of the boundary conditions that were cropped out. Another example is in using the feature to store gas flow (pressure, temperature, velocity) profiles in PA files, as the latest collision_sds\test3.iob example does, in which case Laplace is not applicable. This can be set upon “Crop” or via pa.refinable.
X PA(Refine): Fixed “No Adjustable Potentials Found” error on fast adjusting a PA# file with all non-positive valued electrodes (e.g. examplesimsims.pa#). Was regression in 8.0.6-TEST17 through 8.0.7.31 (8.1.0.31). [*bm20111205]
X Recording: Fixed corrupted Data Recording Events flag (Ion’s Start or Ion’s Every Time Step events) Issue I587. Affects 8.0.0 and possibly 7.0. [B]
x GUI(Program Test): Show Xref Listing for PRG files didn’t display array type (and could crash) for ADEFS/ADEFA vars listed under Array Variables Defined. Affects 8.0.0 (not 7.0.5). [B]
x Programming(segments): Fixed various problems if errors raised inside segments. For example: function segment.terminate() error 'opps' end
- Fixed: Any error raised in the terminate segment was not immediately aborting the run; rather, the terminate segment continued to be called for remaining particles, leading to lots of error messages. [B]
- Fixed: Any error raised in the initialize segment was not always causing a failure status at the end of the Fly’m. This only affected Fly’ms in GUI mode (not non-GUI batch mode). [B]
- Fixed: Particle memory leaked if error raised in init_p_values. Might only be noticed in simulations with lots of particles. [B]
x Programming(startup): Traceback (not crash) if startup program raises error. [B]
x GUI(View): Fix crash on loading workbench from Load button on Workbench tab. Only affects 8.0.7 (e.g. 8.0.7.22) not 8.1. [B][*ts20111115]
C Rerun: Rerun state is reset at end of Fly’m to value at start of Fly’m. Related to Issue I489. [*][B]
c GUI(Refine): On refine complete, display “Delta=0.001 V” rather than “Error 0.001” since new users can misinterpret “error” as failure or as accuracy against theory, when actually it is a maximum absolute change in potential between iterations. [B][*or20111020]
c GUI(Refine): Improve error message “Failed saving PA file: Access is denied.”. This error message typically occurs on attempt to refine a PA# file in a directory you don’t have write permission to, such as c:Program FilesSIMION-8.1examples . SIMION now gives a more meaningful error message: The operating system is not allowing you to write the file QUAD.PA#. Hint: Copy the folder C:\Program Files\SIMION-8.1\examples\quad to some location you have write access to, such as your personal Documents folder. The Windows Program Files folder typically allows write access only to administrative users. [*or20111020]
c GUI(FastAdjust): Display notes about meaning of electrode #0 when fast adjusting basic (.pa) array. [*or20111020]
A Example(solenoid): Add toroid example too.
C Example(contour) (contourlib81) - Added x,y,z options to plot for convenience - Added npointsx,npointsy,npointsz options - Moved dot to end of vector; center lines on scalar - Added missing solenoid81.iob example
-
- A Support storage of gas flows in SIMION PA files (see test3.iob).
- A Incorporate SIMION 8.1 ‘contourlib81’ gas flow plotting (see test2.iob/test3.iob).
- c In reading array text files, avoid problems with Unix-style line endings and NaN values. Also faster read_file_numbers.
- c Disable SDS when pressure is zero (rather than raise error), like HS1.
- c Extracted out arraylib and textfilelib into separate files.
-
- X Fix treatment of sign on mobility constants for negative ions when SDS_faims_mode=1. Behavior is now consistent with SDS_faims_mode=0. [*mo20111112]
- X squarewavelib: Improved precision loss in square waveform timing (see README).
- A Added cylindrical_transverse sub-example (flow around axis).
- a Added cylindrical focusing discussion to README.
- c Enable Poiseuille flow via adjustable variable (on by default) in examples.
- See also collision_sds changes above.
A Example(tune): Added new tuning sub-examples: tune_series, tune_simplex, tune_random, tune_binaryoptlib
C Example(spectrum) Example(geometry_optimize) Example(tune) Example(faims) Example(lens_properties): Uses new “flym” workbench program segment to simplify/improve the code.
C Example(emittance) Example(excel) Example(lens_properties) Example(spectrum) Example(tune) Example(electrostatic_induction): Uses new initialize_run / terminate_run workbench program segments.
a Doc(ram_and_memory): add notes on Hyper-V dynamic memory.
C Doc(manual): Rev-5 (Nov 2011) of the 8.0/8.1 manual covering 8.1.0.31 is now shipping (changes listed at bottom).
8.1.0.31-20111015-TEST
- A Lua(Libraries): Added Lua extension module DLL support in 64-bit version. Previously, only the 32-bit version provided the necessary DLL.
- C Example(extension): Updated example for 64-bit and newer compilers + more README documentation.
- A Lua(Libraries): Added some core Lua modules: LuaFileSystem, LuaSocket, lpack, and LPeg (both 32-bit and 64-bit versions). See Programming API for SIMION.
8.1.0.30-20111008-TEST
- A PA(64-bit): Now supporting huge 190GB PA files (~20 billion points). Previous 8.1.0 releases were only designed to support 16GB per PA file.
- A SIMION on Amazon EC2: added usage notes. Note: Remote access to 68 GB RAM systems can currently be rented for only ~$2/hour on Amazon EC2 (high memory instances).
- X PA/IOB(aniso): Fixed PA origin point was rescaled even if user said No to the question “Physical grid cell sizes in array [...] changed by a factor of [...] change PA origin point [...]?”) on viewing an IOB after changing mm/gu scale stored in PA file.
- a Example(gem): Add GEM file of cylinder with bend in the middle (“elbow”). [*]
8.1.0.22-20110919
- X PA(64-bit): Fixed .PA# files larger than 4 GB can refuse to refine with error “Fast Adjust Refining Aborted” prior to start of refine. Did not affect basic .PA files. Nor did it affect .PA# files smaller than 4GB generating .PA[0-9] solution arrays summing to >4GB. [r.21] [*bb20110914]
- X PA: PA state flags (e.g. “unsaved [*]” and “unrefined [!]”) are now handled differently in the implementation. This corrects a number of bugs relating to Main screen PA list flags [*!] not updating properly, as well as prompts to save any unsaved PAs on closing. The problem was more noticeable in SIMION 8.1 when using the PA API to edit arrays in memory. [B]
- X PA(aniso): Fixed refined check on loading 2D cylindrical basic (.pa style) arrays with anisotropically scaled grid cells.
- X GEM(PA/aniso)/Critical: Fixed GEM file within/notin commands’ handling of shifting surfaces by 0.5 grid unit (gu) in the direction of the surface normal in the case of anisotropically scaled grid cell feature. [r.22] See manual section “I.2.1. Classes of Instructions: Within class” for details on this 0.5 gu adjustment. Previously, the 0.5 gu adjustment was measured only in units of the X direction grid unit size but now is estimated in the direction of the surface normal. The within_inside*/notin_inside* commands, which normally don’t use this adjustment, were not affected (except with points3d). For example, this previously made the surface 10 gu (11 grid points) thick, when it should have been 0 gu (1 grid point) thick: pa_define(51,51,1, cylindrical, none, electrostatic,, 10, 1) e(1) { fill { within { box2d(0,25, 500,25) } } }
- x GEM(Macro): Improved error message when GEM macro processor does not have write permission to GEM folder. Previous error was "simion/preprocessor.lua:219: attempt to index local 'output' (a boolean value)" [B]
- x IOB: Removed extraneous warning on ng magnetic scale factor mismatch on loading certain IOBs with non-magnetic PAs (e.g. Example(tof)). Affected >= 8.1.0.16 and 8.0.7.16. [B]
- X Programming: Fixed IOB’s with PRG programs may give the error “Failure in running Lua segment. attempt to call a nil value stack traceback:” after loading another IOB with a Lua program. Affects 8.0.6 (not 8.0.5). [B]
- A API(simionx.MField): Added mfield:draw method to draw wires on the SIMION View screen. contour, solenoid, helmholtz_coil examples now use this.
- A API(simion.experimental.display): added this object to save and restore View screen display state. Experimental. See Programming API documentation.
- A API(simion.pas): Added pa.refined and pa.saved properties, which indicate whether the array is considered refined and saved respectively. (get/set)
- x API(simion.pas): Fixed pa:refine solutions parameter cause crash. Affected version >= 2011-07-11. [*mh20110908]
- c API(simion.pas): pa.filename may now be nil (in get or set) if the array in memory is not to be associated with a file on disk.
- X API(simion.pas): Fixed pa:save when PA is in packed format (e.g. in Modify screen). Previously, electrode points would be lost. [r.22]
- c API(simion.pas): Removed deprecated simion.pas:clear (was renamed simion.pas:close).
- c API(simion.pas): pa:clear now resets internal max_voltage to default 100000.
- C GUI(Messagebox): Improved messagebox positioning, keeping near window and mouse.
- X GUI(I/O): Fixed continual “Cancel file operation?” prompts on closing frame. This would occur if a file operation is performed during frame closing, as may occur if the Modify screen is opened and the PA is unsaved. [r.22] Affected ~8.0.6 and related problem in 8.0.5. [B]
- X GUI(keyboard/program): Fixed no escape from simion.run_stop() and simion.sleep(). Since 8.0.5-TEST37, simion.sleep() won’t escape (ESC key) from a user program, and simion.run_stop() won’t escape from command bar or user program. [*sb20110824/T1154] [B]
- X GUI(disable): Disable main screen buttons during long running operations such as IOB load, refine, and fast adjust (including via programs), to prevent crashing if clicked. [*bb20110917]
- c GUI(View): Fly’m button text color changed for readability. [*tz20110827] [B]
- c GUI(Main): Program Test button state is now updated on activating SIMION window (e.g. after creating PRG file in another application). [B]
- x GUI(About): Fixed Help>About menu rearranging screens like Fast Adjust/Refine/Recording. [*ew20110804] [r.22] [B]
- x GUI(NewPA): Fixed 2D planar symmetry tooltip description on new PA screen. [*tz20110822]
- A Example(spectrum): new example demonstrating voltage scan and acquisition and plotting of spectrum
- A Example(mfield_adjust): new example demonstrating basic usage of mfield_adjust segment to programmatically define a magnetic field
- A Example(excel): Added excellib library, simplified Excel plotting library
- A Example(gnuplot): New gnuplot example to plot in gnuplot rather than Excel. Most examples that plot to Excel can now plot to gnuplot as well now.
- A Example(contour): Added contourlib81 library for directly plotting field vectors on the View screen without particle flying tricks. solenoid81 example added too.
- A Example(helmholtz_coil): Added three-axis helmholz coils support; draws coil wires; uses contourlib81 library to draw magnetic field vectors
- A Example(octupole): Added README comments on mirroring, symmetry, and ways to reduce memory usage by sharing electrode solution arrays.
- x Doc(magnets): updated page; Fixed some spellings
8.0.7.22-TEST
- Incorporates fixes in 8.1.0.22 marked with [B].
8.1.0.18-20110822 (First 8.1 Production Release)
- 8.1 changes: Fixed –num-threads command line option might prevent SIMION from starting.
- [!] 64-bit SIMION now experimentally supported on Linux via Wine64.
- Doc(linux) Doc(mac_os): moved into supplemental docs
8.0.7.18 (and 8.1.0.18)
pa0/compatibility: improve error message "Missing electrode positions" when
PA0 electrode number exceeds maximum supported by current version of SIMION.
8.1.0.17-RC1-20110819 (release candidate)
install: some directory structure reorganization:
- 32-bit binary files moved into x32 subdirectory on 64-bit installs.
- moved supplementary chm file into docs subfolder
- allow SIMION executable to be in subdirectory of main program folder.
- fixed line endings
install: fix some software versioning issues
Examples(geometry): added cma2d.gem and cma2dp.gem (ideal
cylindrical mirror analyzers)
Examples(experimental\enhanced_refine) - add "experimental" enhanced Refine accuracy
for non-grid unit aligned electrodes example
doc: add more notes on multicore performance
8.0.7.17-TEST (and 8.1.0.17-RC1)
System DLLs (not including Lua module DLLs) are now loaded from
the "\lib" (not "\lib\lua") subdirectory of SIMION.
Fixes to 8.0.7-TEST:
[critical] Fix .PA0 corruption on saving when electrode number > ~30. Broken since 8.0.7.16.
8.1.0.16-TEST-20110817
8.1 Fixes:
contouring: correction on aniso-PA 3D contour line spacing
8.1 Changes:
API(simion.pas): pa:save now raises on error.
Renamed pa:rescale to pa:resample.
Corrected documentation on some error handling behaviors.
supplemental help: better organize table of contents
8.0.7.16-TEST (and 8.1.0.16-TEST)
Defects:
[critical] IOB sometimes was saving in SIMION 8.1.0 (IOB mode 2) format
when it should have been saving in mode 1 format.
Affected 8.0.7.15-TEST and 8.1.0.15-TEST mostly.
Improvement in IOB loading robustness for future compatibility.
8.1.0.15-TEST-20110816
8.1 Changes:
[IMPORTANT!]
GEM/aniso-PA: Default units in GEM files are now mm rather than gu.
Since default cell size is 1 gu = 1 mm, compatibility is maintained with
SIMION 8.0. The locate statment in the below aniso-PA example should be removed:
pa_define($(R_mm/dx_mm+1),$(R_mm/dy_mm+1),$(R_mm/dz_mm+1),
planar, xyz, electrostatic,, $(dx_mm),$(dy_mm),$(dz_mm))
; locate(0,0,0,, 0,0,0, $(1/dx_mm),$(1/dy_mm),$(1/dz_mm)) {
electrode(1) { fill { within { sphere(0,0,0, $(R_mm)) } }
;}
To use gu rather than mm, specify "gu" (without quotes) in the 11-th parameter
to pa_define. For details, see the anisotropically_scaled_pas section of
the supplemental help file.
[*bb20110720: http://simion.com/discuss/topic/1134-anisotropic-scaling-issue/ ]
.PA0 format for >= 16GB arrays implemented.
8.0.7.15-TEST (and 8.1.0.15-TEST)
Recording/GUI: Fixed "Delimiter" control not accepting user selection.
Affected >= 8.0.6-TEST7. [*jb20110814]
8.1.0.14-TEST-20110815
[IMPORTANT!] The Aniostropically scaled PAs and Poisson solver changed in
ways that break earlier 8.1/early access.
8.1 Changes:
[!]Poisson solver: Charge density array values now must be in C/mm^3 units
not C/(gu_x*gu_y*mm_z). Also Poisson solver now requires the physical sizes
(in mm) of grid cells to be specified in the potential array and charge array
files. See the poisson_solver help page for more details.
[!]aniso-PA: The "scale" factor and "PA working origin" (Z/Y/ZWo) parameters
on the View>PAs>Positioning panel have changed in meaning for PAs that use
SIMION 8.1's capability for PA file to store inside themselves an
explicit grid cell size in mm other than (1 mm/gu)^3. Now, the PA instance
scale factor multiplies the grid unit size defined inside the PA. For example,
if the cell size (dx_mm,dy_mm,dz_mm) in the PA file is (3,5,10) mm and the
PA instance scaling factor is 6, then the physical cell size would be
(18,30,60) mm (not (6,10,20) mm as before). Furthermore, the PA origin is
now in units of mm prior to the application of any scaling factor
(not gu as before). This change still preserves compatibility with
SIMION 8.0 PAs, which always had (1 mm/gu)^3 represented in the PA file itself.
See the anisotropically_scaled_pas help page for more details.
[!]aniso-PA: The "ng" magnetic scaling factor is now in units of mm as defined
in the PA file (rather than grid units). Any subsequent scaling of instances
of the PA on the workbench continue to have no effect on this though.
This change still preserves compatibility with SIMION 8.0 PAs, which always
had (1 mm/gu)^3 represented in the PA file itself.
See the anisotropically_scaled_pas help page for more details.
Double/Halve: These functions now update grid cell sizes in mm accordingly.
API(simion.pas): Added pa.symmetry_type variable (similar to pa.symmetry but
without mirroring info)
API(simion.wb): instance.mm_per_gu variable renamed to instance.scale
due to the above change in meaning for the scale factor.
Disable antimirroring option in GUI (will be delayed to 8.1.1/8.1.2).
SL Libraries: ng changed from int to double, and only include
first 17 bits of ng in mirror (SIMION 8.1 compatibility)
8.1 Fixes:
API: pa_coords_to_wb_coords/wb_coords_to_pa_coords/inst:pa_to_wb_coords/
inst:wb_to_pa_coords functions were incorrectly rescaling the vector
in anisotropically scaled PAs. [critical]
Copy function (View PAs) tab now implemented for anisotropically scaled PAs.
Examples(poisson): Removed incorrect "* PIC_scale" in piclib charge density
scaling factor. This affects only 2D cylindrical arrays that have
a lower resolution charge density array (i.e. PIC_scale not 1).
versioning: (minor) fixed version numbers on EXE's.
8.0.7.14-TEST-20110815 (and 8.1.0-TEST14)
versioning: SIMION versioning number scheme changed from e.g. "8.0.7-TEST14" to
"8.0.7.14-TEST".
Examples(collision_hs1) - Removed caching of mean-free-path calculation.
This optimization didn't improve speed much and could even decrease speed.
The optimization was also more error prone if certain variables like
_gas_mass_amy and _sigma_m2 were changed during the run.
8.0 Fixes:
Copy function (View PAs tab) slowness fixed. This affected versions >= 8.0.5-TEST27.
Fixed reporting errors on loading 8.1 data files.
8.1.0-TEST13-20110811
8.1 Changes:
API: x_mm_per_gu/y_mm_per_gu/z_mm_per_gu renamed to
dx_mm/dy_mm/dz_mm in simion.pa, SL Libraries, and SL Tools,
and batch mode interfaces.
API: remove undocumented simion.EARLY_ACCESS
GEM/aniso-PA: pa_define dz_mm, if omitted, now always defaults to dy_mm,
never dx_mm.
Examples: remove early access mode calls.
8.1 Fixes:
API(screen print): Fixed simion.print_screen/simion.printer instabilities.
These are used in geometry_optimize 8.1 features.
API(simion.pas): Fixed pa:crop,pa:refine,pa:fast_adjust may cause
instabilities if they raise an error.
8.1.0-TEST12-20110810
setup: New software installer for SIMION 8.1.
8.1 Fixes:
flym/batch-mode: "fly" batch mode command was not honoring trajectory options
like --grouped and --trajectory-quality when operated in GUI mode (i.e. without
--nogui). This only affected 8.1betas (and early access). [*kc20110810]
[severity: critical]
Resolved incompatibility with having 32-bit and 64-bit SIMION 8.1 executables
in the same folder.
Examples: added examples\geometry\sphere_aniso.gem - simple example of
GEM for anisotropically scaled PA.
Examples: added examples\geometry\sector.gem - magnetic sector example
Examples: added examples\geometry\uniform_bfield.gem - uniform magnetic field example
Incorporates 8.0.7-TEST12 changes also.
8.0.7-TEST12-20110810
View: Various particle trajectory options now are reset to defaults on IOB
reload rather than on exiting/re-entering the View. These include
TQual, Grouped, Rerun, Use Programs, Record Data, Repulsion,
Retain Trajectories, Time Markers, and Pause Step/Event.
Pause Step/Event are still reset on (re-)entering View.
(Previously Timer Markers and Pause Event were only reset on program startup.)
[category: UI defect]
8.1.0-TEST11-20110805
8.1 Fixes:
aniso-PA/GUI/OpenGL - Modify 3D rendering of anisotropic PAs fixed
(cylindrical case, texture, and mouse coordinates)
rec - fixed warning about early access in "split data recording output
into multiple files" option. [*ew20110805]
SL Tools has been upgrade to support SIMION 8.1:
aniso-PA - Anisotropically scaled PAs now supported in viewing and STL/Text <-> PA functions.
64-bit support added.
Also includes 8.0.7-TEST11 enhancements, such as improved STL->PA CAD conversion
accuracy (Issue I339).
SL Libraries: 64-bit support added.
Examples: added two_cylinder.stl.zip (two coaxial cylinder STL file) to \examples\geometry
Incorporates 8.0.7-TEST11 changes also.
8.0.7-TEST11-20110805
GUI/OpenGL - In PA rendering (Modify 3D or SL Tools View), "points" checkbox
now displays all electrode surface points. Useful for visualizing grid spacing
as well as non-solid electrode points (which otherwise might not render).
SL Tools:
STL->PA [IMPORTANT] - Improved STL->PA CAD conversion accuracy, with exact unit alignment.
The new option "Solid strategy" = "No extra solid points" achieves best
accuracy, but see the Issue I339 report. Issue I339 [*]
Major reorganization of STL->PA screen and its command-line options.
This is intended to be more clear and also support 8.1 extensions.
Fixed keyboard focus problem on STL->PA screen. Affected SL Tools 1.1.3.
Also includes above OpenGL change.
SL Tools version numbering changed to match SIMION.
Add --version command line parameter to display version.
GUI/Particles - "Coordinates relative" drop down now includes units "mm"
or "gu" for clarity. [*]
8.0.7-TEST10-20110803
Internal: minor changes.
8.1.0-TEST9-20110730
Additions:
GUI/Data Recording - "Record data" checkbox now automatically becomes checked
upon altering any Data Recording screen option (for convenience). [*tz]
examples - Added tandem_van_de_graaff - Illustrates Tandem Van de Graaff system,
with electron stripping when ions pass through a foil. Contributed by Theo Zouros.
examples - Added examples\geometry\parallel_plate_capacitor_2d.gem (idealized 2D
parallel plate capacitor or analyzer).
8.1 Fixes:
ansio-PA - View 3D Iso screen now draws anisotropically scaled arrays properly. [*]
(Note: Anisotropically scaled arrays now drawn with the Constrn optimization disabled).
ansio-PA - Force mm/gu in y and z to be identical in cylindrical aniotropically scaled PAs.
Affects New PA screen, GEM, gem2pa, simion.pas, and PA loading.
GUI/GEM - Added separate scale X/Y/Z fields to GEM screen for anisotropic scaling.
Incorporates 8.0.7-TEST6/TEST7/TEST8/TEST9 changes also.
8.0.7-TEST9-20110730
GUI/view/important - Fixed distortions in drawing PA's in non-constrained 3D View screen
(Issue I586). Affected >= 8.0.6-TEST17.
GEM: GEM files containing no fill definitions now only trigger a warning
rather than an error ("Failed compiling GEM file[...] ERROR: No Fill Definitions Found").
This allows creating empty PAs using GEM files. [*20110729tz]
GUI/file: File dialog box now opens with current directory (rather than last
selected directory) if an IOB or PA was opened from command line or Windows
file associations. [*20110729tz]
8.0.7-TEST8-20110728
GUI/View - marker color field on Particles tab is now always enabled, even
if time markers are disabled.
Internal - cleanup of View screen rendering code (should not have visible changes).
8.0.7-TEST7-20110727
GUI/Modify - Fixed off-by half grid cell mouse cursor positioning. Affected
SIMION >= 8.0.0.
GUI/GEM - Fixed "scale" field on GEM screen was only scaling in X direction.
Affected >= 8.0.6-TEST7. [*]
http://simion.com/discuss/topic/1139-simion-806-rc3-20110704exe-possible-bug
8.0.7-TEST6-20110726
GUI/Data Recording - minor improvements to "Undo"/"Cancel" buttons to restore
file name and record data settings to those prior to opening window.
Also improved width/precision field tooltips for clarity.
GUI/Data Recording - rearrange Format for Recorded Data panel to be
slightly more logical.
GUI/fastadj - Increase max potential from +-9999999.9999 V to +-1.0E+8 V [*]
on Modify and Fast Adjust screens, as well as fastadj batch mode command.
8.1.0-TEST5-20110723
64bit,PA: Fix corruption of 64-bit PAs on loading/saving.
GEM: Fixed locate X,Y,Z scalings to be applied after rotation (Issue I585) [*]
Affects anisotropically scaled PAs.
simion.pas API: Fix pa:point corruption when potential exceeds max_voltage in packed array.
simion.pas API: Fix pa:potential corruption when potential exceeds max_voltage in packed array.
Examples: poisson - add 3D examples and cleanup some (2011-07-19)
Help: add new pages on general electrodynamics topics
Incorporates 8.0.7-TEST5 changes also.
8.0.7-TEST5-20110723
core,rotation: Eliminate small numerical defects in 90 degree rotations, occurring in
GEM files and rotation functions like azimuth_rotate. (Issue I522) [*]
core,minor: No longer trim extra spaces around file names when handling various SIMION file types.
Although these spaces are likely undesirable, there's no need to complicate
file name handling either. For example, " test.pa" previously failed to load.
8.1.0-TEST4-20110714
This release largely completes the unimplemented parts of the
Poisson, anisotropic scaling, and proper Neumann boundary enhancements to Refine:
Refine: 3D Poisson solver implemented.
Refine: Anisotropic cases of Poisson (2D planar, 2D cylindrical, and 3D) implemented.
(Issue I536)
Refine: Anisotropic cases of 2D cylindrical Laplace implemented.
Refine: Proper Neumann boundaries on all array edges. Issue I372 [*]
Fixes in beta features:
API: Fixed pa.mirror_z was returning pa.mirror_x (in simion.pas interface)
Incorporates 8.0.6 and 8.0.7-TEST2 changes also.
8.1.0-TEST3-20110628
core: Updated internal physical constants to CODATA2010 (Issue I494).
library: simionx.Constants also updated to CODATA2010
(and including CODATA2006/2002/1998/1986 values too).
Docs: Supplementary documentation and info web pages merged, into CHM file.
8.1.0-TEST2-20110617
Improve PA# refining speed by reducing number of PA# loads from disk.
Improve View screen rendering speed (multicore).
Updates to license keys and software update.
Software license updated for 8.0 and clarified in minor ways.
Incorporates 8.0.6-TEST17 changes also.
8.1.0-TEST1
First 8.1.0beta release. For a summary of new
features, see http://simion.com/info/simion81.html .
64-bit CPU support. Both 32-bit and 64-bit builds of the SIMION
executable are provided.
Parallel refines (multicore/multi-CPU support) - Refine potential
arrays faster.
Faster Lua virtual machine (LuaJIT) (currently disabled)
Rectangular grid cells (anisotropically scaled arrays) -
mm/gu scaling can now be different in X, Y, and Z directions.
[gui] PA parameter screen redesigned for better clarity and to add
more 8.1 options.
CODATA2006 constants (Issue I494) - only partially-implemented
Add option to omit relativistic effects (Issue I579)[*]
GUI: View > Particles tab rearranged slightly to be more logical.
8.0.7-TEST3-20110718
core/refine - For "pa+" files, fixed ASSERT error if scalable_electrodes[i][j]
is negative and exceeds magnitude of all other values for same i and different j
(Issue I584) [*]
internal/refactor - major internal changes related to 8.1 (should be invisible in 8.0)
8.0.7-TEST2-nonreleased
GUI/Modify: Display 16 digits of precision when display voltage in status bar
(Note: useful for SIMION 8.1 charge density arrays)
Fixes:
GUI/Modify: Status bar sometimes displayed Mags rather than Volts for some mark types.
8.0.7-TEST1-20110704
Internal: minor changes to how some derived physical constants are computed.
Should have negligible effect, well within CODATA1986 error ranges.
This is related to the move to CODATA2010 constants in 8.1.0.
8.0.6-RC2-20110704 (production release)
This release has been more thoroughly tested. It also includes fixes for Linux
and Mac OS using Wine/CrossOver.
Fixes:
GUI/OpenGL/Wine: Fixed OpenGL 3D Modify window in CrossOver Mac (Issue I277)
Also, removed workaround for now resolved Wine OpenGL canvas bug (winebug#2398)
GUI/OpenGL/Wine: Fixed OpenGL 3D Modify window in Linux/Wine. Broken in 8.0.6-TEST6.
GUI/Wine: Fixed Check for Updates button not displaying on CrossOver Mac OSX (Vista bottle).
Broken in 8.0.6-TEST16.
GUI/Keyboard/Wine: Fixed keyboard shortcuts in Linux/Wine (focus problem). Broken in 8.0.6-TEST7.
GUI/Keyboard: Fixed command bar keyboard shortcut (":"). Broken in 8.0.6-TEST16.
GUI: Fixed Modify 3D "Mouse Help" button crash.
Changes:
GUI: main screen Docs button now optionally loads simion.chm if present (for 8.1)
GUI: Modify screen point type control now initially set to electrode (for convenience) (minor)
Internal: update GUI library
SL Tools 1.1.3-20110704 - includes above OpenGL fixes.
8.0.6-TEST17-20110620
[minor] remove displaying 123 on startup (started in 8.0.6-TEST16)
Fixed imprecise error message "Failed saving PA file: A" (Issue I580) [*]
[prg] In PRG code, ARCL from adj_elect crashes (Issue I581) (since 8.0.6-TEST12)
Fly'm: Fixed/minor: Trajectory CV related values (for positive T.Qual values) were
potentially not being reinitialized between particle integrations, which
may have (unconfirmed) caused very small anomalies in time-steps at the
very start of trajectory integration. (Issue I582) (likely since before 7.0)
GUI: Fix in Modify 3D view, Faces/Lines/Points checkboxes sometimes missing
(since 8.0.6-TEST7) (Issue I583)
8.0.6-TEST16-20110520
[internal] updated GUI library.
8.0.6-TEST15-20110421
[gui/minor] Display version number in Help About menu command. [*]
Note: the "8.1 early access" lines refer to changes being made to the
upcomming 8.1 version that can be tested for a limited time by 8.0 users
(for further details, see Issue I421).
8.0.6-TEST14-20110319
8.1 Early Access:
Lua PA API: Fix crash on pa:potential_vc or pa:field_vc functions
with non-fast adjustable PAs (Issue I578) [*]
8.0.6-TEST13-20110228
[internal] update to latest LuaCOM 2011-02-19.
faims-20110225 (examples\faims)
collision_sds.lua - Fixed FAIMS example
pressure/temperature load_array coordinates. (Issue I576)
collsion_sds-20110225 (examples\collision_sds)
collision_sds.lua - if d_ion and ko both undefined, estimate both
rather than raising error. The FAIMS version already did this.
collision_sds.lua - Incorporate various changes from SDS-FAIMS
model (see changes in README.html).
electrostatic_induction-20110226 - inductionlib.lua -
more efficiently utilize fast adjust PA memory in induction
calculation [*] (Issue I577]
8.1 Early Access:
[core,programming] In pa:potential_vc(x,y,z, t) and pa:field_vc(x,y,z, t),
the table t now accepts an additional "exclusive=true"
field which causes all electrodes not mentioned in the table
to be set to 0 V. These electrode solution arrays
are not loaded into memory. Also, solution arrays for electrode
numbers not mentioned in t are no longer automatically unloaded. (Issue I422)
8.0.6-TEST12-20110204
This release mainly corrects some fast adjust related defects.
[prog/change] Reserved variables adj_elect1 .. adj_elect9 are now synonyms for
adj_elect01 .. adj_elect09 in user programs. Also adj_pole1 .. adj_pole9
are now symonoyms for adj_pole01 .. adj_pole09.
This improves consistency.
[example/expand] Add "drag_mobility.iob" to the "drag" examples,
calibrating the drag coefficient to a mobility constant,
just like SDS does but without diffusion.
[fadj/defect] Fix "Illegal Fastadj Potential Count" error on
fast adjusting array using all 128 solution arrays (0..127). (Issue I572)
[fadj/defect] Fix .pa_ corruption when using .pa+ file with .pa# file
having integer electrode numbers exceeding fast adjustable limit (Issue I574)
[fadj/defect] Fast adjust screen crash/error on more than five electrodes (Issue I573) [*]
[fadj/gui] Add scroll to fast adjust screen when there are many adjustable potentials.
[defect] Fix possible Remove All PAs from RAM stack corruption.
Various internal changes.
8.1.0-beta 20110203
[fadj/change] Increased maximum number of fast adjustable
electrodes from 127 to 1000. (Issue I127). Note:
rarely is this many needed.
8.0.6-TEST11-20110201
[prog/change] #adj_elect in user programs now returns the maximum
electrode number in the current array. Previously it returned
the number of contiguous electrodes starting at #1, which wasn't
as useful. This only affects arrays with skipped electrodes.
(Issue I429).
[fly2/defect] Globals Lua functions not accessible in FLY2 files. [*] (Issue I568)
[examples/collision][examples/faims]
In collsion_sds.lua fixed "ion's x coord outside array" check (Issue I566). [*]
8.1 Early access:
[program] Improve "Programatically draw 3D line segments on View screen"
(Issue I564) to work in initialize segments. [*]
Various internal changes.
8.0.6-TEST10-20101216
Fixes and minor improvements:
[io-performance/fix] File loading slowness introduced in
8.0.5-TEST8 (Issue I468)
[gui/fix] Fast adjust screen controls don't show input focus,
since 8.0.6-TEST7 (Issue I559)
[gui/fix] Error: icon bundle doesn't contain any suitable icon
[*] (Issue I561)
[gui/fix] SL Tools button broken [*] (Issue I555)
[gui/fix] Particle trajectory color corruption.
Affected >= 8.0.6-TEST38 (Issue I563)
[trajectorycalc/fix] Clip detection (e.g. to determine which part of particle
trajectory intersects PA grid cell) made slightly more robust
(possibly related to Issue I223)
[gui/fix] Command bar history corruption on repeated commands.
Affected >= 8.0.6-TEST7. (Issue I565)
[internal/minor] substantial internal refactoring of Refine
[examples/fix] FAIMS - velocity field wrong when Grouped flying.
[examples/accuracy] FAIMS quick cycles feature made more accurate.
[examples/minor] SDS example - some cleanup in collision_sds.lua comments.
Additions:
[io-debug] "simion.debug.allow_asynchronous_io=false" can now be used to
disable asynchronous I/O for debugging purposes (Issue I468)
8.1 Early access:
Additions:
[refine] In 2D Poisson refine, always treat left/bottom boundaries as
pure Neumann boundaries (mirror planes). (Issue I372/Issue I482)
(Note: the same is not yet enabled for regular Laplace refines.)
[program] Programatically draw 3D line segments on View screen
(useful for custom drawing and contouring - Issue I178) [*] (Issue I564)
[example] FAIMS adds contourlib.lua for contouring flow fields.
8.0.6-TEST9 2010-10-25
[gui-memory/fix] GDI handle memory leakage on screen refresh.
[*] (Issue I557)
8.0.6-TEST8 2010-10-22
This release mainly fixes GUI quirks introduced in 8.0.6-TEST7.
[gui/fix] Text controls having up/down bottoms not updating properly
in 8.0.6-TEST7; causing various Modify and View screen problems.
[*] (Issue I554)
[gui/fix] Launching text editor was broken in 8.0.6-TEST7 due to
extraneous quotes in file names. [*] (Issue I555).
[gui/fix] Variables tab initially zero width in 8.0.6-TEST7
[*] (Issue I556)
[internal/minor] update luacom to 2009-10-20 version
[gui/minor] fix progress statusbar not displaying 100% at end of file operation
8.0.6-TEST7 2010-10-18
This release contains major internal changes. GUI is not as stable.
[contour,defect] Fixed small anomaly in gradient contours for maximum
positive z in 3D arrays (Issue I552).
[gui,defect] Focus gets hidden on tab traversal in View Variables panel
(Issue I361).
[internal] substantial internal changes to contouring.
[internal] updated compiler, GUI libraries, and core programming libraries.
[internal] updated luacom to 2009-09-11 version.
8.1:
[example] Added excel\append_chart.lua example -
demonstrates appending data to existing worksheet/chart
[example] Added examples\geometry\quad_hex.gem (joined
quadrupole / hexapole) [*]
[gui] preliminary framework for locale support (translations).
8.0.6-TEST6 ?
Early access:
Change pa:refine min iterations from 100 to 1.
[enhancement,modify]
Double/Halve extended to multiply or divide X,Y,Z independently
by arbitrary positive integers. Issue I536.
Also added corresponding pa:rescale - Issue I422.
pa:refine convergence objective maximum limit no longer imposed. (Issue I422)
undocumented - aniso (Issue I536)
undocumented - surfrefine (Issue I542)
pa:field_vc corrected for magnetic arrays (magnetic field was not
properly scaled by ng) (Issue I422)
Note: major internal changes to Refine.
[example] new test_surface example, similar to test_plane example but
using spherical test surface.[*]
[example] new helmholtz_coil example (based on solenoid example)
[example] collision_sds.lua
Fix handling velocity arrays with cylindrical symmetry (Issue I549)
[example] add examples\geometry\turning_quad.gem (DC turning quad)
http://simion.com/discuss/topic/984- [*]
[example] examples\drag\drag.lua now supports non-zero background
gas velocity (like the SDS model already does). [*]
8.0.6-TEST5 [20100106] r3013
Early access:
[enhancement,defect,wb,lua]
Various fixes to simion.wb and simion.wb.instances, to ensure
changes are propagated to the fly'm and GUI. Issue I496 [*]
8.0.6-TEST4 [20100105] r3006
Early access:
[batch,defect] Batch mode exited in fly batch mode command under
early access. Issue I539 [*]
[batch,pa,defect]
Basic PAs loaded in batch mode may display a not refined flag
(!) in the PA list. Issue I540 [*]
8.0.6-TEST3 [20100104] r3001
[pa,defect] "expected electrode point for adjustable electrode" on
exiting Modify with .PA0 file. Issue I537
[batch,enhancement] allow some SIMION options (e.g. --noprompt)
to simion.command. Issue I538. [*]
8.0.6-TEST1 [20100108] r2972
simion "--noprompt" command-line option now works in GUI mode
as well (i.e. without "--nogui" option).
[example.enhance] - add excel\tof_vs_ion.iob/lua [*] example
(plots TOF v.s. ion number)
Early Access
Fixed Moving PA instances from Lua not effective in non-GUI mode.
Issue I535 [*]
8.0.5
8.0.5 [20100104] r2970
Release version.
8.0.5-TEST38 [20100102] r2959
[doc,defect] Clarify FieldArray documentation, on constructor
and CSV syntax. [*]
[examples,add] Add sinusoidal.gem - sinusoidal shape using
GEM macros [*]
[examples,enhance] collision_hs1 - Allow easier customization via
HS1.pressure, HS1.temperature, and
HS1.velocity[_x|_y|_z] variables.
Recalc mean-free-path on pressure or temp change.
See collision_hs1\test2.iob + lua.
[examples,enhance] collision_sds - add test-sds-hs1.iob
comparing SDS and HS1
[examples,bender_cut] new example, split and crop large system into
into two arrays.
[examples,gauss_law] add cylinder shape to FieldArray.pm.
8.0.5-TEST37 [20090921] r2897
[gui,enhancement] Make Log window monospaced font. Issue I531 [*]
[gui,enhancement] Improved log window behavior on clicking. Issue I532.
[gui,defect] Keyboard tabbing problems. Issue I361 [*]
8.0.5-TEST36 [20090911]
[crop,defect] Fixed cropping PA may wrongly remove Z mirroring.
Issue I531 [*]
[gui,enhancement] Make Log window monospaced font. Issue I531 [*]
8.0.5-TEST35 [20090903] r2887
[core,defect] Fixed 2-4 GB RAM usage (/LARGEADDRESSAWARE /3GB).
Issue I530. [*]
20090829
[examples,gui] Added ionfunnel\funnel3.iob example
(more convenient to adjust voltages).
8.0.5-TEST34 [20090706]
[recording,defect] Generate error if can't write data recording file
(previously was silent)
[gui,defect] "Record data" and "Pause event" controls not
properly updated. Issue I528.
[examples,gem] fixed pa_define syntax in tetrahedron.gem
and cone.gem (minor)
8.1 Early Access
[beta,prog] New "ion_run" reserved variable. Issue I529.
[recording,feature] Allow splitting data recording output into
multiple files. Issue I231
8.0.5-TEST32 [20090520]
[gem,defect] PA empty or truncated when importing from GEM.
Issue I527. [*]
[gem,defect] Fix crash upon "No Fill Definitions Found" during
GEM processing. Issue I526.
[examples,gem] Add hexapole gem : examples\gem\hexapole.gem [*]
8.1 Early Access
[beta,prog] New simion.print_screen() function to print current image.
Issue I521.
[beta,gui] If GUI enabled, "fly" batch mode command (Issue I182) runs
in View screen.
[beta,print] Printing to BMP, PNG, and JPG files now supported. (Issue I523)
[beta,example,prog] Added Lua versions of pa2text and swirl examples.
8.0.5-TEST32 [20090314]
(also early access mode changes)
[core,defect] Error on fast adjusting a cropped PA containing
fast scalable (.pa_). [*]
[examples,compat] Python 3.0 (Python 3000) compatibility on examples. (Issue I524)
[fly2,defect] Don't crash on edge case particles { { } } [minor]
8.0.5-TEST31 - no change (early access mode reset)
8.0.5-TEST30 [20081125] r2789
[core,defect] Asynchronous file I/O: Fixed freeze on PA load/save,
particularly under Win2K and Linux/Wine.
Updates Issue I468 [r30][*]
[example,change] "trap" example code organization improved.
Added HS1 collision model example (group_hs1.iob).[*]
See Changes section in README.html.
[example,change] HS1 collision_hs1.lua - now returns table HS1.
(also early access mode changes -- see below)
8.1 Early Access
[beta,prog] simion.pas:clear renamed simion.pas:close. Issue I422.
8.0.5-TEST29 [20081111] r2776
[core,defect] Asynchronous file I/O improvements:
Load PA files without applying read lock.
Confirm cancel request by user.
Updates Issue I468 [r29]
[core,defect] Report error on failure to load bytes from PA file.
(error handling) [r29]
[core,implementation] Improved IOB load/save robustness (minor). [29]
8.1 Early Access
TEST29 [20081111]
[beta,prog] pa:close now raises on error.
pa.filename now contains long filename Issue I422.
8.0.5-TEST28 [20081104] r2747
[core,defect] Fix crash/leak on failure to allocate PA from
reserved memory. [r28]. Updates Issue I363.
[gui,enhancement] Improve GEM error messages. [r28]
[gui,defect] Fix "PAs require X MB RAM" -- was reporting in units
of 10^6 bytes not 2^20 bytes [r28]
8.1 Early Access
[beta,prog] Access memory dump (simion.debug.memory_dump)
Issue I518.
8.0.5-TEST27 [20081024] r2735
[gui,enhancement] Before user is first prompted in batch mode, display
message that "--noprompt" command-line option can be used.
All add new "!" option to disable further prompts at
runtime [r27] Updates Issue I299.
[prog,defect-7.0] Fixed: Random number generator seed() function freezes
when not preceded by rand(). Issue I514. [r27]
[gui,defect] Fixed: Conditional crash on entering View. Issue I517.
[*][r27]
[core,defect] Fixed: Electrode solution arrays for .PA0 files are now
loaded into the reserved memory pool (when
"--reserved-memory" command-line option enabled) rather
than the standard memory pool. [r27] Updates Issue I363.
[core,defect] Fixed: "Illegal Fastadj Potential Count" error after fast
adjust failure. Issue I508 [*][r25]
[prog,defect] Fixed: tostring(simion.VERSION(s)) now works properly.
[r27]. Updates Issue I398.
[prog,defect] Fixed: missing errno include for pa.cpp in SL Libraries.
Issue I516 [*]
[prog,defect] Fixed: SL Libraries pa.cpp - wrong error message in
PA::check_nx (minor)
[file,defect] Improved corrupt file detection on PA load. [r27]
[examples,added] Particle jumping trick example added
("nonideal_grid/particle_jump"). [*] Issue I515
8.1 Early Access
[beta,prog] field simion.wb.instances[i].mm_per_grid_unit has been
renamed simion.wb.instances[i].mm_per_gu. Issue I496.
[beta,prog-pa] simion.pas:open now returns nothing on success and
raises on error.
pa:load now raises on error. Issue I422.
8.0.5-TEST26 [20081010] r2642
[prog,change] Define behavior of adj_elect[i] and adj_electXX for
non-existent electrode numbers in PRG code.
Updated Issue I429. [r26]
[prog,detect] PRG user program fails with error when adj_elect
not defined in previously loaded workbench.
Issue I512. 7.0-compat. [r26]
[config,defect] Crash if failure to write to FILES.GUI directory
Issue I218 [r26]
Internal: Fairly extensive code refactoring (lint)--should not cause any
external changes. (see Issue I527)
8.1 Early Access
[beta,core] Allow workbench size to be non-integral or smaller than 1
mm^3. Issue I513 [r26][*]
[examples,added] PA instance jumping trick example added
("nonideal_grid/pa_jump"). [*] Issue I515
8.0.5-TEST25 [20080919] r2482
[example,defect] In examples\test_plane\testplanelib.lua, robustness
improvements to avoid particle locking up
near test plane. Issue I221.2 [*][2008-07-24]
[prog,defect-8.0] Upgrade Lua from 5.1.3 to 5.1.4
(bug fix only release). Issue I404 [r1]
[prog,enhancement] Add standalone Lua interpreter lua.exe
Issue I511 [r25]
[core,defect] Fixed crash on loading workbench with contours.
Issue I507 [r25][*]
8.0.5-TEST24 [20080723]
[core,defect] Fixed crash on loading workbench with contours.
Issue I507 [r24][*]
[example,expand] Added cross.gem (two 90 degree pipes) to
"geometry" examples [*] [2008-07-22]
[example,enhanced] The type of contour a particle traces is now
determined implicitly and individually by
the particle's mass. [2008-07-22]
[core,enhancement] Some improvements in crash report (Issue I505) [r24]
[core,defect] Fixed crash on failure to write temporary
trajectory file (.trj). Issue I506 [r24][*]
8.0.5-TEST23 [20080718]
[core,enhancement] New crash reporting feature. Issue I505 [r23]
[core,enhancement] Reduced simion.exe binary size by ~ 600KB [r23]
[gui,enhancement] Particle definition screen (.FLY2) - group
panel size increased[*]; display condensed for
arithmetic/line; loading speed increased [r23]
[gui,defect-8.0] Particle definition screen layout cut-off.
Issue I504 [r23][*]
[implementation] Major refactoring of GEM file processing code [r23]
8.0.5-TEST22 [20080530]
8.1 Early Access
[beta,core] Fast Parallel .PA# refines (one solution per CPU core)
Issue I503 [r22]
8.0.5-TEST21 [20080527]
[prog,enhance] Define behavior of adj_elect[i] and adj_electXX for
non-existent electrode numbers and #adj_elect.
Issue I429 [r2][r21][*]
[prog,defect-8.0] Crash on accessing adj_elect[N] or adj_electN where N
not a valid electrode number Issue I476 [*][r2][r21]
[gui,defect-8.0] Fix spelling Guass->Gauss on data recording
screen (eloy-20080522) [r21][*]
[prog,defect-8.0] Fix "illegal start for seg" error. Issue I509 [r21]
8.1 Early Access
[beta,prog-pa] New pa.electrode_numbers field is an array of fast
adjustable electrode numbers. Issue I422 [r21]
[beta,prog-pa] New methods: instance:pa_to_wb_coords and wb_to_pa_coords,
instance:pa_to_wb_orient, instance:wb_to_pa_orient,
instance:pa_to_array_coords. Issue I422 [r21]
[beta,example] bradbury_nielsen_grid. Issue I502 [r21]
[beta,prog-pa] no crash in fast_adjust with pa:potential_vc/field_vc
with table that triggers electrode solution array unload
Issue I422 [r21] (t8).
8.0.5-TEST20 [20080513]
8.1 Early Access
[beta,prog-pa] pa.symmetry values changed to
"2dcylindrical", "2dcylindrical[x]",
"2dplanar","2dplanar[x]","2dplanar[y]","2dplanar[xy]",
"3dplanar","3dplanar[x]","3dplanar[y]","3dplanar[xy]",
"3dplanar[z]","3dplanar[xz]","3dplanar[yz]",
"3dplanar[xyz]" Issue I422 [r20]
[beta,prog-pa] pa:potential_vc and pa:field_vc now take an optional
table parameter to specify fast adjust electrode
potentials (similar to the fast_adjust segment):
potential = pa:potential_vc(10,0,0, {[1]=100,[2]=-100})
ex,ey,ez = pa:field_vc(10,0,0, {[1]=100, [2]=-100})
(used by new electrostatic_induction example). Issue I422
[r20]
[beta,prog] New ion_effective_charge reserved variable.
Issue I452.3 [r20]
[beta,example] New induced current/charge example
("electrostatic_induction"). Issue I499 [r20][*]
8.0.5-TEST19 [20080430]
[prog,enhance] simion.VERSION now contains a version object and
permits comparisons. Issue I398 [r19]
8.1 Early Access
[beta,prog-wb] fixed: simion.wb was nil if simion.early_access() called
when IOB already loaded (affected 8.0.5-TEST18 only)
Issue I496 [r19]
8.0.5-TEST18 [20080426]
[prog,defect-8.0] Upgrade luacom to CVS version (2008-04-18) Issue I495
[r18]
[prog,defect-8.0] SIMION startup script (simion.lua) now loaded after
GUI initialized [r18]
[gui,enhance] Pause message added to statusbar upon pausing Fly'm
due to "Pause step" or "Pause event" checked. [r18]
8.1 Early Access
[beta,prog-pa] Fixed array corruption when doing
simion.pas[n]:fast_adjust{...}, particuarly inside View
screen. Issue I422.1 Issue I422 [r5][*](8.1) [r18]
[beta,prog-pa] v = pa(x,y,z) -- Applying the call operator to the array
is identical to pa:potential_vc. Issue I422 [r18]
[beta,prog] Resize SIMION window programatically (simion.window)
Issue I498 [r18][*]
[beta,prog-wb] Manipulating workbenches from Lua in SIMION [r18]
8.0.5-TEST17 [20080416]
8.1 Early Access
[beta,core] Allow workbench IOB files to contain PAs in a
different directory. Issue I220.3 [r17][*]
8.0.5-TEST16 [20080405]
[gui,defect-8.0] Keyboard input and shortcut / accelerator key conflicts
lacking proper conflict resolution and precedence.
Issue I492 [r16][*]
[implementation] Now compiling under Visual C++ 2008 (was 2005) before.
(minor effect) [r16]
[implementation] Upgrade to boost 1.35.0. (minor effect) [r16]
8.0.5-TEST15 [20080331]
8.1 Early Access
[beta,prog] New sim_repulsion_amount reserved variable. Issue I452.2
[r15][*]
8.0.5-TEST14 [20080327]
[prog,enhance] simion.import() now accepts parameters to forward to
loaded function. Issue I444.2 [r14]
8.0.5-TEST13 [20080327]
8.1 Early Access
[beta,core] Refine extended to solve the Poisson Equation Issue I482
[r5][r13] Update: 2008-04-14: Fixed a fairly critical
error in piclib library in the Poisson examples. The
following should be added to the top of
segment.other_actions (just after the "if PIC_enable == 0
then return end"): "if ion_time_of_flight <=
ion_time_of_birth then return end".
[beta,prog-pa] pa:clear() sets all points to 0V nonelectrodes.
Issue I422 [r13]
[beta,prog-pa] pa:potential_add(xi,yi,zi, val) adds potential
val to potential at point (xi,yi,zi). Issue I422 [r12]
[beta,prog-pa] pa:copy(pasrc) copies all points from pasrc to pa
assuming array size identical. Issue I422 [r12]
8.0.5-TEST12 [20080324]
[prog,enhance] Improved detection of undefined variables
("checkglobals") Issue I490 [r12]
[gui,enhance] Add more underscores to controls for shortcut access
keys. Issue I90 [r11][r12][*]
[gui,enhance] Automatically toggle out of PE View when clicking
XY/ZY/XZ/3DIso/Load/Save buttons. Issue I270.2 [r12]
[gui,defect-7.0] Drawing flags in PAs list get misordered when
L+/L-/Add/Del used. Issue I344.2 [r12]
[example,new] New field lines/vector plotting example ('contour')
Issue I178.2 [r12][*]
[example,new] New example: Applies user program to record data on
multiple non-orthogonal test planes ('test_plane')
Issue I221.2 [r11]
8.0.5-TEST11 [20080320] (only early access mode changes)
8.0.5-TEST10 [20080319]
[prog,enhance] sim_trajectory_quality now accessible at the top-level
of a workbench program. Issue I370.3 [r10][*]
[prog,enhance] Improve Lua output handling (for data recording file)
- f:write method now implemented
- seek, flush, and setvbuf methods now implemented
(useful for output buffering control) Issue I335
[r10][*]
[prog,defect-8.0] ion_instance no longer accessible from top-level of
workbench program. Issue I487 [r10] (minor)
[prog,defect-8.0] "Data Recording file not closed if Lua workbench
program fails at top-level." Issue I488 [r10][*]
8.0.5-TEST9 [20080319]
[gui,enhance] Autoloading/saving issues: Issue I317
- Single dialog box now presented for selecting autoload
files to save with IOB file. Issue I317.4 [r9]
- Auto-save/load contour files (.con) with workbench
(.iob) file. Issue I317.3 [r9]
- Save workbench Lua program when saving IOB under new
name. Issue I317.2 [r9][*]
[gui,change] Increased command-bar history size to 50. Issue I397.2
[r9]
[gui,change] Lua commands with errors now saved in the history
buffer of the command bar. Issue I397.3 [*][r9]
[gui,defect-8.0] Prevent current directory changing when loading
.con/.rec/.fly/.fly2/.ion/.pa files outside the current
directory. Issue I220.2 [r9][*]
8.1 Early Access
[beta,prog-pa] pa:refine if long running now updates screen and
responds to abort requests. Issue I422.2 [r9]
8.0.5-TEST8 [20080311]
[prog,defect-8.0] ion_charge and ion_cwf variables broken in PRG
Issue I485 [r8][*] (sim_trajectory_quality also
now supported in PRG -- Issue I370.2)
[prog,defect-TEST] error message report wrong variable name upon
read access denied to adj_elect (8.0.5-TEST4 to
TEST7) [r8] (minor)
8.0.5-TEST7 [20080307]
[gui,enhance] Allow dot/marker size in View to be increased.
Issue I483 [r7][*]
8.0.5-TEST6 [20080229]
[gui,defect-TEST] Fixed frame becomes disabled if Run Lua Program
raises an error. (8.0.5-TEST1 to TEST5) [r6]
8.0.5-TEST5 [20080227]
[core,CRITICAL-8.0]Fixed problem where array with fast proportional
scalable electrodes was not fast adjusted properly when
loaded from an IOB file Issue I172.2 [r5]
[gui,change] Prompt "One (or More) Array Dimension is less than 11...
Proceed with Refine Now? (Y=YES,N=NO)" default changed
to YES. (minor) [r5]
8.0.5-TEST4 [20080211]
[gui,enhance] Reduce minimum PA mm/gu scaling from 1E-5 to 1E-6.
Issue I478 [r4][*]
8.0.5-TEST3 [20080128]
[core,defect-7.0] Precision ignored if width is zero in data recording.
Issue I477 [r3][*]
8.0.5-TEST2 [20080126] (only early access mode changes)
8.0.5-TEST1 [20080122]
[core,enhance] Improve responsiveness on PA load/save (Asynchronous I/O).
Issue I468 [r1][*]
[core,defect-8.0] Fail saving an array larger than 64MB on a network share.
Issue I467 [r1]
[prog,defect-8.0] Upgrade Lua from 5.1.2 to 5.1.3 (bug fix only release).
Issue I404 [r1]
8.0.5-TEST[?]
[prog,enhance] New SIMION Libraries: simionx.Constants. Issue I400.3
[example,new] New example: Particle Teleportation across multiple
SIMION processes ("multiprocess") Issue I484
[example,enhance] significant code quality enhancements to SDS
atmospheric pressure collision model (sds). (2008-04-24/
2008-04-26 / 2008-05-08 / 2008-05-24) Issue I497
8.1 Early Access
[beta,prog-pa] Manipulating PAs from Lua inside SIMION: Issue I422
[beta,prog-wb] Manipulating workbenches from Lua in SIMION. Issue I496
Key:
[*] User requested.
[rX] is revision 8.0.5-TESTX.
8.0.4 2008-01-01 (RELEASE VERSION)
Enhancements:
Issue I414 - Allow PA# electrodes number to be non-sequential [r4][r8]
Issue I313 - Add Crop function in Modify [r5][*]
Issue I420 - New Bessel functions in SIMION Lua libraries. [r6]
Issue I406 - New simion.status Lua function to display text on
status bar [r1][*]
Issue I407 - Custom distributions in FLY2 [r2]
Issue I392 - Display full Lua stack traceback on error (improved)
Issue I415 - Allow PE/Contour views of PA's with no electrode
points. [r5][r9][*]
Issue I418 - Allow opening workbench user program from Particles
tab in View. [r6][*]
Issue I421 - New "early access" mode for accessing 8.1 features. [r7]
Issue I422 - Manipulating PAs from Lua inside SIMION
[r7][r21][r22] [earlyaccess]
Issue I424 - New gem2pa command line options to override pa_define [r9]
Issue I426 - In FLY2, new "window" standard_beam attribute. [r10]
Issue I235 - Report calculation time for flying ions at end of
run. [r12][*]
Issue I435 - When Fly'm terminates, display number of trajectories
flown. [r12][*]
Issue I296 - Support variable substitution and macros in GEM files
[r13][*]
Illustrated with new example: geometry/macro.gem
Issue I364 - Click sound whenever long-running task completes [r14][*]
Issue I437 - Eliminate unnecessary .PA# reloading in Refine (performance)
[r14][*]
Issue I413 - Allow resume of a terminated PA# refine. [r14][*]
Issue I438 - Extend az/el angle range in particle definitions from
+-180 to +-360 degrees. [r15][*]
Issue I314 - Support tab character delimiter in data recording. [r16][*]
Issue I444 - simion.import() now returns return values [r17]
Issue I448 - Preserve adjustable electrode potentials when replacing
PA in View. [r17][*]
Issue I255 - Loading IOB/PA files from Windows explorer file
associations or command-line. [r17][r18][*]
Issue I450 - Lua expressions supported in text box controls. [r18]
Issue I451 - Add line_distribution to FLY2 GUI [r18]
Issue I452 - Add charge weighting factor (CWF) to Data Recording
output and add new ion_cwf reserved variable. [r19][*]
Issue I262 - Force Lua garbage collection at begin/end of Fly'm and on
removing all PAs from RAM (e.g. closing file handles) [r19][*]
Issue I457 - Charge weighting factor (CWF) permitted range changed
to [0, 1E+30]. [r20][*]
Issue I458 - New "--temp-path" command-line option for modifying default
path for temporary trajectory files. [r21][*]
Issue I128.1-Reallocate block of memory if PA being loaded
into block does not fit. [r21]
Minor: GUI layout changes in Modify, New, command-line [r18],
batch mode without --nogui now loads GUI [r18]
New SIMION Libraries (Issue I400): simionx.Type, simionx.Integration,
simionx.FieldAnalysis, simionx.Format. [r12]
Updated SIMION Supplementary Docs format [r21]
Issue I479 - Default program folder name is now "SIMION-8.0" rather
than "SIMION 8.0" (avoids spaces) [r22]
Issue I428 - New charge repulsion examples ("repulsion") [r10]
Issue I439 - New RF octupole ion guide example - examples/octupole. [r15]
Issue I442 - New lens property examples. [r16]
Issue I460 - Updated gauss_law example [r21] [uses earlyaccess]
Issue I462 - Add simion.sleep(seconds) function. [r25]
Issue I463 - Formal support for Windows version of SIMION on Intel-based
Mac OS X
Defects in 8.0:
Issue I440 - KE precision error when defining very low speed or
momentum in FLY2. [r16][critical]
Issue I417 - Printing .WMF files broken [r6]
Issue I408 - False "The Data Recording (or Trajectory) File Has
Filled Your Disk" message in batch mode. [r3]
Issue I410 - Crash on flying in batch mode when "Describe Ions"
data recording option enabled. [r4][*]
Issue I411 - GEM files with include statements and UNIX line
terminators may give false compilation errors. [r4]
Issue I412 - "File name too long" error message when printing. [r4][*]
Issue I416 - Annotation (.ANN) file incompatibility between version
7 and 8.0.0. [r6][useful]
Issue I423 - "No Potential Change Requested" displayed when loading
an IOB. [r8]
Issue I425 - Automatically increase a PA's max_voltage in SL
Libraries and SL Tools [r9]
Issue I431 - Lua _G table wasn't shared between batch mode program and
workbench program in non-GUI mode [r11][useful]
Issue I436 - Unrefined status ("!") not display correctly after fast
adjusting PA# file (minor) [r12]
Issue I443 - Canceling PAs|Rpl or Saving .REC file stops display update.
[r17][r19] [minor]
Issue I446 - Convert Lua errors to strings. [r17] [minor]
Issue I445 - Fast Adjust Voltages sometimes disabled on View screen. [r17]
Issue I447 - print() or print '' not output blank line [r17] [minor]
Issue I335 - Lua standard input support re-enabled in non-GUI mode
[r18][r23]
Issue I454 - Prohibited access to reserved variables not triggering error,
or error message identifies wrong variable name. [r19]
Issue I455 - simion.redraw_screen() crashes if executed after exiting
Modify/View screen. [r19]
Issue I461 - Particle flying gets very slow after switching tab in View
under Wine/Linux. [r24]
Issue I348 - View Variables tab list cut off and not updated in display.
[r25]
Defects in 7.0:
Issue I453 - Modifying ion_charge can cause charge repulsion effects
to be wrong. [r19][critical]
Issue I419 - Performance test 6_cylindrical_pa_test docs should
indicate radius 300 mm not 30 mm. [r6]
Issue I430 - Longest time-step calculation incorrectly handles mm/gu
scale factor (usually minor) [r11][*]
Issue I433 - Last field in ION file dropped if new-line or
white-space missing at end of file. [r12][*]
Issue I434 - Pressing Keep twice in View clears trajectories
(minor) [r12][*]
Issue I449 - Preserve "nz use" value upon replacing 2D PA in View
(minor) [r18]
Issue I456 - ION definitions with parameters out of range can be
loaded without warning and truncated by the particle
definition screen. [r20][*]
Defects in SL Tools:
Issue I432 - SL Tools crashes if STL file name (or wildcard
pattern '%') specified does not match any files. [r12][*]
Issue I459 - SL Libraries pa.field_real gives wrong signs for negative y
or z in cylindrical symmetry. [critical]
Early Access:
Issue I427 - New multipole expansion cofficient calculation example.
("multipole_expansion") [r10][r21]
Defects in Tests versions
[r20] - fix "Lua Program Running" status does not dissappear in [r19]
[r20] - fix simion.pas[n] functions handling NaN (e.g. field_vc).
[r23] - fix problem print() not going to rec output file [r18] I335
Internal (should not have visible effects):
Refactoring trajectory code [r10]
[*] User requested.
[rX] is revision 8.0.3-TESTX.
8.0.3-20070526
SIMION 8.0 Program Enhancements
Issue I172 - Support for multiple fast proportional
scalable electrode sets (see "ionfunnel" example"
and SIMION Docs on "Additional Fast Scalable
Electrodes in SIMION 8.0.3") [r10]
Issue I397 - Add command-bar history. [r7]
Issue I228 - Allow Log window data to be copied to the clipboard. [r7]
Issue I364 - Flash taskbar icon and sound upon completion of
long-running function. [r6][*]
Issue I391 - Display full GEM and PRG errors immediately
(without requiring user to enter debugger)
Issue I392 - Display full Lua stack traceback on error.
Issue I370 - Add new "sim_trajectory_quality" reserved variable readable
and writable in the initialize, other_actions, and terminate
segments. Controls trajectory quality factor
(-500 to +500). [*]
Issue I398 - New simion.VERSION variable. [r8]
Issue I399 - Add lua51.dll (proxies lua5.1.dll) for improved Lua
module compatibility.
New libraries: (Issue I400)
simionx.MField - Biot-Savart calculations
(see "solenoid" example).
simionx.FieldArray - magnetic field import and interpolation
from grid in ASCII text file. (see "field_array"
example).
simionx.CachedField - Represents a given field whose values are
computed and cached in a given field array.
(see "solenoid" example)
simionx.Optimization - Issue I309 - simplex optimizer
(see "hda" example).
simionx.SpecialFunctions - special math functions
Also, simionx.Support.
See "Libraries API Reference" in "Help|Browse Documentation" for details.
SL Tools/SL Libraries Enhancements:
Issue I363 - Increase SL Tools and SL Libraries from 50 million
(SIMION 7) to 200 million (SIMION 8).
New command-line option (e.g. --reserved-memory=1.8G) [*]
Issue I401 - Order of magnitude increased PA load/save performance
in SL Tools and SL Libraries for C++
New examples: (Issue I402)
ims - ion mobility (IMS) example
ionfunnel - ion funnel example
hda - hemispherical deflection analyzer example,
which includes simplex optimization and Excel surface plotting. [*]
solenoid - solenoid magnetic field Biot-Savart example
field_array - loading magnetic field array from ASCII data file example
child_particles - multiple child particles example [*]
collision_sds - SDS atmospheric pressure collision model.
Updated examples/documentation:
Improve documentation of quad\quad.lua (Issue I402). [*]
-- also replace quad*.fly with quad*.fly2 to eliminate code.
-- minor fix to PE update when flying non-grouped:
abs(ion_time_of_flight - last_pe_update) >= pe_update_each_usec
-- add tstep_adjust for improved robustness
Issue I403 - New "SIMION Libraries API" Documentation in HTML
("Libraries API Reference" in "Help|Browse Documentation")
Issue I405 - "sharing violation" opening results.csv in
geometry_optimize.lua under Linux (find handle needs closed)
License addition concerning source code.
Minor:
":" and Esc shortcut keys move in and out of command bar. [r6]
Reduce flicker on Particle Definitions screen.
Add missing tooltips and make blue color in status bar.
Increase size of TQual field (was too small).
"Particles | Define and Recording" screens open in tabs. [r6]
In PAs tab, add instance numbers. [r6]
Eliminate "PA is Empty: Create A New PA?" question when Modifying
and empty PA. [r6]
Increase default brightness of OpenGL view. [r6]
New empty array is considered refined. [r6]
SIMION 8.0 Defects:
Issue I404 - Update Lua to 5.1.2 (bugfixes only update).
Issue I367 - Command-line errors not always displaying/trapping.
Issue I374 - "Use programs" checkbox out of sync. [*]
Issue I375 - False warning that .PA/.PA# file is electrode solution
file upon entering Modify if file has bad "short"
8.3-format name. [*]
Issue I377 - Particle definitions for FLY2 sometimes wrongly displayed
"(special)"
Issue I378 - "Clear All" disabled on FLY2 Particle Definitions screen
Issue I376 - Lua file locked, preventing editing. [*]
Issue I389 - Checking "Rerun" does not clear trajectories.
Issue I393 - Open file dialog box in current working directory. [r6]
Issue I394 - GEM "include" command fails unless .gem extension given
in file name. [r6]
Issue I395 - Execution of command 'C:\Program Files\SIMION 8.0\sltools.exe'
failed (error 193: unknown error c1) [r7]
Issue I258 - Log window cleared after running print() commands in
top-level of Lua program. [r7]
Issue I396 - Programs still compiled if "Use programs" disabled. [r7]
Issue I89 - "enable data recording" on Data Recording screen not
reset on dialog cancel.
SIMION 7.0 Defects
Issue I115 - SIMION may crash on startup if another SIMION7 or
SIMION8 running and 1000 GUI*.TMP files exist in C:\FILES.GUI.
Also patched in 7.0.5. [r9]
Issue I390 - Buffer overflow on certain bad GEM syntax (minor) [r6]
Also patched in 7.0.5.
[*] User requested.
[r6] updated in 8.0.3-TEST5+6
[r7] updated in 8.0.3-TEST7
[r8] updated in 8.0.3-TEST8 (note: includes simionx API changes too)
[r9] updated in 8.0.3-TEST9
[r10]updated in 8.0.3-TEST10 (note: .PA+ fixes)
8.0.2-2007-02-12
Summary:
This version makes a number of things easier for the user,
corrects some defects, and provides new secondary emissions
and C/C++ extension examples. A convenient new feature is
it can auto-refine PAs when loading the IOB examples, and
it also more actively warns the user when doing likely
unreasonable things. Example docs and code structure,
particularly the trap, drag, and collision_hs1 examples
have been enhanced. A slight change in semantics of adjustable
variable assignment makes user adjustment of adjustable variables
in the trap example more reliable.
Enhancements
Issue I351 - In main screen, non-refined PAs are now marked with "!".
Issue I341 - Simplified auto-refining of PAs during IOB loading. [!]
Issue I343 - Warn on attempt to modify/refine/view wrong PA type.
Issue I350 - Remove warning on entering View with PA file not on disk.
Issue I336 - Display error on attempt to run workbench Lua program
outside workbench (improved) [*]
Issue I293 - New "Update PA" on GEM file screen to erase and insert in
one step.
Issue I359 - Lua now binary compatible with C/C++ extension modules.[!]
- In View, PE button now also located on display bar.
- Doc button in Workbench tab in View and also Load IOB and
Browse Files dialog boxes can now open README.html
and other README.* files.
- Improve PA memory allocation failure message.
- Record simion.command() command executed in log.
- Other various minor GUI improvements.
- New demo version build.
- allow simion.command() to be run outside of "Run Lua Program"
invocation, such as in command bar.
Examples:
- New secondary emissions example. [!]
- New extension example (calling C/C++ from Lua)(Issue 354) [!]
- Improve text of README.html files in examples.
- In example drag\drag.lua, comments expanded on derivation.
- In example trap\trap.lua, mode now configurable via adjustable variable.
- In example trap\util.lua, explain derivation of trap constants
and refactor code.
- In example geometry_optimization\geometry_optimize.lua,
display results.csv in Notepad.
- In example collision_hs1\collision_hs1.lua, cleanup use of
locals and enhance KE average calculation. Make PA planar.
Changes
Issue I353 - Change in behavior of adjustable variable assignments in
Lua affecting current v.s. default values.
Defects in 8.0
Programming/Batch Mode
Issue I357 - Prevent simion.command() calls from having side-effects
such as leaving additional PAs around in memory and
parameters modified. [!] Following two issues are related.
Issue I358 - "fly" batch mode command not raising Lua error on failure.
Issue I355 - "fastadj" command in batch mode program may cause
subsequent command to terminate when run in GUI mode. [*]
Issue I357 - run_stop() now disables window frame (prevents other
user actions) and properly functions in non-GUI batch mode.
Issue I348 - View Variables tab list cut off and not updated in display.[*]
Relative IOB path path now accepted in "fly" batch mode command
(see Issue I220)
GUI
Issue I58 - Ensure ESC key cancel actions in View screen. [!]
Issue I346 - Mouse remains locked in window upon task switching
with CTRL key down. [*]
Issue I356 - Warning "too many ions for list size" can display when
loading ION file containing list size ions. [*]
Issue I344 - View PAs tab instance list not updated on loading IOB.
Installation
Issue I360 - Install/run fails if C: drive does not exist for
FILES.GUI directory.
Examples
Issue I362 - HS1 collision model did not accurately thermalize. [!][*]
Issue I358 - Example quad\quad.lua not using _quad_entrance_voltage,
_quad_axis_voltage, and _quad_detector_voltage variables.[!]
Issue I349 - Example tune\tune.lua doesn't update PE surface between
flights (minor)
Issue I352 - Example trap\util.lua fast_adjust segment test
first incorrectly (minor/efficiency)
See also Issue I353 relating to trap example.
Internals: reduce use of packed structs, 7.0 buffer correction.
Other notes: This is a report that SIMION runs well on Intel Macs
under CrossOver Mac (http://www.simion.com/info/Mac_OS). [*]
[*] User requested. [!] important or particularly significant
8.0.1-2006-12-26
Enhancements
Issue I299 - New "--noprompt" command-line option to disable
prompting in batch mode. [*]
Issue I229 - Allow log window to open in separate larger window. [*]
Issue I335 - Improve Lua output handling (e.g. print()
function output to log window).
Issue I336 - Display error on attempt to run workbench Lua
program outside workbench.
- Added SciTE setup info to "Editing SIMION Text Files" document.
Defects in 8.0
Issue I333 - Zoom was reset after fast adjust. [*]
Issue I322 - Data recording crossing plane window sizing problem. [*]
Issue I326 - Crash if initial particle params out of range.
Issue I337 - Fix Window-style line editings in some Lua files [minor]
Defects in 7.0
Issue I331 - Acceleration error in overlap of electrostatic
PA with magnetic PA of higher grid density. Also
patched in 7.0.4. [CRITICAL] [*]
[*] User requested.
8.0.0-2006-11-18
Production release.
8.0rc7-2006-11-17
Resolved I277 - Workaround Wine/Linux bug 2398 (OpenGL client window).
Remove click sounds on Modify window button mouse over.
Add simion.key file in installation.
8.0rc6-2006-11-16
Resolved I276 - Display double buffering broken under Linux/Wine.
8.0rc5-2006-11-15
Resolved I142 - Key input commands (KEY?,R/S,key(),run_stop()) freeze.
Resolved I239 - Immediately splat FLY2 particles with parameters out of range.
8.0rc4-2006-11-14
Handling of non-SSE2 CPUS improved in installation.
Removed unused SL compiler library files fully from install.
Cleaned up docs on SIMION text editor plugins.
Cleaned examples documentation a bit.
Update welcome page.
Reenabled SSE2 on GUI module.
8.0rc3-2006-11-13
Gracefully handle non-SSE2 CPUs.
Warn on attempting to install on Win9X.
8.0rc2-2006-11-11
Added Docs and SL Tools (Issue I131) buttons to main screen.
(note also SL libraries, Issue I472)
Installer available.
8.0beta14k-2006-11-04
Default to electrons in FLY2 file if mass/charge not specified.
8.0beta14j-2006-11-02
Some View screen control rearrangements.
Resolved Issue I253 - Make print button visible in View when Hide selected.
Fixed sizing of positioning info list on PAs tab in View.
8.0beta14i-2006-11-02
Added missing tooltips on View and other screens.
Fixed Issue I154 - On data recording and particle definition
screen, coordinates display in status bar when mouse moves.
Fixed Issue I269 - 3D view display stops updating after
exiting data recording screen.
Fixed Issue I270 - XY,ZY,XZ,3D ISO iso buttons were
not disabled in PE view.
Fixed Issue I271 - In Modify, ctrl+right click to replace
was ignored if focus not on 3D (simgui) window.
Fixed Issue I272 - In Modify 3D (OpenGL) window crashes
if closed when converting to polygons.
8.0beta14h-2006-11-02
Fixed I267 - FLY2 coordinates relative to not preserving.
8.0beta14g-2006-11-01
- Modify screen rearranged slightly according to manual.
- Some more tooltips added.
8.0beta14f-2006-10-31
- Replaced exact angle button with constrain checkbox in View
- Fixed Issue I266 - Alt key ignored after right mouse down
on window scroll button without focus in 3D view screens
- Fixed Issue I59 - Flying ions as dots goes at high speed
if mouse not directly over 3D view window (simgui window).
8.0beta14e-2006-10-31
- FLY2
- rename gaussian3d {mean_x = 0, mean_y = 0, mean_z = 0,
stdev_x = 0, stdev_y = 0, stdev_z = 0} -->
gaussian3d {mean = vector(0,0,0), stdev = vector(0,0,0)}
- new coordinates attribute on particles { }. coordinate system is
now preserved on save/load.
- Update on I212 - if no units comment line given in ION file, now defaults
to WB coordinates mm (0). Was PA instance 1 gu coordinates (1)
in earlier betas and undefined behavior in 7.0.
8.0beta14d-2006-10-31
- FLY2
- cylinder_distribution implemented
- rename axis_direction --> axis
- remove underscores from GUI
- fixed "text" (now "(special)") in FLY2 GUI - used for
sequences and distributions int the FLY2 file but not listed in the GUI
- "edit as text" now works for writing, not just reading
8.0beta14c-2006-10-28
- Resolved I263 - Disable sounds by default in batch mode operation.
8.0beta14b-2006-10-28
- Fixed 8.0beta14 error in .fly loading
8.0beta14-2006-10-26
- FLY2 changes:
rename linear_sequence --> arithmetic_sequence
rename line3d_sequence --> line_sequence
rename vertex_angle --> half_angle
rename disc_distribution --> circle_sequence { fill = true, ... }
rename cone_distribution --> cone_direction_distribution {fill = true }
rename cone_edge_distribution --> cone_direction_distribution
new line_distribution type
new sphere_distribution type
line_sequence/line_distribution now editable in the GUI.
NOTE: cylinder_distribution not yet functional.
- new Check for Updates button on main screen.
8.0beta13w-2006-10-26
- Increased max ions default from 500 to 1000.
- Moved PE controls to Contours tab.
- Open button on Browse Files edits text files.
8.0beta13t-2006-10-19
- Changes
- adj_elect[0] and adj_pole[0] now same as adj_elect00 and adj_pole00
8.0beta13s-2006-10-17
- Changes
- Lua workbench user programs now require a
"simion.workbench_program()" statement at the top of the program.
Lua segments also require a "segment." prepended to the name.
Example:
simion.workbench_program()
function segment.other_actions()
print(ion_time_of_flight)
end
- These variables have been renamed in Lua programs:
rerun_flym --> sim_rerun_flym
update_pe_surface --> sim_update_pe_surface
trajectory_image_control --> sim_trajectory_image_control
retain_changed_potentials --> sim_retain_changed_potentials
Old versions have been deprecated with error.
- ion_instance not visible in init_p_values segment.
- Defects in beta:
- Fixed Issue I257 - Crash on Lua print() outside of
segment when loading IOB.
- More robust update of PRG variables in debugger.
8.0beta13q-20061016
- Defects in beta:
- Read/write protections on user variables (p.I-21 sim7 manual)
now active.
8.0beta13p-2006-10-20061014
- Enhancements:
- Lua commands now work in command bar.
- Lua local adjustable variables are now case sensitive
(were case insensitive). In PRG, adjustables remain
case preserving.
- Detects in beta:
- Fixed Issue I94 - Variables tab and Lua variables
synchronization problems.
8.0beta13n-2006-10-07
- Defects in beta:
- Fixed Issue I248 - Lua stack overflow on syntax error
in user program called by simion.import.
- Fixed Issue I249 - Status bar cleared on hovering mouse over
window with tooltip.
- Fixed Issue I250 - Particle definition and other filenames
not display when loaded from IOB.
- Enhancements:
- Addressed Issue I247 - Refine max iteration limit and default
increased to 1E7, and other refine screen issues.
8.0-beta13?
- Added simion/extra.lua
8.0-beta13f-20060927
More FLY2 enhancements
8.0-beta13d-20060926
More FLY2 enhancements
8.0-beta13c-20060923
- Enhancements
- Issue I215 - Support Lorentzian distribution in FLY2
- Issue I227 - Add "fly --restore-potentials=b" command-line option.
- Defects in earlier 8.0betas - FLY2 fixes.
8.0-beta13-20060920
- Enhancements
- Resolved Issue I17 - Prevent display flicker with double buffering.
- Moved Log Window into new "Log" tab in View screen.
- Defects in earlier 8.0betas:
- Fixed I224 (and I65,I86) - Loss of view definitions on entering workbench tab.
8.0-beta12h-20060920
- Defects in 7.0:
- Fixed Issue I223 - Particles may skip through PA at el=180deg.
(currently only patched in 8.0, not 7.0)
8.0-beta12g-20060919
- Fixed Issue I219 - Various printing screen issues
- labels, color, annotations.
- Fixed Issue I222 - Double/halve functions refuse to run.
8.0-beta12-20060909
- Experimental:
FLY2 support is *partially* implemented (but certainly
not ready for production use yet). See "group 2" on the
partical definitions screen to try it out.
- Detects in 7.0:
- I212 - Minor changes to ION file parsing for improved robustness
(patch not made to 7.0)
8.0-BETA11f-20060904
- New features
- I209 - [+-] keys zoom in/out in on Modify OpenGL view.
- I210 - Isometric view option on Modify OpenGL view.
- Defects in ealier 7.1/8.0 betas:
- Fixed Issue I207 - Key shortcuts bypass field validation (killfocus).
- Fixed Issue I208 - User preferences (FILES.GUI) ignored in batch mode.
- Partially fixed Issue I211 - Verbosity of batch mode output.
8.0-BETA11e-20060901
- Defects in earlier 7.1/8.0 betas:
- Fixed Issue I205 - "No such file or directory" when loading file.
- Experimental:
- more progress on .FLY2 particle definition support (not yet functional!)
- Debug: Add debug code for Issue I206 -
"highest_parent_object - no highest_parent found error"
8.0-BETA11d-20060830
- New features:
- IOB file name displays in title bar (I204).
- Defects in earlier 7.1/8.0 betas:
- Fixed Issue I203 - Down/up arrow keys in data fields skip data validation.
8.0-BETA11c-20060829
- New example GEM: examples/gem/tetrahedron.gem
- Defects in earlier 7.1/8.0 betas:
- Fixed "--reserved-memory" option broken in beta11.
- Fixed incompatibility in pre-Windows 2000 OSs (GetConsoleWindow).
- Experimental:
- Issue I471 - Initial .FLY2 particle definition support (not yet
functional!).
This is the "Grouped 2" option on the particle definition screen.
This should be ready in beta12.
http://www.simion.com/beta/fly2.html
8.0-BETA11-20060812
- New command-line capabilities:
- "fly" command more fully implemented
"--particles", "--recording", "--repulsion", "--repulsion-amount",
"--retain-trajectories", "--adjustable", "--markers", "--marker-color"
- New "lua" command to transparently invoke the Lua interpreter.
- new "--version" option
- New "Run Lua Program" button on main screen. Useful for running
batch mode programs from the GUI.
- New built-in Lua functions:
- simion.command(string) - invoke command via command-line like API
- simion.import(filename) - import one SIMION lua program into another.
- New/updated Lua examples:
- [NEW] "geometry_optimization" - geometry optimization
- [NEW] "emittance" - calculation of emittance
- [NEW] "excel" - plots phase plot in Excel
- [sort of NEW] "collision_hs1" - collision model based on SL version
- "tune" - voltage optimization (based on SL/PRG versions)
- "einzel" - einzel lens (largely unchanged from 7.0)
- "drag" - stokes' law example (converted to Lua + more docs)
- "gem" examples: cone.gem and tune.gem
- "tof" example (largely unchanged from 7.0)
- "trap" example (converted to Lua and refactored)
- "buncher" example (converted to Lua / partially to C++)
- "quad" example (converted to Lua)
- "sims" example (largely unchanged from 7.0)
- "icr" example (converted to Lua and refactored)
- "rfdemo" example (converted to Lua, fix voltage calc in area example)
- "random" example (converted to Lua)
- "misc" examples (largely unchanged from 7.0)
- "magnet" examples (largely unchanged from 7.0)
- "performance_tests" examples (currently unchanged from 7.0)
- HTML documentation: see README.html in the main program data folder.
- Lua now includes Luacom (COM interface) for controlling other
programs. See "excel" (Microsoft Excel) example.
- Internal
- upgraded Lua to 5.1.1.
- upgraded Boost program options to CVS version.
8.0-BETA10-2006-08-05
This release further expands the batch mode (command-line)
capabilities.
- New command-line capabilities:
- "refine" command - refine a PA.
- "fastadj" command - fast adjust a PA.
- "fly" command (partially implemented) - fly IOB file.
- "--editor" option - text editor to use
- Detects from earlier 8.0 betas:
- Improved status bar display.
8.0-BETA9-2006-07-29
This release provides initial batch mode (command-line) capabilities
(Issue I130), and properly supports up to almost 200 point PAs via the
--reserved-memory command-line option. If also resolves various
defects and has internal changes.
- New features
- New command-line interface / console mode (in progress)
- New command-line options:
- "--reserved-memory=size" allowing
PA sizes of ~1.85GB to be obtained on Windows XP.
- "--nogui" non-GUI, console mode.
- "gem2pa" - convert GEM to PA file.
- "--default-num-points" and "--default-num-particles"
- Enabled SSE2 CPU extensions on optimized build
(slight performance improvement)
- Converted many toggle buttons to checkboxes.
- Changes from 7.0:
- Command-line format differs. Do "simion.exe --help" for details.
Previously was "SIMION 1000000 #2000 !" (p. B-3, SIMION 7.0 manual).
- SIMION_EDITOR environment variable. GUI_EDITOR is deprecated
and GUI_FILENAMES is now ignored (long names are standard now).
- Defects from earlier 7.1/8.0 betas
- Fixed Issue I200 - Secondary keys do not work on gui window.
- Fixed Issue I202 - Extra .PA extension added when saving .PA#
files under Win2K
- Defects from 7.0
- Fixed Issue I201 - GEM file includes don't properly
resolve paths in other directories. (not patched in 7.0)
- Implementation:
- now compiling with wxWidgets 2.6.3.
- GEM code refactoring.
8.0-BETA8-2006-06-20
This release provides major new capabilities such as Lua programming,
increased limits, performance enhancements, and initial OpenGL viewing
in Modify. It also resolved numerous defects.
- New features
- Incorporating Lua programming language, with preliminary Lua
scripting for user programs (subject to change). Issue I470.
- Increased maximum PA size limit from 50 million (~500MB) to
effectively ~200 million (~2GB)--or ~300 million (~3GB) for
WinXP having the /3GB option enabled. (I163)
This is not very well tested at the moment but seems to work.
The /3GB option is not yet tested at all but may work.
(http://support.microsoft.com/kb/833721)
- Increased maximum number of ions in memory from 500 thousand
(~84 MB) to 10 million (~1.7 GB) (I164)
- Implementation: Now compiling under Visual C++ 2005 (was Visual
C++ 6 before). This provides measurably better performance
and roughly ~20-40% reductions in run-time from SIMION 7.0.0.
(Issue I185)
- More compact layout on View screen and "Hide" button that
collapses top panel. (I177)
- OpenGL viewing of PAs in Modify (incorporated from SL Toolkit).
- Updated fast adjust screen GUI.
- Resolved issue I98 - On fast adjust screen, elminate
"you didn't respond to any potential changes" warning.
- Defects also incorporated into 7.0:
- Fixed issue I168 - In SIMION data recording, electric potential
(E) records magnetic potential whenever a magnetic PA of 2D
planar symmetry is active.
http://www.simion.com/discuss/viewtopic?t=341
Also patched in 7.0.1-2006-04-10.
- Resolved issue I170 - SIMION may freeze on startup with the
message "Initializing Random Number Generator".
Also patched in 7.0.3-2006-04-25.
- Resolved issue I171 - SIMION may crash when calling the "seed"
function in a PRG user program.
Also patched in 7.0.3-2006-04-25.
- Resolved issue I191 - Long file names (greater than 8+3=11 characters)
may cause error messages.
Also patched in 7.0.4.
- Resolved issue I192 - Buffer corruption when saving IOB of file
length slightly more than 12 chars.
Also patched in 7.0.4.
- Defects in earlier 7.1/8.0 betas:
- Fixed initialization of random number generator from active.tbl.
- Fixed assert on loading PAs with ng <= 0 (e.g. DETECT.PA).
- Fixed I193 - Only 12 characters of filenames are displayed in PA
and PA instance lists
- Fixed I195 - On adding a new PA instance to the IOB, angular info
(Rotation, Elevation & Azimuth) not read into prompt box.
- Fixed I194 - Memo information not displayed.
- Fixed I143 - User program enable/disable switch missing in View.
- Fixed I11 - Time marker controls were temporarily removed in View screen.
- Fixed I162 - "mm" label not display on ion definition screen.
- Fixed I167 - Sounds not supressed when the SIMION window is deactivatived.
- Fixed I137 - In fast adjust screen, focus not moved to panel on electrode selected.
- Fixed I199 - On first opening file dialog box, file name is string of spaces.
7.1-BETA7-2006-02-04
This release resovles various defects.
- Defects in earlier 7.1betas:
- Fixed data recording monitor slowness and overflow problems (I144)
- Fixed PA list on main screen not always updated (I50)
- Fixed variable corruption in debugger (I159)
- Fixed non-adjustable variables displaying in Variables tab in View (I161)
- Fixed "Double" button not working (I74)
- Fixed design defects on file selection dialog boxes (I150)
- Defects in 7.0:
- Fixed other variables not initialized in debugger (I157)
7.1-BETA6-2006-02-03
This release expands the maximum number of electrodes, makes
various GUI improvements, and resolves some defects.
- New features:
- Maximum adjustable electrodes increased from 31 to 128.
New adj_elect31..127 and adj_pole31..127 reserved variables
added as well as new adj_elect and adj_pole reserved arrays.
(see http://www.simion.com/info/Max_Electrodes for full details).
(I127)
- GEM screen redesigned.
- Some Modify screen layout changes, e.g. point type.
- Defects in earlier 7.1betas:
- Reduced minimum size of graphic window (I29)
- Fixed progress bar (I39)
- Detects in 7.0:
- Fixed "Illegal Fastadj Potential Count in test.pa0"
when loading IOB with maximum adjustable electrodes (I158).
7.1-BETA5-2006-01-17
This release makes various GUI improvements and resolves some defects.
- Main screen rearranged more.
- Validate value when enter key pressed in text/spin controls (I18)
- Defects in ealier 7.1betas:
- Improve performance and reduce flicker when changing screens
- Eliminate multiple-flicker upon starting Fly in View
- Fixed accelerator key conflicts with text/spin controls (I37)
- Fixed focus issues with view toggle button in fast adjust screen (I141)
7.1-BETA4-2006-01-10
## User-visible changes:
- Precision on numeric fields is now properly implemented (I111).
- Print options screen redesigned (I14).
- Fixed update of coordinate/potentials in status bar on mouse
hover over View/Modify screens (I73).
- Improve toggle button behavior (disable XP hover effect) (I149)
- Coloring added on panels (I151) as well as to OK/Cancel buttons.
- Variables panel on View screen is now two columns (I152).
- Various small layout improvements: View/Def/Welcome screens.
7.1-BETA3-2005-12-30
## User-visible changes:
- "compile/debug" screen redesigned (2005-12-28), including
placing variable list inline.
- "options/customize" and "color/palette" screens redesigned (2005-12-30)
- "fast adjust" screen redesigned. (2005-12-24)
- Rearranged main and view screens since last beta. (2005-12-30)
- Added IOB filename to main screen. (2005-12-29)
- Various fixes in mouse handling in beta (2005-12-24)
7.1-BETA2-2005-12-22 (22005-08 through 2005-12-22) - djm
Summary:
SIMION Project is now maintained by Scientific Instrument
Services, Inc. (SIS). The main change is a large change to the
GUI framework.
## User-visible changes:
* Incorporate new GUI framework utilizing native controls:
- most screens have been redesigned
- native mouse cursor
- native file manager (replaces GUI File Manager)
- native controls (buttons, text boxes, list boxes, etc.)
- native message box for help boxes.
- native windows colors for dialog background and WinXP themes
- mouse scroll wheel and up/down keys increment/decrement
numeric fields.
- changed help system
- new tooltip help displays in status bar upon mouse hover over control.
(Issue I473)
* Remove outdated software:
* Remove walk-about (GUI File Manager) and EDY programs.
* Other GUI changes:
* Add menubar on window frame.
* Add statusbar on window frame (status messages).
* New about box with licensing info.
* Remove "general help" (largely outdated info on the old GUI)
* [main] Rearrange main screen buttons, including
* Moved double/halve functions from main screen into Modify screen.
* Removed "End SIMION" button on main screen (redundant)
* Removed button "Old" (redundant with "Load")
* Some relabeling: GUI File Manager, Test & Debug Selected PAs
* In PA List (Main screen), changed items now have "*" appended
rather than a red box.
* [modify] the "set" button now uses a dialog box (more conventional).
* [view] When loading IOB file, assume yes for these questions (don't ask):
- Restore Potentials To Values Active When .IOB Was Saved?
- Auto-Load Matching .REC File?
- Auto-Load Matching .ION File?
- Auto-Load Matching .FLY File?
* [view] Moved data recording link from ion definition screen to view screen.
FIX:what about time markers?
* [view] Combined "Resume Ion Flying after a Pause"
and "Integrate Trajectory a Single Step" buttons into one
">" button. Single step trajectory integration is also
not automatically turned off when ion flight starts.
* [view] AdjV tab can now can be used before ion flight
to display and edit adjustable variables.
Adjustable variables are now not displayed when starting the fly.
* [view] On Contour, minor changes to GUI behavior.
* [view] 3D Zoom behavior modified -- moved functionality to View
panel (and removed Z3D tab).
* [view] Tabs rearranged some. Including
- AdjV --> Variables and PAs --> PAs (Fields)
* [settings] Removed various font settings (x/y offset
and special characters). removed scan on/off. removed etched/normal
text. removed mouse sensitivity. removed delays panel.
* Disable undocumented CTRL+ALT behavior (show cross-hairs cursor)
* Bug/defect fixes:
* fixed: file directory limit errors (GUI File Manager was replaced)
* fixed: integer overflow when creating a new PA and specifying
certain large dimensions (e.g. 90000 x 90000 x 1) (minor)
* Logic changes:
* [view,adjv] Changes to the way adjustable variables are saved before/after ion
flights in order to allow AdjV tab to be accessed before ion flights.
* Other
* Support for beta versions.
* Updated copyright.
## Developer-visible changes:
* Incorporate the wxWidgets GUI framework (www.wxwidgets.org), including
- incorporate SIMION message loop into the wxWidgets message loop
(simion_main.cpp and mouse.c)
- wxWidgets for main screen and various controls and dialog boxes
* Improve coding:
- replace "struct" with "typedef struct"
- reduce usage of void *
- cleanup of comments to be more doxygen-like (e.g. gui.h)
* Many files converted to C++ (particularly GUI code)
* Compile/link changes (changes made only to MSVC++6 project, simion.dsp):
- Compile globally with 8-byte struct alignment (previously was
1-byte), while adding pshpack.h and poppack.h around structures.
- Add Debug builds.
- Compile against static, multithreaded C run-time library (same as
wxWidgets) (previously was static, single-threaded).
- removed timelock from build
* Remove dahl contact info.
* Remove scrollbars on simgui client window.
7.0.5-2007-05-25
- Issue I115 - SIMION may crash on startup if another SIMION7 or
SIMION8 running and 1000 GUI*.TMP files exist in C:\FILES.GUI.
- Issue I390 - Buffer overflow on certain bad GEM syntax (minor)
7.0.4-2006-12-26
- Resolved Issue I331 - Acceleration error in overlap of electrostatic
PA with magnetic PA of higher grid density. [CRITICAL]
- Resolved issue I191 - Long file names (greater than 8+3=11 characters)
may cause error messages.
- Resolved issue I192 - Buffer corruption when saving IOB of file
length slightly more than 12 chars.
7.0.3-2006-04-25
- Resolved issue I170 - SIMION may freeze on startup with the
message "Initializing Random Number Generator".
- Resolved issue I171 - SIMION may crash when calling the "seed"
function in a PRG user program.
- Compiled with Open Watcom 1.5.
7.0.2-2006-04-15
- Partly resolved issue I169 - The GUI File Manager has a limit
of 3000 directories and becomes unresponsive on a long running
directory scan.
http://www.simion.com/discuss/viewtopic?t=21
7.0.1-2006-04-10
- Fixed issue I168 - In SIMION data recording, electric potential
(E) records magnetic potential whenever a magnetic PA of 2D
planar symmetry is active.
http://www.simion.com/discuss/viewtopic?t=341
- Updated legal and contact info.
- Added file version info.
- Compiled under newer version of Watcom compiler (Open Watcom 1.3).
SIMION 7.0.0 used Watcom 11.
7.0-2005-05-23
SIMION 7.0, David Dahl, Idaho National Engineering and Environmental Lab (INEEL)
===============================================
SIMION 8.0/8.1 Manual - Changes and Errata
===============================================
Rev-6 (not yet printed)
Index - add reserved variables to index.
Rev-5 (Nov 2011) Covering SIMION 8.1.0.31.
In general, replace mention of SIMION 8.0 with 8.1.
2-5 - "mV^2" should be "mv^2"
2-5 - clarify "mass (in)dependent" comments as
discussed in http://www.simion.com/discuss/viewtopic?p=3250 [*]
2-6 - ths->the
2-16 - Replace mention of the "c:\Program Files\SIMION-8.0\mystuff"
directory (which standard users don't have write permission to on
Windows 7/Vista) with user's personal Documents or Desktop folder.
2-16 - 'On convenient' -> 'One convenient'
5-30 - Added (under the Copy function): "If you want to change the
potential of a copied element, refer to the description of the
Replace function given earlier." [*]davido
7-10 - "Important: Any potential changes via User programs are ignored!"
is incorrect. They are not ignored. Details:
http://simion.com/discuss/topic/1027-/page__view__findpost__p__3898
D-5 - Warn user to make a copy of entire examples folder into a personal
folder user has write access to since most examples write to their own
folders and Windows 8/7/Vista does not permit write access to
c:\Program Files .
E-1 - Note added BMP/PNG/JPG support.
H-3 - update Refine equations for 8.1.
H-15 - "coefficient of variation squared" -> "coefficient of variation".
"four" -> "four+one". "1/(accuracy level)" -> "1/quality".
"typically 1/2 or 0.5" -> "quality typically 3".
[* http://www.simion.com/discuss/viewtopic?p=3305 ]
I-15 - In the hyperbola equation, "(y-yx)2/ry2 - (x-xc)2/rx2=1",
superscripts should be used.
I-22 - In the parabola equation, the "2" in "(x-xv)2"
should be superscripted.
M-1 - Add --num-threads option.
M-3 - Add gem2pa options: dx_mm, dy_mm, dz_mm, scalex, scaley, and scalez.
M-4 - "--ny-d" -> "--ny=d"
M-8 - describe INI_GUI environment variable - If this variable is set,
SIMION will store its program settings and temporary files
(i.e. FILES.GUI) in this directory.
SIMION Manual Rev-4 (Jan 2008)- Covering SIMION version 8.0.4
This revision updated some parts of the text for 8.0.4, fixes some
typos, and improves some of the descriptions.
2-13 - Note that "adjustable electrode/pole potentials must
not be skipped (e.g. 1,2,4,5)" restriction was removed
in 8.0.4 -- Issue I414
2-13 - Note that 8.0.3 allows multiple fast scaling solutions,
which are useful for ion funnels and resistor chains. See
Issue I172.
2-20 - Add: "(and possibly also an exclamation ! symbol to indicate unrefined)"
5-32 - Describe Crop function - Issue I313.
6-10 - Remove "Any skipped electrode values (e.g. 1,2,3,6,7,8) will abort..."
6-10 - ".PA2-9 & A-U (numbers 2-30)" changed to ".PA2-.PA127 (numbers 2-127)"
6-10 - As of 8.0.3, multiple sets of fast scalable electrodes can be
defined: see Issue I172.
9-8 - Mention collision_sds example.
A - Updated for 8.0.4 system requirements -- Issue I474.
B-1 - Link to Linux and Mac OS X instructions:
Linux: http://simion.com/issue/469; Mac OS X: Issue I463.
B-1 - Add comment: Allocating arrays greating than
approximately 1.3 GB may require starting SIMION with the
--reserved-memory program option (see Command Line Appendix and
Issue I163). One way to do so is
to modify the Windows shortcut that starts SIMION (right click it and
select Properties) so that the Target reads something like this:
"C:\Program Files\SIMION-8.0\simion.exe" --reserved-memory 1.8G
C-3 - Suggest entering "print(sqrt(2))" in the command bar also.
C-3 - Typo: Reference to Figure C.7 should be C.6.
C-9 - Correction: Active button -> Enable check box (old comment)
C-8 - Correction: Remove old "If the square on the button....compensating for it." comment.
F-2 - Add: GEM files containing macros (Issue I296)
will be preprocessed and written to a .processed.gem file.
F-8 - Note that .PA0 extensions were made in 8.0.3 (Issue I172).
H-13 - Note that a useful analysis of SIMION's charge repulsion capabilities
is in the README.html file in the SIMION "repulsion" example.
H-16 - Typo: Remove "USEE".
I-1,I-5 - 8.0.4 added Lua macro and variable substitution
support. See Issue I296 .
I-10,I-11,I-12,I-15,I-22,I-24, - "zmin is 10^6" should instead read "zmin is -10^6".
(regression--was correct in 7.0 manual)
3-10,6-6 - 30 fast electrodes should be 127 (noted by eloy)
K-12 - Describe new "window" attribute: Issue I426
K-15 - Note that defining custom disitributions is explained in
Issue I407
K-21 - K.9.14 line_distribution should read
"Creates uniformly random points along a line segment",
remove parameter "n", and remove comment
'-- or specify "step = vector(1,-1,2/9)' in example.
K-23 - Describe new "window" attribute: Issue I426
L-16 - Typo: Remove empty "Changing Adjustable Variables While Ions are Flying"
L-16,L-17 - Add ion_cwf reserved variable - Issue I452
L-16,L-17 - Add sim_trajectory_quality reserved variable - Issue I370
L-20 - simplify flow diagram. Issue I304.
L-31 - Note that simion.import differs a bit from Lua's own built-in dofile
and require functions in that the imported code is executed
inside the environment of the SIMION workbench user program.
L-3,L-40 - Note new simion.pas interface (Issue I422)
and SIMION Libraries (Issue I400).
L-33 - Add missing simion.import doc.
L-35 - Add new simion.VERSION variable - Issue I398
Add new simion.sleep function - Issue I462
Add new simion.status function - Issue I406"
Moved simion.key, simion.run_stop, and simion.redraw_screen
into section L.4.1 and remove "only legal in"
M-2 - Remove /3GB note
M-2 - Add --temp-path command line option - Issue I458
M-3 - Add new gem2pa comment line options - Issue I424
M-4 - Add refine --skipped-point option - Issue I424
N - updated for 8.0.4 changes.
SIMION Manual Rev-3 (March 2007) - Covering SIMION version 8.0.2
1-3 - Note that the latest list of 8.0.x version changes is
online at http://www.simion.com/changes .
2-24,8-1,8-2,8-8,8-10,H-9,H-10,H-11,H-12,K-2,K-23,L-16,L-27,
L-33,L-35,L-52,L-53
- Change "amu" to "u" (standard symbol for unified atomic mass unit).
6-4 - Note that further information related to the "ground can"
and defining PA boundary conditions can be found in
http://www.simion.com/info/First_Uniqueness_Theorem
8-27 - Note that log tab is detachable in 8.0.1.
9-7 - Correction: Replace "message" with "print".
9-7 - Correction: Remove "(print) legal in initialize, other_actions,
and terminate segments"
9-7 - Formatting correction: print(string."3.142") -->
print(string.format("%0.3f", 3.141592))
H-7 - Change "-" before "base array" and "electrode array"
to "in" (so as not to confuse with subtractions).
http://www.simion.com/discuss/viewtopic?p=1248#1248
J-1 - Add note: Details on SL Tools (STL CAD import) is
available separately in the additional electronic documentation
(Help | Browse Documentation menu in SIMION).
K-13 - Remove old comment: "when direct support for FLY2 files
is added to [SIMION]".
L - Correction: some general grammar/spelling/formatting issues.
L-2 - Add reference to Chapter 9 for user programming tips.
L-2,L-4,L-72 - Update comments on C/C++ interface:
As of version 8.0.2, C/C++ code is callable via the Lua
extension interface. See SIMION's "extension" example (in the
examples/extension folder). A simpler method, with
more overhead, is the Lua os.execute() function. COM
calling is also supported via LuaCOM--see "excel" examples.
(SL Remote is not available nor needed in Lua.)
L-3 - Mention the new "Beginning Lua Programming" book:
More recently released was the book Beginning Lua
Programming, which provides a more detailed and somewhat
more novice oriented introduction to Lua.
http://www.lua.org/docs.html
L-4 - Correction: Add missing "--" in code comment line:
"-- Here's some variable I define".
L-6 - Add note that print also works in bottom task bar (as of 8.0.1).
For example, "print(factorial(5))".
L-8,L-40 - Add note that SL Libraries docs can be found in the additional
electronic documentation (Help|Browse Documentation menu item).
L-8 - Note new "extension" (C/C++) calling example and that additional
examples are described in the additional electronic documentation
(Help|Browse Documentation menu item).
L-8 - Add note: You will be automatically prompted to refine
upon first loading an IOB with unrefined PAs (as of 8.0.2).
L-12,L-66 - Note that workbench user programs can differentiate
between PA instances by testing the ion_instance variable.
L-16 - Clarify meaning of adj_elect00 variable:
adj_elect and adj_pole are array variables with elements aliased
to the adj_elect00-adj_elect127 and adj_pole00-adj_pole127--you
may use whichever form is most convenient.... The adj_elect00 (or
adj_pole00) reserved variable (you can think of it as electrode
#0) is special and supports control of fast scaling electrodes in
.PA0 fast adjust files (it refers to the voltage of maximum
magnitude in the fast scalable set).
L-21 - Replace: "Message and R/S" with "print and run_stop".
L-27 - Formatting correction:
'string."Ion %d neutralized at (x,y,z)=(0,0,0)"' -->
'print(string.format("Ion %d neutralized at (x,y,z)=(%d,%d,%d)",
ion_number, ion_px_mm, ion_py_mm, ion_pz_mm))'
L-29 - Clarify that writing to reserved functions is allowed
(e.g. "cos = sin" is allowed), though it can be undesirable.
L-67 - Add note: "pow(x,y)" can also be written as "x^y".
L-70 - Formatting correction:
'string."0.00000"' --> 'string.format("%0.5f", math.pi)'
L-70 - Formatting correction:
'if x = y" --> "if x ~= y" (under "X!=Y")
L-72 - Remove: reference to deprecated Lua "mod" function.
M-1 - Describe new "--noprompt" main option:
Disables prompting user in batch mode (uses default choice).
If specified, then --nogui must be specified as well.
This option is new in version 8.0.1.
N-1 - Add note: Lua can also call into C/C++ or COM.
N-2 - Add note: 8.0.2 adds new secondary emission and C/C++ extension
examples.
Additional notes (not documented):
In 8.0.1, ion_split == -4 (ion killed) may also occur if
particles start with parameters out of range.
SIMION Manual Rev-2 (December 2006) - Covering SIMION Version 8.0.0
Fixed paper size (A4 --> US letter) as lower margin was almost cut-off.
I-2 - Added missing Figure I.1.
I-18 - Spelling: cdnt_box3d --> cent_box3d.
L-72 - Spelling: SL remove --> SL remote.
L-73 - Removed: "?" next to nint.
N-1 - Changed: "FLY2 format of SIMION 7" --> "FLY format of SIMION 7".
SIMION Manual Rev-1 (November 2006) - Covering SIMION Version 8.0.0
First revision (Issue I16).
