radtools.ExchangeHamiltonian.filtered#

method

ExchangeHamiltonian.filtered(max_distance=None, min_distance=None, template=None, R_vector=None)[source]#

Create filtered exchange Hamiltonian based on the given conditions.

The result will be defined by logical conjugate of the conditions. Saying so the filtering will be performed for each given condition one by one. Note: this method is not modifying the instance at which it is called. It will create a new instance with sorted bonds and all the other attributes will be copied (through deepcopy()).

Parameters:
max_distancefloat or int, optional

Distance for sorting, the condition is <<less or equal>>.

min_distancefloat or int, optional

Distance for sorting, the condition is <<more or equal>>.

templatelist or ExchangeTemplate

List of pairs, which will remain in the Hamiltonian.

[(atom1, atom2, R), ...]
R_vectortuple of ints or list of tuples of ints

Tuple of 3 integers or list of tuples, specifying the R vectors, which will be kept after filtering.

Returns:
filtered_modelExchangeHamiltonian

Exchange Hamiltonian after filtering.

See also

filter

Modifies current object.

Notes

This method is not modifying the instance at which it is called. It creates a new instance (through deepcopy).