OOMMF is a micromagnetic simulation package developed by National
Institute of Standards and Technology (NIST,
US). By default this software assumes open boundary conditions. To
extend this functionality, three new modules have been written:
Klm_UniformExchange, Klm_SimpleDemag_PBC, & Klm_Demag_PBC. They
enable usage of periodic boundary conditions is one dimension (1D
PBC). The 1D periodicity direction is assumed to be parallel to the
z-axis.
The exchange module has a simple structure, to use the PBC
you just have to put one additional parameter (see below).
The
demagnetization modules are much more complicated. For detailed
description see the help file. In brief: the infinite set of images
of the considered sample leads to infinite summation of
demagnetization tensors. This sum is calculated by dividing the space
into three domains, in every this region the calculation is performed
in a different way. No range cut-off is introduced, thus the long
range of the dipolar interaction is preserved. These issues are
described in deep in following paper:
K.M. Lebecki, M.J. Donahue, M.W.
Gutowski,
Periodic
boundary conditions for demagnetization interactions in micromagnetic
simulations,
J. Phys.
D. 41 (2008) 175005,
doi: 10.1088/0022-3727/41/17/175005.
The code was written by Kristof Lebecki during PhD studies at Institute of Physics, Polish Academy of Sciences. With great help of Michael Donahue of NIST. Basing on “original” OOMMF modules written by MD.
Installation
In this
directory you can find the distributions. Take the latest version
(largest number) and extract it. Look at the help file and follow the
installation instructions inside. Follow the general
Oxs extension installation instructions, as well.
Attention:
you will have to re-compile OOMMF. You will be forced to use MIF 2.x
file format, as well (no simple graphical interface as mmSolve2D).
Usage
The explanations are made here as simple as possible, describing only subset of parameters.
Usage of the Klm_UniformExchange is easy. As you see, the only difference with respect to the stock Oxs_UniformExchange class is the recognition of additional kernel parameter value.
Specify
Klm_UniformExchange:name {
kernel “6ngbrzperiod”
}
Usage of the Klm_Demag_PBC is much more complex (Klm_SimpleDemag_PBC is rather intended for testing). If used with no parameters, as below, it will calculate the necessary tensor element values assuming the sample has z-periodicity equal to its z-length:
Specify Klm_Demag_PBC:name {}
Usage of both classes should not introduce any significant computation speed degradation, as compared to the appropriate Oxs_* classes... with one exception: the initialization stage of the *_Demag_PBC classes takes much longer. Helpful can be here additional parameters, see the help file for details.
Details
* Actual affiliation: see my home page.
Sample results
Making small changes in the
distributed sample MIF file, one can simulate the coercivity for an
infinite rod. Below are such values, calculated for different rod
radii, compared to the theory. See also:
- E.H. Frei, S.
Shtrikman, D. Treves, Phys. Rev. 106 (1957)
446.
- A. Aharoni, S. Shtrikman, Phys. Rev. 109
(1958) 1522.
- K.M. Lebecki,
M.J. Donahue, M.W. Gutowski, J.
Phys. D. 41 (2008)
175005.
Kristof Lebecki(ot)uni-konstanz.de
25-8-2009
Back to my
home page.