Using Opt.ProductRule in HYSCORE Simulations

General forum for EasySpin: questions, how to's, etc.
Post Reply
ykliao
User
Posts: 15
Joined: Sun Jun 20, 2021 11:56 pm

Using Opt.ProductRule in HYSCORE Simulations

Post 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
Stefan Stoll
EasySpin Creator
Posts: 1120
Joined: Mon Jul 21, 2014 10:11 pm
Location: University of Washington

Re: Using Opt.ProductRule in HYSCORE Simulations

Post 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.

ykliao
User
Posts: 15
Joined: Sun Jun 20, 2021 11:56 pm

Re: Using Opt.ProductRule in HYSCORE Simulations

Post by ykliao »

Thank you very much!

Post Reply