femm is free
I haven't used it but I hear it is OK
Fen
The preprocessor allows the user to draw parts, specify materials, and so on. DXF drawings can be imported into the preprocessor.
For mesh generation, triangle is employed to create a constrained Delaunay triangulation.
The solver addresses 2-D planar and axisymmetric magnetic problems (including linear and nonlinear magnetostatic problems and linear low frequency harmonic problems). For magnetostatic problems, a Conjugate Gradient solver using a Symmetric Successive Over-Relaxation (SSOR) preconditioner is employed. For harmonic problems, a complex-symmetric implementation of the BiConjugate Gradient algorithm is used, again with the SSOR preconditioner.
The graphical postprocessor allows the user to examine and manipulate the solution. The contour and density plot renderings of the solutions are available. Plotting of various field quantities along user-specified coutours is supported. A number of integrals along user-defined contours and areas are also supported.
A powerful scripting language, Lua, is integrated with the program. The scripting language allows for batch runs, creation of animations, dynamic simulations, and so on.
There is no hard limit on problem size--maximum problem size is limited by the amount of available memory.