Page 1 of 1
Potential bug with curry soc
Posted: Tue Sep 26, 2023 4:08 am
by MPerfetti
I am trying to calculate the magnetization (or magnetic susceptibility) of a system composed by a Eu3+ ion coupled with a radical. The script did not seem to work and the calculation done by curry seems incosistent with the energy level structure and the EPR calculation performed with pepper.
I have analysed the problem by dividing it into blocks. The problem seems to arise from the SOC.
A simpler system is:
L=3, S=3, and soc=200 cm-1. Considering the sign of SOC (+SOCLS), I would expect the chiT to be very low (ca. 0, except for the Zeeman mixing). I get a chiT of ca. 12 emuKmol-1. I have calculated this value from CGS units, SI units and even from M in mub and it always gives the same.
Significantly, if I reverse the sign of the soc I also do not get any meaninful value (and I get a value that is LOWER than the one with positive SOC).
The case with negative SOC should lead to the electronic structure of Tb3+ (i.e. costant chiT = 11.82 emuKmol-1). I have also tried other L and S values and the problem persists (i.e. it is not fixed by changing the sign of SOC). Increasing soc makes the situation worst.
Hereafter the script.
Thank you in advance!
Mauro
Sys.S=[3];
Sys.L=[3];
Sys.soc=[200]clight1e-4;
Sys.g=[2];
Exp.Field = 100
Exp.Temperature = linspace(2,300,500);
Opt.Output='ChiTCGS';
[chitsim] = curry(Sys,Exp,Opt);
plot(Exp.Temperature,chitsim, '-k', 'Linewidth',2)
Re: Potential bug with curry soc
Posted: Sun Oct 01, 2023 3:38 am
by Lorenzo74
Dear Mauro, dear Stefan,
it looks like the problem is in the way ES deals with the Zeeman effect of the orbital angular momentum, which is apparently fixed at gL=-1 instead of the correct gL=1. This is quite clear if one calculates the same system assuming two spins (of which one simulates an orbital momentum): the correct chi or chiT is calculated when fixing g(S2)=1, while the wrong one, identical to that obtained by using the S,L basis with soc, is obtained when fixing gL=-1. I attach below the testing script.
Code: Select all
%Calculation with S, L basis
Europium.S=3
Europium.L=3
Europium.soc=300*clight*1e-4
Exp.Field = 1000;
Exp.Temperature=2:300;
Opt.Output='ChiCGS'
chi = curry(Europium,Exp,Opt);
hold on
plot(Exp.Temperature,chi,'g')
%Calculation by simulating L with an effective S.
% The correct expected curve is obtained by fixing g(S2)=1
% If g(S2)=-1 the same curve as in the L.S basis is obtained.
Eurospin.S=[3 3]
Eurospin.g=[gfree 1]
Eurospin.J=300*clight*1e-4
chispin = curry(Eurospin,Exp,Opt);
plot(Exp.Temperature,chispin,'r');
I guess the origin of the bug is the fact that the L,S representation has been first implemented to deal with octahedral Co(II) which is usually treated as an effective L=1 but with gL=-1 (due to P,T isomorphism) except for a parametric orbital reduction factor.
Best regards,
Lorenzo
Re: Potential bug with curry soc
Posted: Tue Mar 26, 2024 10:40 pm
by Stefan Stoll
Can you please check if this problem still exists in the latest 6.0.0-dev.x version? If yes, please post an updated script, and we'll look into it.Thanks!