Tcl and Tk must be installed before installing OOMMF. Tcl and Tk are available for free from the Tcl Developer Xchange. We recommend the latest stable versions of Tcl and Tk concurrent with this release of OOMMF. OOMMF requires at least Tcl version 7.5 and Tk version 4.1 on Unix platforms, and requires at least Tcl version 8.0 and Tk version 8.0 on Microsoft Windows platforms. OOMMF software does not support any alpha or beta versions of Tcl/Tk, and each release of OOMMF may not work with later releases of Tcl/Tk. Check the release dates of both OOMMF and Tcl/Tk to ensure compatibility.
A Tcl/Tk installation includes two shell programs. The names of these programs may vary depending on the Tcl/Tk version and the type of platform. The first shell program contains an interpreter for the base Tcl language. In the OOMMF documentation we refer to this program as tclsh. The second shell program contains an interpreter for the base Tcl language extended by additional Tcl commands supplied by the Tk toolkit. In the OOMMF documentation we refer to this program as wish. Consult your Tcl/Tk documentation to determine the actual names of these programs on your platform (for example, tclsh86.exe or wish8.6).
OOMMF applications communicate via TCP/IP network sockets. This means that OOMMF requires support for networking, even on a stand-alone machine. At a minimum, OOMMF must be able to access the loopback interface so that the host can talk to itself using TCP/IP.
OOMMF applications that use Tk require a windowing system and a valid display. On Unix systems, this means that an X server must be running. If you need to run OOMMF applications on a Unix system without display hardware or software, you may need to start the application with command line option -tk 0 or use the Xvfb virtual frame buffer.
The OOMMF source distribution unpacks into a directory tree containing about 2500 files and directories, occupying approximately 130 MiB of storage. The amount of disk space needed for compiling and linking varies greatly between platforms; allow up to an additional 60 MB for the build. Removing intermediate object modules (cf. the pimake ``objclean'' target, in the Reducing Disk Space Usage section) reduces the final space requirement for source + binary executables to less than 140 MB.
To build OOMMF software from source code, you will need a C++ compiler capable of handling C++ templates, C++ exceptions, and (for the OOMMF eXtensible Solver) the C++ Standard Template Library. You will need other software development utilities for your platform as well. We do development and test builds on the following platforms, although porting to others should not be too difficult:
Both 32- and 64-bit builds are supported on each of the above platforms, though most uses of OOMMF will prefer a 64-bit build to avoid limits on simulation sizes.