OOMMF Home next up previous contents index
Next: Installation Up: OOMMF Documentation Previous: Disclaimer

Overview of OOMMF

The goal of the OOMMF (Object Oriented Micromagnetic Framework) project in the Information Technology Laboratory (ITL) at the National Institute of Standards and Technology (NIST) is to develop a portable, extensible public domain micromagnetic program and associated tools. This code will form a completely functional micromagnetics package, but will also have a well documented, flexible programmer's interface so that people developing new code can swap their own code in and out as desired. The main contributors to OOMMF are Mike Donahue and Don Porter.

In order to allow a programmer not familiar with the code as a whole to add modifications and new functionality, we feel that an object oriented approach is critical, and have settled on C++ as a good compromise with respect to availability, functionality, and portability. In order to allow the code to run on a wide variety of systems, we are writing the interface and glue code in Tcl/Tk. This enables our code to operate across a wide range of platforms, including Unix, Windows, and Mac OS X systems.

The code may actually be modified at 3 distinct levels. At the top level, individual programs interact via well-defined protocols across network sockets. One may connect these modules together in various ways from the user interface, and new modules speaking the same protocol can be transparently added. The second level of modification is at the Tcl/Tk script level. Some modules allow Tcl/Tk scripts to be imported and executed at run time, and the top level scripts are relatively easy to modify or replace. At the lowest level, the C++ source is provided and can be modified, although at present there is no documentation detailing this process.

The first portion of OOMMF released was a magnetization file display program called mmDisp. A working release of the complete OOMMF project is now available. This includes a problem editor, a 2D micromagnetic solver, and several display widgets, including an updated version of mmDisp. The solver can be controlled by an interactive interface, or through a sophisticated batch control system.

The solver is based on a micromagnetic code that Mike Donahue and Bob McMichael had previously developed. It utilizes a heavily damped Landau-Lifshitz ODE solver to relax 3D spins on a 2D mesh of square cells, using FFT's to compute the self-magnetostatic (demag) field. Anisotropy, applied field, and initial magnetization can be varied pointwise, and arbitrarily shaped elements can be modeled. The 1.2 releases of OOMMF include the OOMMF eXTensible Solver (OXS) that supports full 3D simulation, and modeling of layered materials.

If you want to receive e-mail notification of updates to this project, register your e-mail address with the ``muMAG Announcement'' mailing list:


The OOMMF developers are always interested in your comments about OOMMF. See the Credits for instructions on how to contact them.

OOMMF Home next up previous Contents index

OOMMF Documentation Team
January 15, 2004