Quick Start: Example OOMMF Session
- STEP 1: Start up the
mmLaunch window.
- At the command prompt, when you are in the OOMMF root
directory, type
tclsh oommf.tcl
(The name of the Tcl shell, rendered here as tclsh
, may
vary between systems.)
Alternatively, you may launch oommf.tcl
using
whatever “point and click” interface is provided by your operating
system.
- This will bring up a small window labeled
mmLaunch. It will come up in background mode, so you will get
another prompt in your original window, even before the
mmLaunch window appears.
- STEP 2: Gain access to other useful windows.
- The mmLaunch window is divided into two columns. The
right column provides a list of running applications. This will
normally be empty when you first start mmLaunch. The
left column, labeled “Programs,” provides a collection of
buttons that launch applications when clicked:
- mmArchive:
auto-saves tabular and field data files
- mmDataTable:
displays current values of tabular (scalar) outputs
- mmDisp:
displays scalar and vector fields
- mmGraph:
makes x-y plots
- mmProbEd:
problem editor for mmSolve2D or Oxsii
- mmSolve2D:
2D solver interactive interface
- Oxsii:
3D solver interactive interface
- Click on mmDisp, mmGraph, and/or
mmDataTable, depending on what form of output you
want to view. Use mmArchive to save data to disk.
- STEP 3a: Run a 2D problem.
- Load problem:
-
- In the mmLaunch window, click on the mmProbEd
button.
- In the
mmProbEd
window, make menu selection
File|Open... An Open File dialog window
will appear. In this window:
- Double click in the Path subwindow to change
directories. Several sample problems can be found in
the directory oommf/app/mmpe/examples.
- To load a problem, double click on a *.mif file
(e.g., prob1.mif) from the list above the Filter:
subwindow.
- Modify the problem as desired by clicking on buttons from
the main mmProbEd window (e.g., Material
Parameters), and fill out the pop-up forms. A
completely new problem may be defined this way.
- If desired, the defined problem may be stored to disk via
the File|Save as... menu selection. The 2D
solver mmSolve2D reads problem definitions directly
from mmProbEd, but Oxsii requires file input.
- Initialize solver:
-
- In the mmLaunch window, click on the mmSolve2D
button to launch an instance of the program
mmSolve2D.
- Wait for the new solver instance to appear in the
Running Applications column in the mmLaunch window.
- Check the box next to the mmSolve2D entry in the
Running Applications
column. A window containing an mmSolve2D interface
will appear.
- In the mmSolve2D window:
- Check Problem Description under Inputs.
- Check mmProbEd under Source Threads.
- Click LoadProblem.
- A status line will indicate the problem is loading.
- When the problem is fully loaded, more buttons appear.
- Check Scheduled Outputs.
- For each desired output (TotalField, Magnetization,
and/or DataTable), specify the frequency of update:
- Check desired output. This will exhibit the possible
output destinations under the Destination Threads
heading. Output applications such as mmDisp,
mmGraph, and/or mmDataTable must be running
to appear in this list.
- Check the box next to the desired Destination Thread.
This will exhibit Schedule options.
- Choose a schedule:
- Iteration: fill in number and check the box.
- ControlPoint: fill in number and check the box.
- Interactive: whenever you click corresponding
Interactive output button.
- Start calculation:
-
- In the mmSolve2D window, start the calculation with
Run (which runs until problem completion) or
Relax (which runs until the next control point is
reached).
- If you requested mmDataTable output, check the boxes for the
desired quantities on the
mmDataTable
window under
the Data menu, so that they appear and are updated as
requested in your schedule.
- Similarly, check the box for the desired X, Y1, and Y2
quantities on the
mmGraph
window(s) under the X, Y1 and Y2 menus.
- Save and/or display results:
-
- Vector field data (magnetization and effective field) may be
viewed using mmDisp. You can
manually save data to disk using
the File|Save as... menu option in
mmDisp, or you can send scheduled output to
mmArchive for
automatic storage. For example, to save the magnetization
state at the end of each control point, start up an instance
of mmArchive and select the ControlPoint check box for
mmArchive on the Magnetization schedule in the
solver. This may be done before starting the calculation.
(Control points are points in the simulation where the applied
field is stepped. These are typically
equilibrium states, but
depending on the input *.mif file, may be triggered by
elapsed simulation time or iteration count.)
- Tabular data may be saved by
sending scheduled output from the
solver to mmArchive,
which automatically saves all the data it receives.
Alternatively, mmGraph can be used to save a subset of
the data: schedule output to mmGraph as desired, and
use either the interactive or automated save functionality
of mmGraph. You can set up the solver data scheduling
before the calculation is started, but you must wait for the
first data point to configure mmGraph before saving
any data. As a workaround, you may configure mmGraph
by sending it the initial solver state interactively, and
then use the Options|clear Data menu item in
mmGraph to remove the initializing data point. If you
want to inspect explict numeric values, use
mmDataTable, which
displays single sets of values in a tabular format.
mmDataTable has no data save functionality.
- Midcourse control:
-
- In the mmSolve2D window, buttons can stop and restart the
calculation:
- Reset: Return to beginning of problem.
- LoadProblem: Restart with a new problem.
- Run: Apply a sequence of fields until all complete.
- Relax: Run the ODE at the current applied field until
the next control point is reached.
- Pause: Click anytime to stop the solver. Continue
simulation from paused point with Run or Relax.
- Field: Apply the previous field again.
- Field: Apply the next field in the list.
- Output options can be changed and new output windows opened.
- When the stopping criteria for the final control point are
reached, mmSolve2D will pause to allow the user to
interactively output final results.
- STEP 3b: Run a 3D problem.
- Launch solver:
-
- In the mmLaunch window, click on the Oxsii
button to launch an instance of the program
Oxsii.
- Wait for the new solver instance to appear in the
Running Applications column in the mmLaunch window.
- Check the box next to the Oxsii entry in the
Running Applications
column. A window containing an Oxsii interface will
appear.
- Load problem:
-
- In the Oxsii window, select the
File|Load... menu option. A Load Problem
dialog box will appear. On this window:
- Double click in the Path subwindow to change
directories. Numerous sample problems can be found in
the directory oommf/app/oxs/examples.
- To load a problem, double click on a *.mif file
(e.g., stdprob1.mif) from the list above the Filter:
subwindow.
The native input format for the 3D solver is the
MIF 2
format, which must be composed by hand using a plain text
editor. (See the Oxs_Ext Child Class documentation for additional
details.) However, MIF 1.1 (i.e., 2D problem) files are
readable by Oxsii, or may be converted to the MIF 2.1
format using the command line tool
mifconvert.
mmProbEd
also supports an extension to the MIF 1.1
format, namely MIF 1.2, which provides limited 3D
functionality. MIF 1.2 files may also be read directly by
Oxsii. Either way, to run in Oxsii a problem
created by mmProbEd, the problem must first be saved to
disk via the File|Save as... menu option in
mmProbEd.
- The status line in the Oxsii interface window will
indicate the problem is loading.
- When the problem is fully loaded, the status line will
show “Pause”, and the top row of buttons (Reload,
Reset, ...) will become active. Also, the
Output list will fill with available outputs.
- Set up scheduled outputs. For each desired output
- Select the source from the Output list.
- Select the receiver from the Destination list.
- Specify the frequency of update:
- Step: fill in number and check the box.
- Stage: fill in number and check the box.
- Done: produces output when problem completes.
You can also transmit data interactively by clicking on the
Send.
The items in the Output list will vary depending on the
problem that was loaded. The items in the Destination list
reflect the OOMMF data display and archiving programs currently
running.
- Start calculation:
-
- In the Oxsii window, start the calculation with
Run, Relax, or
Step.
- If you requested mmDataTable output, check the boxes for the
desired quantities on the
mmDataTable
window under
the Data menu, so that they appear and are updated as
requested in your schedule.
- Similarly, check the box for the desired X, Y1, and Y2
quantities on the
mmGraph
window(s) under the X, Y1 and Y2 menus.
- Save and/or display results:
-
- Vector field data (magnetization and fields) may be
viewed using
mmDisp.
You can
manually save data to disk using
the File|Save as... menu option in mmDisp,
or you can send scheduled output to
mmArchive for
automatic storage. For example, to save the magnetization state
at the end of each problem stage, start up an instance of
mmArchive and select the
Stage check box for
the Magnetization output, mmArchive destination pair.
(Stages denote points in the simulation where some
significant event occurs, such as when an equilibrium is
reached or some preset simulation time index is met.
These criteria are set by the input MIF file.)
- Tabular data may be saved by sending
scheduled output from the solver to
mmArchive, which
automatically saves all the data it receives. Alternatively,
mmGraph can be used to save a subset of the data:
schedule output to mmGraph as desired, and use either the
interactive or automated save functionality of mmGraph.
You can set up the solver data scheduling before the
calculation is started, but you must wait for the first data
point to configure mmGraph before saving any data. As a
workaround, you may configure mmGraph by sending it the
initial solver state interactively, and then use the
Options|clear Data menu item in mmGraph to
remove the initializing data point. If you want to inspect
explict numeric values, use
mmDataTable, which
displays single sets of values in a tabular format.
mmDataTable has no data save functionality.
- Midcourse control:
-
- In the Oxsii window, buttons can stop and restart the
calculation:
- Reload: Reload the same file from disk.
- Reset: Return to problem start.
- Run: Step through all stages until complete.
- Relax: Run until the current stage termination
criteria are met.
- Step: Do one solver iteration and then pause.
- Pause: Click anytime to stop the solver. Continue
simulation from paused point with Run, Relax or
Step.
- Stage: Interactively change the current stage
index by either typing the desired stage number (counting
from 0) into the Stage entry box or by moving the
associated slider.
- Output options can be changed and new output windows
opened. The Send button in the Oxsii Schedule
subwindow is used to interactively send output to the
selected Output + Destination pair.
- When the stage termination (stopping) criteria of the
final stage are met, Oxsii will pause to allow the
user to interactively output final results via the
Send button. (This differs from the
Boxsi
batch interface which terminates automatically when the
final stage is complete.)
- STEP 4: Exit OOMMF.
- Individual OOMMF applications can be terminated by selecting
the File|Exit menu item from their interface window.
- Selecting File|Exit on the mmLaunch window
will close the mmLaunch window, and also the interface
windows for any mmArchive, mmSolve2D, and Oxsii
applications. However, those applications will continue to run
in the background, and their interfaces may be re-displayed by
starting a new mmLaunch instance.
- To kill all OOMMF applications, select the
File|Exit All OOMMF option from the mmLaunch
menu bar.
OOMMF Documentation Team
September 27, 2024