Closed GavinPhD closed 5 years ago
Hey Gavin,
Is there any chance of getting the color bar to go along with the plots?
Also, in the spectra
structure returned from obj.spinwave
can you find the corresponding H=0 index in index = all(spectra.hkl == [0 ; 0; 0], 1)
and check the difference in the spectra.Sab(:,:,:,index)
.
There is no reason why the intensities should be different as point calculation is non-contiguous, so I'm guessing something has happened with plotting.
Hey Simon, Thanks for the quick response. I checked Sab for H=0 on both and they seem to have the same values (clips 1 and 2 below). After posting the plots above, I realized that I hadn't checked the color scale. Turns out they were different, however, remedying that did not fix the intensity discrepancy. I have included the plots with colorbars below.
H00 Sab and hkl values:
H-H0 Sab and hkl values:
H00 Spectra with colorbar:
H-H0 Spectra with colorbar:
Can you try:
spectra = obj.spinwave({[-1.5 0 0], [0 0 0], [1.5 -1.5 0], 301})
This will be traversing all Q vectors at once. Then:
spec = sw_neutron(spec);
spec = sw_egrid(spec,'component','Sperp')
figure;
sw_plotspec(spec)
This will give the correct output (I hope!). If it does, then the difference comes from either different components or convolution doing something with normalization.
I ran the code you gave and got the left plot below, which looks fine. However, I found that when I enabled the g-tensor in obj.spinwave, I suddenly get the intensity discrepancy (right plot below), so it seems it may be deeper issue.
Hey Gavin, I've been looking into this and can see theoretically where it arises. Is it possible that you could email me the script so that I can do a bit more testing of the specific problem? Then I'll report back :-)
I've played around with the code and think it is a peculiarity with the system, where there is a singularity at [0, 0, 0]
. I cant say why it occurs, but if you look at the structure factor maps the same thing happens at [0, 0, 0]
but along [0, K, 0]
with out the g-tensor albeit a far lesser extent.
Horace code
You can use the Horace interface and play around with this and see if it makes sense.
horaceObj = d4d(obj.abc,[1 0 0 0],[-0.5,0.05,0.5],[0 1 0 0],[-0.5,0.05,0.5],[0 0 1 0],[-0.5,0.05,0.5],[0 0 0 1],[0,0.01,10]);
horaceObj = disp2sqw_eval(horaceObj,@obj.horace,{'component','Sperp','gtensor',true}, 0.09);
horaceObj2 = d4d(obj.abc,[1 0 0 0],[-0.5,0.05,0.5],[0 1 0 0],[-0.5,0.05,0.5],[0 0 1 0],[-0.5,0.05,0.5],[0 0 0 1],[0,0.01,10]);
horaceObj2 = disp2sqw_eval(horaceObj2,@obj.horace,{'component','Sperp','gtensor',false}, 0.09);
[H, K, 0]
plane
With g-tensor | Without g-tensor |
---|---|
[H, 0, L]
plane
With g-tensor | Without g-tensor |
---|---|
[0, K, L]
plane
With g-tensor | Without g-tensor |
---|---|
Thanks for looking into that, Simon. I am not sure why there would be a singularity at (0, 0, 0) for this system (as we definitely don't see one experimentally). If I happen to discover why that exists at some point I will let you know.
I have two plots (shown below) that seem to have a discrepancy for what the intensity should be at a given reciprocal lattice point (0,0,0). If you look at the [-HH0] slice below it is much higher intensity at H=0 then the [H00] slice below. Is there something in the way the spectra is being calculated that would cause this?