magnopy.SpinHamiltonian.add_32#
method
- SpinHamiltonian.add_32(alpha: int, beta: int, nu: tuple, parameter, replace=False) None#
Adds a (three spins & two sites) parameter to the Hamiltonian.
Doubles of the bonds are managed automatically (independently of the convention of the Hamiltonian).
- Parameters:
- alphaint
Index of an atom from the (0, 0, 0) unit cell.
0 <= alpha < len(spinham.atoms.names).- betaint
Index of an atom from the nu unit cell.
0 <= beta < len(spinham.atoms.names).- nutuple of 3 int
Three relative coordinates with respect to the three lattice vectors, that specify the unit cell for the second atom.
\[\nu = (x_{\boldsymbol{a}_1}, x_{\boldsymbol{a}_2}, x_{\boldsymbol{a}_3})\]- parameter(3, 3, 3) array-like
Value of the parameter (\(3\times3\times3\) matrix).
- replacebool, default False
Whether to replace the value of the parameter if the pair of atoms
alpha, beta, nuor its double already have a parameter associated with it.
- Raises:
- ValueError
If an atom already has a parameter associated with it.
Notes
If
spinham.convention.multiple_countingisTrue, then this function adds both the bond and its double to the Hamiltonian. It will cause anValueErrorto add the double of the bond after the bond is added.If
spinham.convention.multiple_countingisFalse, then only the primary version of the bond is added to the Hamiltonian.For the definition of the primary version see Multiple counting.