Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
rasmustang opened this issue Feb 22, 2024 · 2 comments

Comments

@rasmustang
Copy link

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.

@stestoll
Copy link
Member

Do you have specific suggestions how validatespinsys could be modified to allow it to handle your case?

@rasmustang
Copy link
Author

I have not had the time to investigate the issue further. I guess step one would be to investigate exactly how validatespinsys works

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

No branches or pull requests

2 participants