radtools.SpinHamiltonian#
- class radtools.SpinHamiltonian(crystal: Crystal = None, notation=None, **kwargs)[source]#
Spin Hamiltonian.
By default the notation of the spin Hamiltonian is not defined and could be different in different context. However, in could always be checked via
notation. In user-specific cases it is the responsibility of the user to set the interpretation of the Hamiltonian`s notation.For the predefined notations see
notation().Child of the
Crystalclass.Changed in version 0.8.0: Renamed from SpinHamiltonian to SpinHamiltonian.
- Parameters:
- crystal
Crystal, optional Crystal on which the spin Hamiltonian is build. By default it is cubic (\(a=1\)) lattice with no atoms.
- notationstr or tuple of two bool and one float, optional
One of the predefined notations or tuple with custom notation. See
notationfor details.- **kwargs
Keyword arguments for the
Crystalconstructor.
- crystal
Notes
You can still use the old name, but it is deprecated and will be removed in the future.
Methods:
add_atom([new_atom, relative])Add atom to the crystal.
add_bond(atom1, atom2, R[, J])Add one bond to the Hamiltonian.
converge_mag_dipdip_energy([start, step, ...])Converge magnetic dipole-dipole energy.
ferromagnetic_energy([theta, phi])Compute energy of the Hamiltonian assuming ferromagnetic state.
filter([max_distance, min_distance, ...])Filter the exchange entries based on the given conditions.
filtered([max_distance, min_distance, ...])Create filtered spin Hamiltonian based on the given conditions.
Detect primitive cell.
form_model(template)Force the Hamiltonian to have the symmetries of the template.
formed_model(template)Form the model from the Hamiltoian based on the template.
get_atom(name[, index, return_all])Return atom object of the crystal.
get_atom_coordinates(atom[, R, index, relative])Getter for the atom coordinates.
get_distance(atom1, atom2[, R, index1, ...])Getter for distance between the atom1 and atom2.
get_vector(atom1, atom2[, R, index1, ...])Getter for vector from atom1 to atom2.
input_for_magnons([nodmi, noaniso, custom_mask])Input from the spin Hamiltonian.
lattice_points([relative, reciprocal, normalize])Compute lattice points
mag_dipdip_energy(na, nb, nc[, progress_bar])Computes magnetic dipole-dipole energy.
remove_atom(atom)Remove magnetic atom from the Hamiltonian.
remove_bond(atom1, atom2, R)Remove one bond from the Hamiltonian.
set_interpretation([double_counting, ...])Set the interpretation of the Hamiltonian`s notation.
type([eps_rel])Identify the lattice type.
voronoi_cell([reciprocal, normalize])Computes Voronoi edges around (0,0,0) point.
Properties:
Length of the first lattice vector \(\vert\vec{a}_1\vert\).
First lattice vector \(\vec{a}_1\).
Second lattice vector \(\vec{a}_2\).
Third lattice vector \(\vec{a}_3\).
Angle between second and third lattice vector.
Length of the second lattice vector \(\vert\vec{a}_2\vert\).
First reciprocal lattice vector.
Second reciprocal lattice vector.
Third reciprocal lattice vector.
Angle between first and third lattice vector.
Length of the third lattice vector \(\vert\vec{a}_3\vert\).
Unit cell of the lattice.
List of cells from the Hamiltonian.
Centring type.
Length of the first vector of the conventional cell.
First vector of the conventional cell.
Second vector of the conventional cell.
Third vector of the conventional cell.
Angle between second and third conventional lattice vector.
Length of the second vector of the conventional cell.
Angle between first and third conventional lattice vector.
Length of the third vector of the conventional cell.
Conventional cell.
Angle between first and second conventional lattice vector.
Return conventional cell parameters.
Volume of the conventional unit cell.
Crystal of the Hamiltonian.
Crystal family.
Whether double counting is present in the Hamiltonian.
Epsilon parameter.
Relative epsilon
Whether any factor is present in the Hamiltonian.
Angle between first and second lattice vector.
Length of the first reciprocal lattice vector \(\vert\vec{b}_1\vert\).
Angle between second and third reciprocal lattice vector.
Length of the second reciprocal lattice vector \(\vert\vec{b}_2\vert\).
Angle between first and third reciprocal lattice vector.
Length of the third reciprocal lattice vector \(\vert\vec{b}_3\vert\).
Angle between first and second reciprocal lattice vector.
Instance of
Kpointswith the high symmetry points and path.Lattice of the crystal.
Magnetic atoms of the model.
Human-readable name of the Bravais lattice type.
Tuple of the notation.
Human-readable representation of the notation.
Number of spins (or magnetic atoms) in the unit cell.
Return cell parameters.
Pearson symbol.
Reciprocal cell.
Volume of the reciprocal cell.
Return reciprocal cell parameters.
Model minimum and maximum coordinates in real space.
Whether spin is normalized.
Volume of the unit cell.
Variation of the lattice, if any.