magnopy.LSWT#
- class magnopy.LSWT(spinham, spin_directions)[source]#
Linear Spin Wave theory.
It is created from some spin Hamitlonian and set of direction vectors, that define the orientation of spins.
- 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
spinham.atoms.spins.
- spinham
- Attributes:
- z(M, 3) numpy.ndarray
Spin directions.
- p(M, 3) numpy.ndarray
Hybridized x and y components of the local coordinate system.
- 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.
Notes
If spin Hamiltonian contains three atoms Cr1, Br, Cr3 in that order. Assume that two atoms are magnetic (Cr1 and Cr2), 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 Cr2.Examples
>>> import magnopy >>> spinham = magnopy.examples.cubic_ferro_nn() >>> lswt = magnopy.LSWT(spinham=spinham, spin_directions=[[0, 0, 1]])
Methods:
A(k[, relative])Part of the Grand dynamical matrix.
B(k[, relative])Part of the Grand dynamical matrix.
GDM(k[, relative])Grand dynamical matrix.
G_inv(k[, relative])Inverse of the transformation matrix to the new bosonic operators.
delta(k[, relative])Constant energy term of the diagonalized Hamiltonian.
diagonalize(k[, relative])Diagonalize the Hamiltonian for the given
kpoint and return all possible quantities at once.omega(k[, relative])Properties: