Follow the instructions in the following sections, in order, to prepare OOMMF software for use on your computer.
The latest release of the OOMMF software may be retrieved from the OOMMF download page. Each release is available in two formats. The first format is a gzipped tar file containing an archive of all the OOMMF source code. The second format is a .zip compressed archive containing source code and pre-compiled executables for Microsoft Windows 95/NT running on an x86-based microprocessor system and compatible with Tcl/Tk version 8.0. Other release formats, including pre-compiled executables for Microsoft Windows NT running on a Digital Alpha Systems RISC-based microprocessor system, and/or compatible with Tcl/Tk version 7.6/4.2 will be made available on request.
For the first format, unpack the distribution archive using gunzip and tar:
gunzip -c oommf10a980812.tar.gz | tar xvf -
For the other format(s), you will need a utility program to unpack the .zip archive. This program must preserve the directory structure of the files in the archive, and it must be able to generate files with names not limited to the traditional MSDOS 8.3 format. Some very old versions of the pkzip utility do not have these properties. One utility program which is known to work is UnZip. Using your utility, unpack the .zip archive, e.g.
unzip oommf10a980812.zip
For either distribution format, the unpacking sequence creates a subdirectory oommf which contains all the files and directories of the OOMMF distribution. If a subdirectory name oommf already existed (say, from an earlier OOMMF release), then files in the new distribution overwrite those of the same name already on the disk. Some care may be needed in that circumstance to be sure that the resulting mix of files from an old and a new OOMMF distribution combine to create a working set of files.
After downloading and unpacking the OOMMF software distribution, all the OOMMF software is contained in a subdirectory named oommf. Start a command line interface (a shell on Unix, or the MS-DOS Prompt on Microsoft Windows), and change the working directory to the directory oommf. Then run the Tcl script platform.tcl:
tclsh platform.tcl(Remember, the Tcl shell program may not have the name tclsh on your platform. It may be something like tclsh8.0 or tclsh76.exe. Consult your Tcl documentation, and use the name which works on your computer.)
The output of the script platform.tcl is the platform name which OOMMF software uses to describe your computer. For example, when you run platform.tcl on a Silicon Graphics machine, the output is the string sgi. The platform name is used by OOMMF in index and configuration files and to name directories so that a single OOMMF installation can support multiple platform types.
Say the output of platform.tcl is foo. Then edit the file config/cache/foo.tcl to describe your computing environment to OOMMF. Follow the editing instructions found within the file. (Many of these files will work without editing. The Linux/Intel file should only require compiler selection.)
If the output of platform.tcl indicates that multiple platform names are compatible with your computer, or if you wish for OOMMF software to use a different platform name for your computer and others like it, see Managing OOMMF platform names for further instructions.
If you downloaded a distribution with pre-compiled executables, you may skip this section.
The compiling and linking of the C++ portions of OOMMF software are guided by the application pimake (``Platform Independent Make'') which is distributed as part of the OOMMF release (in the directory app/pimake/). pimake is similar in operation to the Unix utility program make, but it is written entirely in Tcl so that it will run anywhere Tcl is installed. Just as make is controlled by rules in files named Makefile or makefile, pimake is controlled by rules in files named makerules.tcl. pimake takes an optional argument on its command line which names the target to build.
If a previous OOMMF distribution has been compiled and linked from the same root directory, build the target distclean with pimake to clear away any executables and object files left behind from the compilation of the previous distribution:
tclsh app/pimake/pimake.tcl distcleanIn particular, this is required when installing a new version of OOMMF on top of an existing OOMMF distribution.
To build all the OOMMF software, run pimake in the root directory of the OOMMF distribution.
tclsh app/pimake/pimake.tcl
When pimake calls on a compiler or other software development utility, the command line is printed, so that you may monitor the build process. Assuming a proper configuration for your platform, pimake should be able to compile and link all the OOMMF software without error. If pimake reports errors, please send the output to the OOMMF developers.
The current OOMMF release does not support an installation procedure. For now, simply run the executables from the directories in which they were unpacked/built.
To start using OOMMF software, run the OOMMF bootstrap application. This may be launched from the command line interface:
tclsh app/oommf/oommf.tcl
If you prefer, you may launch the OOMMF bootstrap application app/oommf/oommf.tcl using whatever graphical ``point and click'' interface your operating system provides. By default, the OOMMF bootstrap application will start up a copy of the OOMMF application mmLaunch in a new window.
The OOMMF developers rely on reports from OOMMF users to alert them to problems with the software and its documentation, and to guide the selection and implementation of new features. To contact the OOMMF developers, send e-mail to <michael.donahue@nist.gov>.
When reporting an error, it will help the developers diagnose the problem if users cut and paste into their problem report the error message and stack trace exactly as reported by OOMMF software.