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 version 8.5 of Tcl and Tk. 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.
To build OOMMF software from source code, you will need a C++ compiler that implements the features of the C++11 standard. 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:
Platform | Compilers |
Windows | Microsoft Visual C++, MinGW g++, Cygwin g++ |
Linux/x86 | Gnu g++, Intel C++ |
macOS | Clang C++, Gnu g++ |