Sys.J with Sys.dvec & Sys.eeD for more than two electrons

General forum for EasySpin: questions, how to's, etc.
Post Reply
thanasis
Local Expert
Posts: 242
Joined: Thu Jan 21, 2016 6:28 am
Location: Strasbourg

Sys.J with Sys.dvec & Sys.eeD for more than two electrons

Post by thanasis »

In the ES documentation (http://easyspin.org/easyspin/documentat ... em.html#ee), Sys.J is defined as a 1xN array.
For 2-e systems, antisymmetric and dipolar interactions are entered into separate structures (Sys.dvec and Sys.eeD, respectively) as Nx3 arrays. This apparently causes no problems.
However, for 3 electrons and above, they have to be entered into the Sys.J structure. The problem is that Nx3 arrays need to be added (?) into a 1xN array.

Maybe I am missing something, but I believe it would be useful for the documentation to be more explicit regarding the coexistence of the symmetric, antisymmetric and dipolar parts within Sys.J for 3 electrons and above.

Thanks for considering!
Stefan Stoll
EasySpin Creator
Posts: 1050
Joined: Mon Jul 21, 2014 10:11 pm
Location: University of Washington

Re: Sys.J with Sys.dvec & Sys.eeD for more than two electron

Post by Stefan Stoll »

This is a typo in the documentation. For 3 and more electrons, the same syntax should work as for 2 electrons. I.e., you should be able to use J, dvec, and eeD.
thanasis
Local Expert
Posts: 242
Joined: Thu Jan 21, 2016 6:28 am
Location: Strasbourg

Re: Sys.J with Sys.dvec & Sys.eeD for more than two electron

Post by thanasis »

Thanks Stefan, this clears it up.

Also another point: does dvec know to inverse the sign so that Si x Sj = -Sj x Si?

I.e. for a triangle:

Code: Select all

Sys.S = [1/2 1/2 1/2];
Sys.J = [J12 J13 J23];
Do we instruct:
Sys.dvec = [d12; d13; d23];
or
Sys.dvec = [d12; -d13; d23];
Stefan Stoll
EasySpin Creator
Posts: 1050
Joined: Mon Jul 21, 2014 10:11 pm
Location: University of Washington

Re: Sys.J with Sys.dvec & Sys.eeD for more than two electron

Post by Stefan Stoll »

No, it doesn't do anything with the sign. The rows in Sys.dvec correspond to d12, d13, d14, d23, d24, d34, etc., and never d21, d31, d41, d32, etc.

Internally, EasySpin converts Sys.J, Sys.dvec, and Sys.eeD to Sys.ee, and then uses only the latter for simulations. Here is the code:

Code: Select all

    idx = 1:3;
    for iPair = 1:nPairs
      J = Sys.J(iPair);
      d = Sys.dvec(iPair,:);
      ee = J*eye(3) + ...
         [0 d(3) -d(2); -d(3) 0 d(1); d(2) -d(1) 0] + ...
         diag(Sys.eeD(iPair,:));
      Sys.ee(idx,:) = ee;
      idx = idx + 3;
    end
Post Reply