StollLab / EasySpin

MATLAB toolbox for Electron Paramagnetic Resonance (EPR) spectroscopy
http://easyspin.org
MIT License
48 stars 25 forks source link

User-defined Hamiltonians in non-product state basis passing "validatespinsys" #329

Open rasmustang opened 4 months ago

rasmustang commented 4 months ago

During my PhD, I have developed an algorithm to set up the Hamiltonian of arbitrary spin systems governed by double exchange in addition to the interactions currently supported by Easyspin. The algorithm also outputs the magnetic dipole operators and is therefore completely compatible with the rest of the Easyspin framework. The theoretical background of my implementation can be found in this paper: https://pubs.aip.org/aip/jcp/article-abstract/105/16/6892/182034/High-nuclearity-mixed-valence-magnetic-clusters-A.

However, the introduction of double exchange necessitates an extension of the typical product state basis to a basis that also accounts for the location of the mobile electron(s) within the spin system governed by double exchange. Furthermore, many necessary fields need to be defined differently for a system governed by double exchange, since parameters like J and D depend on the distribution of the mobile electron(s). As a concequence, the Hamiltonian output from my algorithm cannot pass "validatespinsys" and thus cannot be used with most Easyspin functions. Thus far, I have implemented some hacks to circumvent "validatespinsys" in a local version of "curry" to be able to calculate the magnetism of my newly implemented models.

NB! 22/02/2024: I am currently at the very end of my PhD and incredibly busy with writing up me thesis in time. As a consequency, I may not be super responsive until I finish in April.