-
Notifications
You must be signed in to change notification settings - Fork 30
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
Merge algorithm for non-collinear systems #49
Conversation
Changes2023
Hello Andres,
|
Hello @mailhexu.
|
Hello Andres, |
Hello @mailhexu. I have modified the script to rotate the structures; it can now generate the structures required for a noncollinear system. Moreover, I have created an additional script for the TB2J-SIESTA calculations, where you can globally rotate the magnetic moments contained in the density matrix file of an SIESTA calculation. This is helpful when a user wants to rotate the spins instead of the structure. Finally, I have updated the rotate_and_merge.rst file with the required documentation for all the scripts. Best, |
Thanks! |
Consider the anisotropic exchange tensor$J_{ij}$ describing the interaction between two magnetic sites with local magnetic moments $\mathbf{m}_i$ and $\mathbf{m}_j$ . Let $\hat{\mathbf{u}}_{ij}$ be a unit vector that is normal to both $\mathbf{m}_i$ and $\mathbf{m}_j$ . Then, we can only obtain the projection $\hat{\mathbf{u}}^T J_{ij} \hat{\mathbf{u}}$ with a single TB2J calculation. The latter can be written as
where we considered$J_{ij}$ to be symmetric.
If we perform six calculations such that$\hat{\mathbf{u}}_{ij}$ lies along six different directions, then we obtain six linear equations which can be solved for the six independent unknown components of $J_{ij}$ .
When$\mathbf{m}_i$ and $\mathbf{m}_j$ are parallel to each other, then we can use the components of $J_{ij}$ along the plane orthogonal to both $\mathbf{m}_i$ and $\mathbf{m}_j$ . Thus, with six different calculations, we could obtain more than six equations for the six components of $J_{ij}$ . In this case, we can obtain the tensor components by a least squares method.