SpinDynamica support > Simulations

Simulating spectrum with Hamiltonian involving one spin 1 particle in 2 spin sys

(1/1)

1K:
I attempt to simulate the spectrum from my Hamiltonian:

H0t[\[Beta]_] :=  2 \[Pi] 10^3 Sqrt/  4 (3/5 \[Omega]d*(3 Cos[\[Beta]]^2 - 1)*opT[2, {2, 0}]* opT [1, {2, 0}] +  cf ((3 Cos[\[Beta]]^2 - 1)*opT [1, {2, 0}] +  s/Sqrt  (-(3/2) Sin[\[Beta]]^2*opT[1, {2, 2}] -  3/2 Sin[\[Beta]]^2*opT[1, {2, -2}]))) ,
with SetSpinSystem[{{1, 1}, {2, 1}}].

However, it took an exceptionally long time to simulate. So I tried simulating only the part of the Hamiltonian which only involves a single spin 1 particle:

H0t[\[Beta]_] :=  2 \[Pi] 10^3 Sqrt/  4 cf*((3 Cos[\[Beta]]^2 - 1)*opT [1, {2, 0}] +  s/Sqrt *(3*Sin[\[Beta]]^2*opT[1, {2, 2}] +  3*Sin[\[Beta]]^2*opT[1, {2, -2}]))
and the spectrum showed that there is an additional line in the middle of the spectrum.

I then changed the spin system to SetSpinSystem[{{1, 1}}] and re-simulated this partial Hamiltonian and the middle line disappears. So I was wondering where does the middle line come from?

MalcolmHLevitt:
Hello 1K.

Please include complete code or an attached notebook when posting a question to the forum. Your post does not contain enough information to inform other users precisely what you are doing.

The answer to your first question is probably that you have left some coefficients of the Hamiltonian symbolic, and so Signal1D attempts to find a symbolic rather than a numerical solution. This is taking too much time. SpinDynamica v2.5.5 includes a trap to catch such inappropriate usage.

The answer to the second questions is that by default, Signal1D uses observables for all spins in the system. If you have extra spins in the system, that are not used, they do not evolve, and hence generate extra peaks at zero frequency in the spectrum. You can specify which spins are observable by using the Observable option of Signal1D. For example, if you use SetSpinSystem, then you can only observe spin #2 by using the option Observable->2, and you can only observe spins #1 and #3 by Observable->{1,3}. In general you can specify Observable->op, where op is any operator.