Overview
The batch solver script batchsolve.tcl provides a simple
command line interface to the OOMMF micromagnetic solver engine.
Launching
The batch solver is launched by the command line:
tclsh app/oommf/oommf.tcl batchsolve [-notk] [[-file] <filename.mif>] \ [-no_interface] [-start_paused] [-end_paused] [-end_exit]where
The input filename.mif file should contain a Micromagnetic Input Format (MIF) problem description, such as produced by mmProbEd. The batch solver searches several directories for this file, including the current working directory, the data and scripts subdirectories, and parallel directories relative to the directories app/mmsolve and app/mmpe in the OOMMF distribution. Refer to the mif_path variable in batchsolve.tcl for the complete list.
If batchsolve.tcl registers itself with the account service directory application, it will appear in the Threads list of any running copy of mmLaunch, and mmLaunch will provide an interactive interface on behalf of batchsolve.tcl. Using this interface, batchsolve.tcl may be controlled in a manner similar to mmSolve2D. The interface allows you to pause, un-pause, and terminate the current simulation, as well as to attach data display applications to monitor the solver's progress. If more interactive control is needed, mmSolve2D should be used.
Use the -start_paused
switch to monitor the progress of
batchsolve.tcl from the very start of a simulation. With this
switch the solver will be paused immediately after loading the
specified MIF file, so you can bring up the interactive interface
and connect display applications before the simulation begins. Start the
simulation by selecting the Run command from the interactive
interface.
The -end_paused
switch insures that the solver does
not automatically terminate after completing the specified
simulation. This is not generally useful, but may find application
when batchsolve.tcl is called from inside a Tcl-only wrapper
script.
Output
The output may be changed by a Tcl wrapper script, but the default output behavior
of batchsolve.tcl is to write tabular text data and the
magnetization state at equilibrium for each applied field step. The
tabular data are appended to the file basename.odt, where
basename is specified in the input MIF file. See the routine
GetTextData in batchsolve.tcl for details, but at
present the output consists of the solver iteration count, nominal
applied field B, reduced magnetization m, and total energy. This
output is in the ODT file format.
The magnetization data are written to a series of OVF (OOMMF Vector Field) files, basename.field nnnn.omf, where nnnn starts at 0000 and is incremented at each applied field step. (The ASCII header inside each file records the nominal applied field at that step.) These files are viewable using mmDisp.
Programmer's interface
In addition to directly launching batchsolve.tcl from the command
line, it may also be sourced from inside another Tcl script, e.g.,
batchslave.tcl, that provides additional control structures.
There are several variables and routines inside batchsolve.tcl
that may be accessed and redefined from such a wrapper script to
provide enhanced functionality.
Global variables
Batchsolve procs
The following Tcl procedures are designed for external use and/or
redefinition: