OOMMF Overview of the Object Oriented MicroMagnetic Framework (OOMMF) project at ITL/NIST


The goal of the OOMMF project in ITL/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.

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 Unix platforms, Windows NT, and Windows 95/98.

The code may 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 script 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.

The first portion of OOMMF released was a magnetization file display program called mmDisp. This is now one part of the complete OOMMF project, which includes a problem editor, a micromagnetic solver, and several display widgets. A presentation and demo of OOMMF was made at the 1998 Joint MMM-Intermag conference (San Francisco, January 6-9). The viewgraphs from this presentation are available in the following formats:

(The PostScript files are 15602946 bytes uncompressed.)

The original OOMMF solver, mmsolve2D, is based on a micromagnetic code that Mike Donahue and Bob McMichael had previously developed. It utilizes a Landau-Lifshitz ODE solver to relax 3D spins on a 2D square mesh, using FFT's to compute the self-magnetostatic (demag) field. Anisotropy, applied field and initial magnetization can be varied pointwise, and arbitrary shaped elements can be modeled. A new, fully 3D solver, Oxsii, is under development. It was first demonstrated at the OOMMF Workshop 2000, held at NIST/Gaithersburg MD, on 18-August-2000. See the OOMMF Roadmap for details of the various releases.

If you want to receive email notification of updates to this project, register your email address with the "muMAG Announcement" mailing list:
http://www.ctcms.nist.gov/~rdm/email-list.html


Back to OOMMF project at NIST

michael.donahue@nist.gov
22-Jan-2001