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 (Tcl/Tk 8.4.5 as of January, 2004). OOMMF requires at least Tcl version 7.5 and Tk version 4.1 on Unix platforms, and requires at least Tcl version 7.6 and Tk version 4.2 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, tclsh80.exe or wish4.2).
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 start the application with command line option -tk 0 or use the Xvfb virtual frame buffer to stand in for the missing display.
The OOMMF source distribution unpacks into a directory tree requiring about 8 MB of storage. Compiling and linking for each platform consumes approximately an additional 7 MB of storage. The OOMMF distribution containing Windows executables unpacks into a directory tree requiring about 8 MB of storage.
To build OOMMF software from source code, you will need a C++ compiler capable of handling C++ templates, as well as other software development utilities for your platform. We do development and test builds on the following platforms, although porting to others should not be difficult:
There are binary distributions of Tcl/Tk for Mac OS X, but we have not been able to make OOMMF work with them. There are several difficulties. The simplest to understand is that the binary distributions of Tcl/Tk available for Mac OS X have been configured with threads-enabled, and OOMMF does not support multi-thread operations. Fortunately, it is straightforward to build Tcl/Tk for yourself on a Mac OS X 10.3 (Panther) system, in such a way that OOMMF works fine.
First, be sure you have installed the optional X11 package that is part of Panther. Also, be sure you've installed the developer software that includes the GNU compiler. Then start X11. It is found in the Applications folder. X11 will open a terminal window.
In the X11 terminal window, unpack a Tcl source distribution and a Tk source distribution. In each, follow the build and install instructions for a Unix system. When you are done, keep the X11 terminal window open, and continue with the following OOMMF compile instructions in that window.