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

Merge process for noncollinear systems #42

Closed
wants to merge 3 commits into from

Conversation

antelmor
Copy link
Contributor

@antelmor antelmor commented Jan 30, 2024

This script merges the contributions of different rotated configurations to obtain the full exchange tensor. It can deal with non-collinear systems.

The algorithm is as follows:

Let $J_{ij}$ be the exchange tensor and $R_i$, $R_j$ the matrices that rotate the local magnetic moments into the $z$-axis. We obtain $J_{ij}' = R_i J_{ji} R_j^T$. Then, we set all the $z$ components to zero and recover the exchange tensor with
$\hat{J_{ij}} = R_i^T J_{ij}' R_j$.

In other to preserve the condition $J_{ij}(\mathbf{d}) = J_{ij}^T(-\mathbf{d})$, we need to repeat the process with the matrices $R_i$ and $R_j$ interchanged. That is, we calculate $\hat{J_{ij}}' = R_j \hat{J_{ij}} R_i^T$ and then discard all of its $z$ components. Finally, we obtain
$\tilde{J_{ij}} = R_j^T \hat{J_{ij}}' R_i$.

@antelmor antelmor closed this Mar 19, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant