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