SunnySuite / Sunny.jl

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

Support measurements of AC susceptibility #61

Closed kbarros closed 11 months ago

kbarros commented 1 year ago

Analogous to our features for measuring $S(q,\omega)$ from the classical spin dynamics, we could provide tools for measuring the AC susceptibility. One would need to apply a dynamically oscillating field,

$$ \mathbf{h} = \mathbf{H}_0 \cos(\omega t), $$

and then measure the response of the average system magnetization $\mathbf{m}$. The real and imaginary parts of the susceptibility are

$$ \begin{align} \chi'(\omega) &= \frac{1}{H_0 T_0} \int_0^{T_0} \mathbf{m}(t) \cos(\omega t) dt \ \chi''(\omega) &= \frac{1}{H_0 T_0} \int_0^{T_0} \mathbf{m}(t) \sin(\omega t) dt \end{align} $$

where $T_0 = 2\pi/\omega$. For this calculation, a Langevin dynamics is required to avoid energy accumulation, and the strength of the Gilbert damping is relevant.

Reference: https://doi.org/10.1088/2053-1591/ab488c

kbarros commented 1 year ago

To what extent can $\chi'$ and $\chi''$ be extracted from a LSWT calculation?

Lazersmoke commented 1 year ago

@kbarros I would like to support this by generalizing SampledCorrelations to accept a user-provided integrator, which it will use in place of ImplicitMidpoint on this line:

https://github.com/SunnySuite/Sunny.jl/blob/e643f38f9cefe6e0402a9040361950e795a43dd5/src/SampledCorrelations/CorrelationSampling.jl#L38

In this case, the user's integrator would apply a time-varying magnetic field (simply a new field at each time step). The susceptibility can then be read off from the correlations. We also would need to generalize Langevin (or let the user write a different integrator) which applies the AC magnetic field between taking samples. Unclear to me at this time if we need the thermal bath happening where we currently have ImplicitMidpoint for the correlations. Also, it will be important that the user can specify the time of the trajectory to be exactly T_0.

kbarros commented 11 months ago

In the linear response regime, it seems we can look at dynamical correlations, and do not need an explicit applied time-varying field. Hopefully this will take care of most use cases.

One could ask hypothetically about nonlinear response. Is there an actual demand for this feature? I propose we explore it in SunnyContributed.