Lanthanides

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

Lanthanides

Post by thanasis »

I have been trying to simulate lanthanide systems with Easyspin, in particular their magnetic susceptibilities, and I have a few questions. Here I consider a Dy(III) mononuclear complex (S = 5/2, L = 5) with CF parameters from the literature:

I understand that there is the possibility to consider either the J system using the gJ value:

Code: Select all

cm = 100*clight/1e6;
Sys.S=15/2;
Sys.g=4/3;
Sys.B2 = cm*[30.2 17.7 1195 17.1 30.2]; % CF(2,q) with q = +2,+1,0,-1,-2
Sys.B4 = cm*[11 0.5 24.6 1.5 37.4 1.5 24.6 0.5 11];  % CF(4,q) with q = +4,+3,+2,+1,0,-1,-2,-3,-4
Sys.B6 = cm*[0.9 3.9 2.8 3.3 21.7 6.3 59.5 6.3 21.7 3.3 2.8 3.9 0.9];  % CF(6,q) with q = +6,+5,+4,+3,+2,+1,0,-1,-2,-3,-4,-5,-6

Exp.Field = 0.1; Exp.Temperature = linspace(2,300,100); Opt.Output = 'ChiCGS';
chi_vs_T = curry(Sys,Exp,Opt);
I used the B Stevens operators, since I haven't defined any L, and which should be the right course from what the documentation says. However, the results are 2 times the expected ones. They become coherent to experimental ones if instead of Sys.B2/B4/B6, I consider Sys.CF2/4/6 with the same values:

Code: Select all

Sys.CF2 = cm*[30.2 17.7 1195 17.1 30.2]; % CF(2,q) with q = +2,+1,0,-1,-2
Sys.CF4 = cm*[11 0.5 24.6 1.5 37.4 1.5 24.6 0.5 11];  % CF(4,q) with q = +4,+3,+2,+1,0,-1,-2,-3,-4
Sys.CF6 = cm*[0.9 3.9 2.8 3.3 21.7 6.3 59.5 6.3 21.7 3.3 2.8 3.9 0.9];  % CF(6,q) with q = +6,+5,+4,+3,+2,+1,0,-1,-2,-3,-4,-5,-6
Is that supposed to happen?

Moreover, we can also consider the L-S system:

Code: Select all

Sys.S = 5/2;
Sys.L = 5;
Sys.soc = 357*cm; % cm-1 from PHI manual
Sys.CF2 = cm*[30.2 17.7 1195 17.1 30.2]; % CF(2,q) with q = +2,+1,0,-1,-2
Sys.CF4 = cm*[11 0.5 24.6 1.5 37.4 1.5 24.6 0.5 11];  % CF(4,q) with q = +4,+3,+2,+1,0,-1,-2,-3,-4
Sys.CF6 = cm*[0.9 3.9 2.8 3.3 21.7 6.3 59.5 6.3 21.7 3.3 2.8 3.9 0.9];  % CF(6,q) with q = +6,+5,+4,+3,+2,+1,0,-1,-2,-3,-4,-5,-6
In that case, the values are ~1.5 times the expected values, but then I haven't defined any g yet. I would need to define an effective "pseudo g-tensor" for each Kramers doublet, which will then be used to calculate the susceptibility at each temperature. Is that possible with Easyspin?

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

Re: Lanthanides

Post by Stefan Stoll »

Can you try this with version 6.0.0-dev.9 that's posted on the website? curry has undergone quite a few changes for the better in that version compared to the current stable release (5.2.25).

Some comments: (1) CF* should have no effect if there is no L field in the system - specifically crystalfield(Sys) should give zero. (2) If you don't give a g value, 2.0023 is used as the default. (3) The CF terms for L should be equivalent to the B terms for S - internally, stev is called for both.
thanasis
Local Expert
Posts: 242
Joined: Thu Jan 21, 2016 6:28 am
Location: Strasbourg

Re: Lanthanides

Post by thanasis »

Thanks Stefan,

I installed 6.0.0-dev.9, but there must be some change in the Opt.Output specification, since I get the error:
Error using curry
'ChiCGS' keyword in Opt.Output is not known.
UPDATE: OK, found it, the keyword is 'chimol'.
Now I get three different results when I use the same CF parameter set as B* or CF* (with the same g). For the J-representation CF* gives ca. twice the susceptibility of B*. For the LS representation, this is ~3 times larger.
Stefan Stoll
EasySpin Creator
Posts: 1050
Joined: Mon Jul 21, 2014 10:11 pm
Location: University of Washington

