SIMION®
The field and particle trajectory simulator
Industry standard charged particle optics software
Refine your design: model > simulate > view > analyze > program > optimize it.
About | Documentation | Community/Support | Downloads | Ordering

SIMION 8.0 Issues/Bugs/Enhancements

Filter issues by query:
Issue I431 [80,batch,defect,resolved]
  Lua _G table wasn't shared between batch mode program and workbench
  program in non-GUI mode.

  The global table, _G, can be useful for communicating information
  between a Lua workbench user program and a Lua batch mode
  program call that flies the workbench.  For example,

    -- batch.lua (batch mode program)
    simion.command("fly test.iob")
    print(_G.result)  -- print result of Fly'm
    
    -- file: test.lua (workbench program attached to test.iob)
    simion.workbench_program()
    function segment.terminate()
      _G.result = ion_py_mm   -- return Fly'm result
    end

  Prior to SIMION 8.0.4-TEST11, this would only work if you ran the
  batch mode program via the SIMION GUI ("Run Lua Program" button").
  If you ran it from the command-line, the data will not get passed.
  The reason for this was that SIMION was actually creating two
  isolated Lua states for the batch mode and workbench programs
  (easily confirming by doing print(_G) in both programs).

  As of 8.0.4-TEST11, SIMION only creates a single Lua state, so you
  can use the above idiom.  In fact, the "geometry_optimize" example
  has been updated to use this new style (rather than passing data via
  a file).

  Resolved in 8.0.4-TEST11.

Any comments on this web page? (will be sent to IMI Adaptas SIMION Support)
[Optional] Your name: email: phone: