magnopy.examples.ivuzjo#

magnopy.examples.ivuzjo(N=10, J=10)[source]#

Prepares a Hamiltonian from the paper by Ivanov, Uzdin and Jónsson.

See [1] for details. The Hamiltonian is defined as

\[\mathcal{H} = -\dfrac{1}{2} \sum_{\mu, \nu} J \left( \boldsymbol{S}_{\mu} \cdot \boldsymbol{S}_{\mu+\nu} \right) - \dfrac{1}{2} \sum_{\mu, \nu} \dfrac{J}{2} \boldsymbol{r}_{\nu} \cdot \left( \boldsymbol{S}_{\mu} \times \boldsymbol{S}_{\mu+\nu} \right) + \sum_{\mu} J \left( \boldsymbol{\hat{z}} \cdot \boldsymbol{S}_{\mu} \right)\]
Parameters:
Nint, default 10

Size of the supercell (N x N).

Jfloat, default 10

Value of the isotropic exchange in energy units (meV), sign is not ignored.

Returns:
spinhamSpinHamiltonian

Spin Hamiltonian (with magnetic field)

References

[1]

Ivanov, A.V., Uzdin, V.M. and Jónsson, H., 2021. Fast and robust algorithm for energy minimization of spin systems applied in an analysis of high temperature spin configurations in terms of skyrmion density. Computer Physics Communications, 260, p.107749.

Examples

To create an example Hamiltonian use

>>> import magnopy
>>> spinham = magnopy.examples.ivuzjo()
>>> spinham.cell
array([[10.,  0.,  0.],
       [ 0., 10.,  0.],
       [ 0.,  0.,  1.]])
>>> len(spinham.atoms.names)
100