Re: Lanthanides

Post by Stefan Stoll »

Interesting. Can you please post a minimal script that computes spin Hamiltonians (using sham) for these cases?
thanasis
Local Expert
Posts: 242
Joined: Thu Jan 21, 2016 6:28 am
Location: Strasbourg

Re: Lanthanides

Post by thanasis »

This gives the general idea:

Code: Select all

clear all; close all; cm = 100*clight/1e6; % Conversion constant from cm-1 to MHz
stev2 = cm*[30.2 17.7 1195 17.1 30.2];
stev4 = cm*[11 0.5 24.6 1.5 37.4 1.5 24.6 0.5 11];
stev6 = cm*[0.9 3.9 2.8 3.3 21.7 6.3 59.5 6.3 21.7 3.3 2.8 3.9 0.9];

Sys1.S=15/2;
Sys1.g=4/3;
Sys1.B2 = stev2;
Sys1.B4 = stev4;
Sys1.B6 = stev6;

Sys2.S=15/2;
Sys2.g=4/3;
Sys2.CF2 = stev2;
Sys2.CF4 = stev4;
Sys2.CF6 = stev6;

Sys3.S = 5/2;
Sys3.L = 5;
Sys3.soc = 357*cm; % cm-1 from PHI manual
Sys3.g = 4/3;
Sys3.CF2 = stev2;
Sys3.CF4 = stev4;
Sys3.CF6 = stev6;

Opt.Output = 'chimol'; Opt.Units = 'CGS';
Exp.Temperature = linspace(2,300,150);
Exp.Field = 1000;
chi1 =  curry(Sys1,Exp,Opt);
chi2 =  curry(Sys2,Exp,Opt);
chi3 =  curry(Sys3,Exp,Opt);

plot(Exp.Temperature,Exp.Temperature.*chi1);
hold on
plot(Exp.Temperature,Exp.Temperature.*chi2);
plot(Exp.Temperature,Exp.Temperature.*chi3);

[V1,E1] = sham(Sys1,[0 0 0.001]);
[V2,E2] = sham(Sys2,[0 0 0.001]);
[V2,E2] = sham(Sys2,[0 0 0.001]);
Stefan Stoll
EasySpin Creator
Posts: 1050
Joined: Mon Jul 21, 2014 10:11 pm
Location: University of Washington

Re: Lanthanides

Post by Stefan Stoll »

Sys2 should give an error, since Sys.CF* can only be used if Sys.L is present. This is a bug and is fixed in 6.0.0-dev.10.

Do you expect the curves for Sys1 and Sys3 to be identical? It looks like they are spin systems of quite different size - one small, one large.
thanasis
Local Expert
Posts: 242
Joined: Thu Jan 21, 2016 6:28 am
Location: Strasbourg

Re: Lanthanides

Post by thanasis »

OK, it works now, thanks!

In the first system I may define a Sys.S, but I actually mean J = S + L, with S = 5/2 and L = 5 for Dy(III) (5/2 + 5 = 15/2). The second considers S and L explicitly and then couples them with SOC.

I wasn't expecting a perfect agreement out of the box, since the precise values should also depend on the actual value of the g-factor. Individual Kramers MJ-doublets have different effective g-factors which vary widely from each other and are critically dependent of the crystal field (e.g. in the case of Dy(III), for J = 15/2 -> MJ = +/-15/2, +/-13/2,..., +/-1/2). This is a non-trivial problem, but there are in the literature some values from ab initio calculations that I will try.

Which brings me to the second part of my question: can we assign such individual g-tensors to each Kramers MJ-doublet with Easyspin?
Stefan Stoll
EasySpin Creator
Posts: 1050
Joined: Mon Jul 21, 2014 10:11 pm
Location: University of Washington

Re: Lanthanides

Post by Stefan Stoll »

You'll have to loop over all the individual J manifolds of the coupled representation (J=|L-S|...L+S) and add the simulated intra-manifold spectra up using Boltzmann populations that take the gaps between the manifolds due to spin-orbit coupling into account. Then, you can use separate effective g values for each manifold. Of course, this works only if the spin-orbit coupling dominates any other interaction, so that you are in the strong-coupling limit.
Post Reply