SunnySuite / Sunny.jl

Spin dynamics and generalization to SU(N) coherent states
Other
86 stars 19 forks source link

Symmetry analysis for single ion anisotropy. #17

Closed kbarros closed 2 years ago

kbarros commented 2 years ago

This includes new functions:

print_allowed_anisotropy() print_suggested_frame()

Analysis for usual exchange interactions has also been improved, with the new function:

print_allowed_couplings()

kbarros commented 2 years ago

Cole: I added your name as a reviewer just in case you were curious to see the expanded symmetry analysis. David, Xiaojian, and myself have been working closely on this, so it already has a lot of review.

ddahlbom commented 2 years ago

Sorry, apparently some of the anisotropies for the Langevin tests are formally invalid. I'll see if I can fiddle with the (largely irrelevant) crystal I put those tests on to get things working again.

ddahlbom commented 2 years ago

I added a validity check and automatic anisotropy propagation. I tested the interface in a number of different situations (creating SpinSystems with no anisotropies, invalid anisotropies, multiple anisotropies on same site), and it behaved appropriately.

Tests are passing again. For the Langevin statistics tests, I just put all the anisotropy models on an FeI2 crystal instead of the ad hoc crystal I was using before.

I think it's good go as far as tying the new symmetry analysis into Sunny's interface. Let me know if I forgot anything or you want some additional tests added.

kbarros commented 2 years ago

I think this is good to merge. Any last comments?

ddahlbom commented 2 years ago

It looks great to me.