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.
|
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 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.
The diameter of the circular or spherical part of a magnetic sample, usually measured across the plane
|