next up previous contents
Next: Flat cylinder Up: Basic geometries: flat cylinders Previous: Prior work   Contents


Parameterisation of geometry

To instruct OOMMF what geometry to simulate, a Tcl function (Flynt, 1999, Welch, 1999) describing a constructive solid geometry (see appendix F) needs to be written that is part of a problem configuration file. The convention chosen by OOMMF is to always operate in a geometric simulation space with internal coordinates ranging from 0 to 1 in all three dimensions (see figure  3.2). In addition, OOMMF requires knowledge about the absolute size of this simulation cell and will scale the normalised cell accordingly.

Figure 3.2: Anisotropic simulation domain. The image on the left has the physical $ x$, $ y$ and $ z$ components of the simulation domain equal to each other -- as such the inscribed geometry is a sphere -- while the image on the right has the physical $ z$ component half the size of the physical $ x$ and $ y$ components, causing the inscribed geometry to be ellipsoidal. Both inscribed geometries are described by equation F.1
\includegraphics[width=1.0\textwidth,clip]{images/anisotropic-domain}

We have found this approach counterintuitive at times and have therefore written a Python program (mifmaker) which takes the size of the object we wish to investigate in absolute units, and will then create the necessary configuration file for OOMMF automatically, including the Tcl function to describe the geometry in normalised units. To generate a problem which will simulate a cobalt cylinder of diameter 100nm and height 40nm, with a mesh resolution of 2.5nm and an in-plane applied field ranging from 500mT to -500mT in 1mT steps, we need to issue the following command to mifmaker:

mifmaker --cylinder --material=cobalt --xy=100e-9 -z 40e-9 \
         -c 2.5e-9 -h 500 -l -500 -s 1000 --direction=down

The investment in creating this ``one-shot'' approach to generating micromagnetic problems pays off when the parameter space is to be explored systematically.

When OOMMF interprets the problem configuration file, it tests each point in the normalised geometric simulation space against the geometry function. At this point, the function can return results of either $ M_s$ or zero, depending on whether or not material is present at the point of test. By inverting the results when the conditions are met, negative geometries can be built up, such as the ``antisphere'' -- a spherical hole in an otherwise solid (cubic) geometry.

$ d$The diameter of the circular or spherical part of a magnetic sample, usually measured across the $ xy$ plane

Figure 3.3: Hysteresis loop for a flat nickel cylinder of height 40nm and diameter 200nm. The points on the graph correspond to the states described in the text and figures 3.5, 3.7 and 3.8
\includegraphics[clip,width=1.0\textwidth]{images/cylinder-200-040-offset-14}


next up previous contents
Next: Flat cylinder Up: Basic geometries: flat cylinders Previous: Prior work   Contents
Richard Boardman 2006-11-28