radtools.MagnonDispersion#

class radtools.MagnonDispersion(model: SpinHamiltonian, Q=None, n=None, nodmi=False, noaniso=False, custom_mask=None)[source]#

Magnon dispersion wrapper.

Parameters:
modelSpinHamiltonian

Spin Hamiltonian.

Q(3,) array-like

Ordering wave vector of the spin-spiral. In relative coordinates with respect to the model`s reciprocal cell. It rotates spins from unit cell to unit cell, but not from atom to atom in (0, 0, 0) unit cell.

n(3,) array-like, optional

Global rotational axis. If None provided, then it is set to the direction of Q.

nodmibool, default=False

If True, then DMI is not included in the dispersion.

noanisobool, default=False

If True, then anisotropy is not included in the dispersion.

custom_maskfunc

Custom mask for the exchange parameter. Function which take (3,3) numpy.ndarray as an input and returns (3,3) numpy.ndarray as an output.

Attributes:
Q(3,) numpy.ndarray

Ordering wave vector of the spin-spiral. in absolute coordinates in reciprocal space.

n(3,) numpy.ndarray

Global rotational axis.

Nint

Number of magnetic atoms.

J_matrices(M,) numpy.ndarray

Exchange parameters.

i(M,) numpy.ndarray

Indices of the first atom in the exchange pair.

j(M,) numpy.ndarray

Indices of the second atom in the exchange pair.

d(M, 3) numpy.ndarray

Vectors from the first atom to the second atom in the exchange pair.

S(N, 3) numpy.ndarray

Spin vectors.

u(N, 3) numpy.ndarray

Defined from local spin directions.

v(N, 3) numpy.ndarray

Defined from local spin directions.

Methods:

A(k)

Computes A(k) matrix.

B(k)

Computes B(k) matrix.

C()

Computes C matrix.

J(k)

Computes J(k) matrix.

h(k)

omega(k[, zeros_to_none, return_G, ...])

Computes magnon energies.

omegas(kpoints[, zeros_to_none])

Dispersion spectra.