magnopy.SpinHamiltonian.add_421#
method
- SpinHamiltonian.add_421(alpha: int, beta: int, nu: tuple, parameter, units=None, replace=False) None#
Adds a (four spins & two sites (3+1)) 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, 3) array-like
Value of the parameter (\(3\times3\times3\times3\) matrix). Given in the units of
units.- unitsstr, optional
Units in which the
parameteris given. Parameters have the the units of energy. By default assumesSpinHamiltonian.units. For the list of the supported units see Units of Hamiltonian's parameters. If givenunitsare different fromSpinHamiltonian.units, then the parameter's value will be converted automatically fromunitstoSpinHamiltonian.units.Added in version 0.3.0.
- 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.
See also
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.