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 I522 [defect,gem/prog/core,resolved]
  Small defects in 90 degree rotations (GEM files and rotation functions)

  Small numerical defects may be observed in various locations in
  SIMION dealing with rotations by multiples of 90 degrees.
  For example, in the following GEM file, there is not complete
  planar symmetry along the cylinder axis:

  pa_define(21,51,21,p,n,electrostatic)
    electrode(2) {
      fill{
        locate(0,0,0,1,0,0,-90) {
          within_inside_or_on{cylinder(10,-10,80,2,2,100)}
        }
      }
    }

  Here's another example where this effect is more prevalent:

  pa_define(51,51,51,p,n,electrostatic)
    electrode(2) {
      fill{
        locate(0,0,0,1,0,0,-90) {
  # for x=0,50,10 do
  # for y=0,50,10 do
          within_inside_or_on{cylinder($(x),$(-y),80,2,2,100)}
  # end end
        }
      }
    }

  The problem tends to occur when you have a rotation that is a multiple
  of 90 degrees (excluding zero), as in the above examples.
  It also affects API functions like azimuth_rotate, elevation_rotate,
  polar3d_to_rect3d, and polar_to_rect.
  
  The problem is due to small defects in the rotation matrix, which in
  turn result from numerical approximations in the underlying trigonometry
  functions (e.g. `math.cos(math.pi/2) --> 6.1232339957368e-17`).  These occur
  in certain Intel CPU instructions and certain math libraries.
  (e.g. you see the same thing in Excel when evaluating `=COS(PI()/2)`).
  
  The problem is eliminated in 8.1.0-TEST5 (and 8.0.7-TEST5) by forcing
  rotation operations by multiples of 90 degrees in range -360 to 360 degrees
  to be exact. However, other such numerical round-off issues may still remain.
  Note: the underlying math.sin and math.cos functions (which are in radian
  not degrees) do not have this correction.

  Reported by
    bigtailwolf-20090216: http://www.simion.com/discuss/viewtopic?p=2860
    bud-20110723: http://simion.com/discuss/topic/1135-bug-with-anisotropic-scaling/

  Affects 7.0.0-8.0.6 and above.
  Resolved in 8.1.0-TEST5 (and 8.0.7-TEST5).

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