radtools.ExchangeHamiltonian#

class radtools.ExchangeHamiltonian(crystal: Crystal = None, notation=None)[source]#

Exchange Hamiltonian.

By default the notation of the exchange 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():

Parameters:
crystalCrystal, optional

Crystal on which the exchange Hamiltonian is build. By default it is orthonormal lattice (CUB, \(a = 1\)) with no atoms.

notationstr or tuple of bool, optional

One of the predefined notations or list of 5 bool. See notation for details.

Attributes:
crystalCrystal

Crystal of the Hamiltonian.

Methods:

add_atom(atom)

Add atom to the Hamiltonian.

add_bond(J, atom1, atom2, R)

Add one bond to the Hamiltonian.

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 exchange Hamiltonian based on the given conditions.

force_symmetry(template)

Force the Hamiltonian to have the symmetries of the template.

forced_symmetry(template)

Force the Hamiltonian to have the symmetries of the template.

get_atom_coordinates(atom[, R])

Getter for the atom coordinates.

get_bond_vector(atom1, atom2[, R])

Getter for distance between the atom1 and atom2.

get_distance(atom1, atom2[, R])

Getter for distance between the atom1 and atom2.

input_for_magnons()

Input from Exchange model.

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.

summary_as_txt(template[, decimals, ...])

Return exchange Hamiltonian based on the template file in .txt format.

Properties:

cell

Matrix of lattice vectors.

cell_list

List of cells from the Hamiltonian.

crystal

Crystal of the Hamiltonian.

double_counting

Whether double counting is present in the Hamiltonian.

factor_one_half

Whether factor 1/2 is present in the Hamiltonian.

factor_two

Whether factor 2 is present in the Hamiltonian.

magnetic_atoms

Magnetic atoms of the model.

minus_sign

Whether the minus sign is present in the Hamiltonian.

notation

Return a string with a simple comment about the Hamiltonian notation.

number_spins_in_unit_cell

Number of spins (or magnetic atoms) in the unit cell.

space_dimensions

Model minimum and maximum coordinates in real space.

spin_normalized

Whether spin is normalized.