Page 1 of 1

How to use Opt.HybridCoreNuclei?

Posted: Mon Dec 28, 2020 4:35 am
by IronPhoenix

In this simple example (see below: an electron interacting with two nitrogen and two boron nuclei),
I want to use matrix diagonalisation for the electron and the nitrogens, but perturbation theory for the borons.
However it seems that Opt.HybridCoreNuclei = [1 2]; is simply ignored.
What do I have to change?

clear

Sys = struct('S',1/2,'g',2,'lw',0.1);
Sys = nucspinadd(Sys,'14N',[-9 -5 -9]);
Sys = nucspinadd(Sys,'14N',[-9 -5 -9]);
Sys = nucspinadd(Sys,'11B',[+1 -1 +6]);
Sys = nucspinadd(Sys,'11B',[+1 -1 +6]);

Exp.Field = 29.0;
Exp.mwCenterSweep = [0.81 0.08];
Exp.CrystalOrientation = [0 0 0];

Opt.Method = 'hybrid';
Opt.HybridCoreNuclei = [1 2];

Opt.Verbosity = 1;

[x,y] = pepper(Sys,Exp,Opt);

plot(x,y,'b');
hold;


Re: How to use Opt.HybridCoreNuclei?

Posted: Mon Dec 28, 2020 12:35 pm
by Stefan Stoll

This is a bug, thanks for reporting! It's fixed in 5.2.29 and 6.0.0-dev.28, which should be online later today.


Re: How to use Opt.HybridCoreNuclei?

Posted: Tue Dec 29, 2020 3:23 am
by IronPhoenix

This works! Thank you too!
Would it also be possible to use second, instead of first, order perturbation theory for the remaining nuclei?


Re: How to use Opt.HybridCoreNuclei?

Posted: Wed Dec 30, 2020 10:17 am
by IronPhoenix

It seems that there is still a problem with the nuclear Zeeman interaction.
I have reported it in the Bugs forum.


Re: How to use Opt.HybridCoreNuclei?

Posted: Wed Dec 30, 2020 11:38 am
by Stefan Stoll

For Opt.HybridCoreNuclei, second-order perturbation theory is unfortunately not implemented.