I see the problem is still unsolved in last version (5.2.11). Is any progress in the solving?
I found that the problem has unpleasant effect on the order of output for
pepper
if
Opt.Output='separate'
is defined. It is absolutely different for matrix, perturbation or hybrid treatment. Moreover, for last method the order changes absolutely unpredictable with including of some nuclei in
Opt.HybridCoreNuclei
.
I think the problem is the order of transition selection inside the function
resfields
. Here the script illustrating the problem
Code: Select all
Sys.g = 2;
Sys.Nucs = '14N,14N';
Sys.lwpp = [0,0.02];
Sys.A = [15; 15]; % MHz
Exp.Range=[340 348];
Exp.mwFreq = 9.65;
[Pos,Amp,Wid,Trans,Grad] = resfields(Sys,Exp);
disp(Trans);
[Pos,Amp,Wid,Trans,Grad] = resfields_perturb(Sys,Exp);
disp(Trans);
The attempt to use the list of transitions was failed.
Code: Select all
Sys.g = 2;
Sys.Nucs = '14N,14N';
Sys.lwpp = [0,0.02];
Sys.A = [15; 15]; % MHz
Exp.Range=[340 348];
Exp.mwFreq = 9.65;
[Pos,Amp,Wid,Trans,Grad] = resfields_perturb(Sys,Exp);
disp(Trans);
Opt.Transitions=Trans;
[Pos,Amp,Wid,Trans,Grad] = resfields(Sys,Exp,Opt);
disp(Trans);
This is completely unexpected. At last, if
Opt.Transitions='all'
is used the results are more strange.
Code: Select all
Sys.g = 2;
Sys.Nucs = '14N,14N';
Sys.lwpp = [0,0.02];
Sys.A = [15; 15]; % MHz
Exp.Range=[340 348];
Exp.mwFreq = 9.65;
Opt.Transitions='all';
[Pos,Amp,Wid,Trans,Grad] = resfields_perturb(Sys,Exp,Opt);
disp(Trans);
[Pos,Amp,Wid,Trans,Grad] = resfields(Sys,Exp,Opt);
disp(Trans);
[Pos,Amp,Wid,Trans,Grad] = resfields_perturb(Sys,Exp);
disp(Trans);
[Pos,Amp,Wid,Trans,Grad] = resfields(Sys,Exp);
disp(Trans);
UPD.
Opt.Transitions='all'
affects on the output order of
pepper
function too. The order of the spectra becomes less unpredictable for matrix and hybrid treatments but just differs from perturbation method.