Tcl and Tk must be installed before installing OOMMF. Tcl and Tk are available for free download 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 the 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, tclsh83.exe or wish8.0).
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 800 files and directories, occupying approximately 10 MB of storage. The amount of disk space needed for compiling and linking varies greatly between platforms; allow an additional 15 MB to 80 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 between 15 MB and 25 MB. The OOMMF distribution containing Windows executables unpacks into a directory tree occupying about 15 MB of storage. Note: On a non-compressed FAT16 file system on a large disk, OOMMF may take up much more disk space. This is because on such systems, the minimum size of any file is large, as much as 32 KB. Since this is much larger than many files in the OOMMF distribution require, a great deal of disk space is wasted.
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 difficult: