This is an old revision of the document!
Tanabe-Tsugano diagram d^10 configuration
asked by Riccardo Piombo (2020/03/05 18:37)
Hi everyone,
While doing the Tanabe-Tsugano diagram of a transition metal (TM) complex, as the CuO square planar structure, I realized that when the electronic structure of the TM involves a d^n configuration with n<10 (in CuO n=9) everything's fine but when it involves an n=10 d^n configuration, as in the octahedral AgF case, my code gives me the following error: “bad argument #1 to 'pairs' (table expected, got user data)”. Here is the part of the code to which the error refers:
H_Ag = OppUdd + OppCF_4d H_F = OppUpp + OppCF_Ld H_Cluster = H_Ag + H_F H_0 = H_Cluster + H_Zeeman + H_Hz_ext H_0.Name = "Cluster hamiltonian without hopping Tpd print("") print("N-body states energies computation") StartRestrictions1 = {NF, NB, {"1111111111 1111111111",n4d+nL,n4d+nL}} Npsi_i = math.Binomial(NF,n4d+nL) psiList_N = Eigensystem(H_0, StartRestrictions1, Npsi_i) print(psiList_N) --psiList_N = {psiList_N} file = assert(io.open("EnergyLevelDiagram", "w")) print("") print("Energy level diagram computation") print("------------------------------------") print("Loop on tuning parameter lambda") print("") lambda = 0. for i=0, 25 do lambda = 0.1*i io.write(string.format("lambda = -%5.3f\n ",lambda)) io.flush() file:write(string.format("%14.7E ",lambda)) ---> lambda == tuning parameter H_pert = H_0 + lambda*(-1)*OppHopLd4d Eigensystem(H_pert, psiList_N) for key,value in pairs(psiList_N) do -------> ERROR IS HERE!!! print(key) energy = value * H_pert * value file:write(string.format("%14.7E ",energy)) end file:write("\n") end
The other way around if I uncomment the following line of code (the twelfth row from the beginning of the script):
psiList_N = {psiList_N}
The calculation is successful but it gives me an empty diagram. Can everyone please help me? Thanks in advance
Answers
The function Eigensystem behaves differently if Npsi=1 or larger than one. For a single state it returns a wave-function, for multiple states it returns a list of wave-functions.
The way Marius in Crispy circumvented this behaviour is by adding the following line after the function Eigensystem:
Last but not least, note that the energy level diagram for a $d^{10}$ configuration is rather simple.
Best wishes, Maurits
Of course, it doesn't exist. When I talked about the Tanabe-Sugano diagram I was not precise: I meant a diagram of the energy levels varying Tpd (p-d hybridization) and not the usual 10Dq parameter of the octahedral crystal field splitting. Although they have different physical meaning they share a common argument. You can check that looking at the hamiltonian H0 in the code which does not contain any hopping term. The term lambda * (-1) * OppHopLd4d takes the place of the term tenDq * OpptenDq which can be found in the example on NiO.
Regards,
Riccardo