Page 1 of 1

Using Opt.ProductRule in HYSCORE Simulations

Posted: Mon Jun 21, 2021 12:24 am
by ykliao

Hello,

I'm working on a system that contains Cr(V) with several nuclei of 27Al and 31P. So I implemented Opt.ProductRule = 1 in my code to make the simulation runs faster. For different Cr(V) sites, they might have different numbers of nuclei around. I found that when the numbers of nuclei are different, the signal intensities change drastically. This makes it difficult to superimpose different sites in such cases.

I would like to ask if this is a trade-off by using ProductRule to accelerate the computation, or if there are some problems with it. I did not see this when simulating 3-pulse ESEEM. This makes me curious as to why this occurs for HYSCORE. If it is intended to be like this, do you have any suggestions to work around this?

Please let me know and thank you for your time.

I used the following code to test and see the problem

Code: Select all

Sys1 = struct('Nucs','1H,1H,1H',...
    'A',[-2 -2 4; 2 2 8; 6 6 12]);
Sys2 = struct('Nucs','1H,1H',...
    'A',[10 10 16; 14 14 20]);

Exp = struct('Field' , 1213.2,...
    'mwFreq' , 34,...
    'Sequence' , 'HYSCORE',...
    'dt' , 0.016,...
    't1' , 0.1,...
    't2' , 0.1,...
    'ExciteWidth' , 62.5,...
    'tau' ,0.1);

Sys = {Sys1, Sys2};

for i = [0,1]
    Opt.ProductRule = i;
    [x,y3,H3] = saffron(Sys1,Exp,Opt);
    [~,y2,H2] = saffron(Sys2,Exp,Opt);
    
figure ax1 = subplot(2,2,[1,3]); ax2 = subplot(2,2,2); ax3 = subplot(2,2,4); contour(ax1,H3.f1,H3.f2,abs(H3.fd+H2.fd)); plot(ax2,x{1},real(H3.td)); plot(ax3,x{1},real(H2.td)); if i == 1 title(ax1,'superimposed spectrum with product rule used', 'loses signal') title(ax2,'time domain signal of the 3 nuclei case'); title(ax3,'time domain signal of the 2 nuclei case','echo intenstities has several orders of difference') else title(ax1,'superimposed spectrum with product rule not used', 'sees all signal') title(ax2,'time domain signal of the 3 nuclei case'); title(ax3,'time domain signal of the 2 nuclei case','echo intenstities in the same order of magnitude') end end

Re: Using Opt.ProductRule in HYSCORE Simulations

Posted: Thu Jun 24, 2021 3:49 pm
by Stefan Stoll

This is indeed a bug - thanks for noticing and reporting. The scaling of the time-domain HYSCORE signal is wrong when using the product rule.

The bug is fixed in v5.2.33.


Re: Using Opt.ProductRule in HYSCORE Simulations

Posted: Mon Jun 28, 2021 12:31 am
by ykliao

Thank you very much!