Page 1 of 1

Improving simulation speed for 1/2 spin system coupled to two nuclei

Posted: Sat Nov 23, 2024 6:06 pm
by agdicationionepr

Hello,

I am simulating EPR spectra for an S = 1/2 Ag complex with superhyperfine coupling from two N atoms. Below are the simulation parameters I am using:

>> % Input file for easy spin
[B, spc] = eprload('AgII');


% Initial System for Fitting
Sys0.g = [2.20 2.07 2.03];
Sys0.S = 0.5;
Sys0.A = [70 70 70; 50 60 40; 50 40 60];
Sys0.Nucs = 'Ag, N, N'
Sys0.lw = 1;

%Initial Vary Windows
Vary.g = [0 0 0];
Vary.A = [0 50 50; 0 50 0; 0 50 50];
Vary.lw = 0;

%Experimental Parameters
Exp.Temperature = 80;
Exp.mwFreq = 9.653315
Exp.Range = [280 380]

esfit(spc,@pepper,{Sys0,Exp},{Vary})

Even if I vary g and Ax, Ay, or Az separately, the fitting is extremely slow. Is there an obvious way to speed this up?

I was thinking of pinning the values A values for both N's so they are identical and vary with the same value - any suggestions how I could do this?

Thanks in advance.


Re: Improving simulation speed for 1/2 spin system coupled to two nuclei

Posted: Sun Nov 24, 2024 2:47 am
by thanasis

Your system's Hilbert dimension is 64. This is not immense, but it does start to be significant.

Moreover, you are using the isotopic mixture of each of the nuclei, which means that several isotopologues will be calculated (8 if I am not mistaken). This will further multiply the calculation time. You could start with Sys0.Nucs = '107Ag, 14N, 14N' and, after getting a reasonably good fit, return to the Sys0.Nucs = 'Ag, N, N' definition to finalize.

Also, you could try to tie the N superhyperfines together by passing them through a custom function (if physically that makes sense, of course, for your system). This will not reduce the size of the calculation, but at least it will reduce the number of free variables that need to be fitted.


Re: Improving simulation speed for 1/2 spin system coupled to two nuclei

Posted: Sat Nov 30, 2024 7:52 am
by agdicationionepr

Great, this is helpful. Thank you!


Re: Improving simulation speed for 1/2 spin system coupled to two nuclei

Posted: Sun Dec 01, 2024 10:56 pm
by katarkon

Additionally, You may use Opt.Method='perturb' for preliminary calculations. Your spin system allow it. It should be much faster.