Implements specifying arbitrary spin magnitudes and g-tensors by changing SpinSystem to optionally receive a Vector{SiteInfo}, where SiteInfo is a new struct specifying the spin magnitude and g-tensor for a single site.
At SpinSystem construction time, all SiteInfo are propagated to symmetry-equivalent sites in the crystal, and all interactions are effectively rescaled to account for this info. Internally, SpinSystem continues to store an array of unit vectors, with all SiteInfo accounted for by rescaling interactions.
Implements specifying arbitrary spin magnitudes and g-tensors by changing
SpinSystem
to optionally receive aVector{SiteInfo}
, whereSiteInfo
is a new struct specifying the spin magnitude and g-tensor for a single site.At
SpinSystem
construction time, allSiteInfo
are propagated to symmetry-equivalent sites in the crystal, and all interactions are effectively rescaled to account for this info. Internally,SpinSystem
continues to store an array of unit vectors, with allSiteInfo
accounted for by rescaling interactions.