OOMMF Home next up previous index
Next: Basic Installation Up: Installation Previous: Installation


OOMMF software is written in C++ and Tcl. It uses the Tcl-based Tk Windowing Toolkit to create graphical user interfaces that are portable to many varieties of Unix, Windows, and macOS.

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++

OOMMF Home next up previous index

OOMMF Documentation Team
September 30, 2022