Oxs Extension Module: CED_UniaxialAnisotropy


This is a generic Oxs extension object, derived from the Oxs_Energy class. It provides uniaxial anisotropy with second (K1) and fourth (K2) order terms. In the easy axis case (K1>0) the energy density E is computed by
E = K1|u×m|2 + K2|u×m|4,
where m is the reduced (unit) magnetization and u is the easy axis. Here the energy is zero if the magnetization is aligned with the easy axis.

In hard axis case (K1<0) the energy is offset so that the zero point occurs when the magnetization lies in the easy plane (i.e., orthogonal to the hard axis). In this case the energy density is given by

E = -K1(u·m)2 - K2(u·m)4.
Either way, the field H is computed via the relation
µ0MsH = 2K1(u·m)u + 4K2(u·m)3u,
where Ms is the saturation magnetization.

This class was written and contributed by Jürgen Zimmermann, Richard Boardman and Hans Fangohr of the Computational Engineering and Design Group, University of Southampton.


Download the header and source code files below, and follow the general Oxs extension installation instructions.


MIF 2.x files written to use this class should include a Specify block of the form
Specify CED_UniaxialAnisotropy:name {
K1 k1_value
K2 k2_value
axis anisotropy_axis
The values for the K1 and K2 parameters should be scalar field objects, and axis should be a vector field object. The only difference with respect to the stock Oxs_UniaxialAnisotropy class is the inclusion of the K2 term.



Sample results:

Output from the three example MIF files, illustrating the effect of increasing K2 relative to K1:

M vs. B, for
various K2

DISCLAIMER: This software was not developed at and is not supported by the National Institute of Standards and Technology. NIST assumes no responsibility whatsoever for its use, and makes no guarantees, expressed or implied, about its quality, reliability, or any other characteristic.

Back to Oxs extensions, or OOMMF project at NIST

This page maintained by michael.donahue@nist.gov