OOMMF User’s Guide

Chapter 3 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:

        1. 1.

          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.

        2. 2.

          Check the box next to the desired Destination Thread. This will exhibit Schedule options.

        3. 3.

          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

      1. 1.

        Select the source from the Output list.

      2. 2.

        Select the receiver from the Destination list.

      3. 3.

        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.