Like all materials, magnets are made of atoms. What makes a magnet different from other materials is
that the electrons that surround the nuclei 'line up'. We normally think of electrons as tiny spheres,
so it's counterintuitive that there is anything to align. But, due to quantum mechanics, these
electrons have a property called spin.
Outside of quantum mechanics, spin is vector – you can think of it as an arrow pointing in
any direction with a fixed length. The spin of electrons in (anti-)ferromagnetic materials point
(anti-)parallel to other electrons. So in a normal bar magnet – which is ferromagnetic – all
of the electrons are pointing in the same direction. We can swap which way these spin vectors are
pointing by applying an electric current, or by applying a magnetic field to the bar magnet. This
is how magnetic hard drives operate; tiny magnetic regions are switched from up (
0
) to down (
1
) with electric currents.
To make more efficient memory technologies, and to create better optimized hardware for machine
learning models, we need to understand magnetic materials at the atomic level and how that affects
devices. Trying to measure single atoms in a bar magnet is hard, even for the best labs in the
world. So, scientists (including me) are trying to model them using computer programs.
Physicists broadly have two different approaches to this problem. Some study the most fundamental
quantum mechanical problems using techniques like quantum monte carlo but these are limited to
~100 atoms and it is hard to use on electrical conductors. Others study much larger systems using
finite element and finite difference methods which can be recreated in a lab. These methods can be
very good at explaining qualitatively what happens in specific experiments. But, neither of these
methods alone are good at predicting the properties of magnets that would be used for memory or logic devices
in a lab – especially when they're heated up or have lots of impurities.
My PhD research uses simulations that connect these two approaches; I model millions of individual
magnetic moments using an equation of motion derived from quantum mechanics, but the moments are
classical vectors which means the simulation can run very efficiently on GPUs. Atomistic modelling
is the only way to include temperature by using random numbers (often called a stochastic
process), which means these simulations can predict finite temperature behaviour very accurately.
The equation of motion my simulations solve is the
Landau-Liftshiz equation.
Each magnetic moment has its own equation (denoted
i
), and which is coupled to others via the magnetic
interactions.