magnopy.LSWT#
- class magnopy.LSWT(spinham, spin_directions)[source]#
Linear Spin Wave theory.
It is created from some spin Hamiltonian and set of direction vectors, that defines the ground state.
- Parameters:
- spinham
SpinHamiltonian Spin Hamiltonian.
- spin_directions(M, 3) array-like
Directions of spin vectors. Only directions of vectors are used, modulus is ignored. If spin Hamiltonian contains non-magnetic atom, then only the spin directions for the magnetic atoms are expected. The order of spin directions is the same as the order of magnetic atoms in
SpinHamiltonian.magnetic_atoms. See Notes for more details.
- spinham
- Attributes:
- z(M, 3) numpy.ndarray
Spin directions (directions of local quantization axes).
- p(M, 3) numpy.ndarray
Hybridized x and y components of the local coordinate system \(\mathbf{p} = \mathbf{x} + i \mathbf{y}\).
- Mint
Number of spins in the unit cell
- cell(3, 3) numpy.ndarray
Unit cell. Rows are vectors, columns are cartesian components.
- spins(M, ) numpy.ndarray
Spin values of the magnetic centers.
Notes
Let the spin Hamiltonian contain three atoms Cr1, Br, Cr3 in that order. Assume that two atoms are magnetic (Cr1 and Cr3), one atom is not (Br). Then
spin_directionsis a (2, 3) array withspin_directions[0]being the direction for spin of Cr1 andspin_directions[1]being the direction of spin for Cr3.Examples
>>> import magnopy >>> spinham = magnopy.examples.cubic_ferro_nn() >>> lswt = magnopy.LSWT(spinham=spinham, spin_directions=[[0, 0, 1]])
Methods
A(k[, relative, units])Computes part of the grand dynamical matrix.
B(k[, relative, units])Computes part of the grand dynamical matrix.
E_2([units])Computes the correction to the ground state energy that arises from the LSWT.
G(k[, relative])Computes transformation matrix to the new bosonic operators.
GDM(k[, relative, units])Computes grand dynamical matrix.
O([units])Computes coefficient of the one-operator terms.
delta(k[, relative, units])Computes constant delta term of the diagonalized Hamiltonian.
diagonalize(k[, relative, units])Diagonalizes the Hamiltonian for the given
kpoint.omega(k[, relative, units])Computes magnon's eigenenergies at the given
kpoint.