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!
Sys.J with Sys.dvec & Sys.eeD for more than two electrons
-
- EasySpin Creator
- Posts: 1120
- 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
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
.Re: Sys.J with Sys.dvec & Sys.eeD for more than two electron
Thanks Stefan, this clears it up.
Also another point: does
I.e. for a triangle:
Do we instruct:
or
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];
Sys.dvec = [d12; d13; d23];
or
Sys.dvec = [d12; -d13; d23];
-
- EasySpin Creator
- Posts: 1120
- 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
No, it doesn't do anything with the sign. The rows in
Internally, EasySpin converts
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