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.