The numerical micromagnetic model represents the magnetisation within a structure by 3D Cartesian vectors (each of unit length) placed at the N vertices of a finite element (FE) mesh. Tetrahedral elements are employed to reduce the discretisation error. The size of the computational cell is governed by the micromagnetic quantity termed the exchange length, which restricts the maximum cell size.
Equilibrium magnetic domain structures are determined by a minimisation of the total free magnetic energy of the system, which is achieved by integration of the Landau-Lifshitz-Gilbert (LLG) equation of motion. Dynamical solutions require the LLG equation of motion to be solved for every time step. The total effective field contributions include a computationally intensive non-local (magnetostatic) field calculation, and also the local exchange, anisotropy and externally applied field calculations. Of the previous four component fields only the magnetostatic field is non-trivial. It is also the most computationally intensive part in the determination of the total effective field. A finite volume approach is employed to calculate the exchange and anisotropy fields and is essentially determined by multiplication of the stiffness matrix by the global magnetisation vector.
The magnetostatic field is solved via a scalar potential approach. This requires the solution of the Poisson equation for the divergence of the magnetisation and solution of the Laplace equation for the boundary vertices. An efficient boundary element method is employed to approximate the long-range interaction. Both equations are discretised using a Galerkin scheme for a linear finite element solution of the equations. The solution is obtained via a standard conjugate gradient solver. The storage required in the solution of the Poisson equation is extremely sparse hence efficient sparse matrix methods are essential. Also, the tetrahedral finite element basis functions provide an efficient way of calculating the remaining three component fields by simple sparse matrix-vector multiplication. Bespoke sparse matrix management is required due to the data layout which arises from the efficient construction of the initial finite element basis functions.
However, the matrix arising from the boundary element approximation
to the long-range interaction is of size , where
is the number of vertices
on the material boundary. In a parallel code this dense matrix can be distributed
efficiently amongst each individual processing unit. Integration of the stiff
system of ordinary differential equations (ODEs) arising from the LLG equation of
motion requires an implicit solver and thus requires the approximate inverse to a
sparse
system of linear equations. The use of explicit methods would be
ineffective due the restrictive size of the time-step controlled by the stiffness of the
system. The implicit method is a variable order solver which is based
on a multi-step backward Euler method with variable coefficients.
Chris Maynard 2011-06-08