Spectral function for 5d +matsubara self-energies ; cor_orb; script; G_loc.out file

165 views
Skip to first unread message

Franck Olivier

unread,
Nov 14, 2020, 5:44:48 AM11/14/20
to DMFTwDFT

Hello Sir,

I come back to you because I would like to be clarified on certain point on the analysis of my results. indeed I have some questions on certain parameters of the file INPUT.py the variable "cor_orb" why cinder in two categories? [["d_z2", "d_x2y2"], ["d_xz", "d_yz", "d_xy"]] not [["d_z2", "d_x2y2", "d_xz", "d_yz", "d_xy"]] ? and to represent the functions of spectral as represented here https://static-content.springer.com/esm/art%3A10.1038%2Fs41535-018-0126-z/MediaObjects/41535_2018_126_MOESM1_ESM.pdf then the hybridization function. 

 

the plotGF_SE.py plotting Green's functions script represents only the two states eg and t2g whereas I would like to represent each of the 5 orbitals which are not specified in the G_loc.out file because they only contain 5 columns. what does each of the columns mean and in what order? 

 

 

Thank you in advance for your reply.

 

 

Franck O.


Benny Wah

unread,
Nov 14, 2020, 9:16:28 AM11/14/20
to Franck Olivier, DMFTwDFT
Franck Olivier,

The cindering is due to the first block being treated by dmft.x

One can grep for 'dmft.x' in RUNDMFT.py in order to see this

The second cinder is due to treatment by Hartree-Fock (executable XHF.py in RUNDMFT.py)

This is due to most electronic activity from the partially filled e2g orbitals. For a physical motivations, one can Ctrl+F for 'Octahedral' in the following wikipage: 


From what I understand, nothing in the code should prevent you from plotting all 5-orbitals. If this is untrue, then please attach error messages although we cannot promise a prompt response due to ongoing development.

Best Regards, Benny


--
You received this message because you are subscribed to the Google Groups "DMFTwDFT" group.
To unsubscribe from this group and stop receiving emails from it, send an email to dmftwdft+u...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/dmftwdft/770d1b3d-0c22-4b50-aa74-04f95c9505d0n%40googlegroups.com.

Uthpala Herath

unread,
Nov 15, 2020, 11:44:31 PM11/15/20
to Franck Olivier, DMFTwDFT
Dear Franck, 

I'm sorry for the late reply. I'll do my best to address your questions and maybe Vijay or Benny or someone else can correct me if I'm missing something. I'm going to merge your earlier questions from our email conversations and the ones you posted on the forum so that it could be archived in the forum for reference. I noticed that Benny already addressed the latter so I'll follow up on those with some minor comments. 

1. if I understood the different parameters correctly, n-tot = nf? in my case 5.2

n_tot is the total number of electrons in the correlated subspace and nf is the occupancy. You can either calculate n_tot by hand or by the electron_count.py script in the scripts directory. To calculate by hand for example in SrVO3, 
We have V+4 which gives 1-d electron and O -2 x 3 gives 6x3 = 18 electrons making it a total of 19 electrons in the correlated subspace encompassing the V-d and O-p orbitals. electron_count.py will give a similar value. 

2. I would like to reproduce a similar calculation of the spectral function for each of the 5d orbital. as in figure 6 from the link below I did not find the script to achieve it https://www.researchgate.net/publication/278685765_State_identification_and_tunable_Kondo_effect_of_MnPc_on_Ag001/figures.

3. the density of state that I could calculate by doing for example postDMFT.py dos gives me density of states according to eg and t2g while I want to represent the density of state of each of the 5d orbital. how to modify the script?
 
Answer to 2 and 3: The plots in the figure seem like they are basically DOS / spectral function vs. energy plots which are pretty much the same as plotting the DOS with postDMFT.py (please correct me if I'm wrong). This is as opposed to plotting the spectral function along a k-path aka the DMFT band structure. 
Therefore, you can still use the postDMFT.py dos function to get this with some minor modifications. I will give a hint on how. 

First let's start with the order of the columns in dos/G_loc.out (not to be confused with G_loc.out in the root DMFT directory) for the 5 atom SrVO3 example (We are considering V-d and O-p to be in the Wannier subspace): 

| Matsubara frequency | V-dz2 (real) |  V-dz2 (imag) | V-dxz (real) | V-dxz (imag) | V-dyz (real) | V-dyz (imag) | V-dx2-y2 (real) | V-dx2-y2 (imag) V-dxy (real) V-dxy (imag) | O1-px (real) O1-px (imag) | ..... 03-pz (real) O3-pz (imag)

The atom order follows the order in POSCAR. For instance, in La2Ni2O6, It would be the d orbitals of Ni1 followed by the d orbitals of Ni2 followed by the p orbitals of the 6 oxygen atoms. 
The concerning DOS calculation is done in the function plot_dos() in postDMFT.py. The way it is set now is to find the indexes of the imaginary columns (since we need the imaginary part of the Green's function to calculate the spectral function) of the d-orbitals contributing to eg and t2g and summing them up separately which is why you only see the V-d-eg and V-d-t2g in the DOS plot. 
These column indexes for SrVO3 are : 

eg_index : [2, 8]
t2g_index : [4, 6, 10]
p_index : [12, 14, 16, 18, 20, 22, 24, 26, 28]

For La2Ni2O6 they would be: 
eg_index : [2, 8, 12, 18]
t2g_index : [4, 6, 10, 14, 16, 20]
p_index : [22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52, 54, 56]

So what you have to do is to consider each of these imaginary columns separately instead of summing them up. This would be in the sections:
image.png

and the immediate section following that: 

image.png

In a future update, we will modify the code to plot the orbitals separately in addition to plotting eg and t2g, but for the time being I believe you'll be able to modify it to get what you desire. 

4. I would like also to plot the Imaginary part of the Mn self energy for each 5d states as a function of Matsubara frequencies.

Now the order of the self energies (sig.inp and ac/Sig.out for analytically continued self-energies) are a bit different from the one described above. They follow the order of the groups of "cor_orb" for each of the "cor_at" in INPUT.py (if symmetric atoms are put in the same list in cor_at, it would treat them as the same). 

- If "cor_orb":   [[['d_z2','d_x2y2'],['d_xz','d_yz','d_xy']]] : 

As Benny has explained, this groups the orbitals as eg and t2g. So the self energy files would have 1+4 columns in the order of:

| Matsubara frequency | self energy of eg (real) | self energy of eg (imag) self energy of t2g (real) | self energy of t2g (imag) |

- If "cor_orb":   [[['d_z2'],['d_x2y2'],['d_xz'],['d_yz'],['d_xy']]]

In this case, the symmetry would be broken and each orbital would be considered separately. So the columns in the self-energy files would have 1+10 columns in the order of: 

| Matsubara frequency | SE of d_z2 (real) | SE of d_z2 (imag) | SE of d_x2y2 (real) | SE of d_x2y2 (imag) | SE of d_xz (real) | SE of d_xz (imag) | SE of d_yz (real) | SE of d_yz (imag) | SE of d_xy (real) | SE of d_xy (imag) | 

So to plot the self-energies of Mn for each d-orbital separately you have to run the DMFT calculation with cor_orb defined as in the latter case. 

 
5. I come back to you because I would like to be clarified on certain point on the analysis of my results. indeed I have some questions on certain parameters of the file INPUT.py the variable "cor_orb" why cinder in two categories? [["d_z2", "d_x2y2"], ["d_xz", "d_yz", "d_xy"]] not [["d_z2", "d_x2y2", "d_xz", "d_yz", "d_xy"]] ? and to represent the functions of spectral as represented here https://static-content.springer.com/esm/art%3A10.1038%2Fs41535-018-0126-z/MediaObjects/41535_2018_126_MOESM1_ESM.pdf then the hybridization function.

I believe this was answered in the previous question. The hybridization function is Delta.out and the columns follow the same order as the self-energy files. 

6. the plotGF_SE.py plotting Green's functions script represents only the two states eg and t2g whereas I would like to represent each of the 5 orbitals which are not specified in the G_loc.out file because they only contain 5 columns. what does each of the columns mean and in what order?

The G_loc.out ( in the DMFT root directory and not the one in dos) follows the same column order as the self-energy files. To get the orbitals separately you have to run the DMFT calculation with the separate orbitals as explained in part 4. 
The only modification you would have to do in plotGF_SE.py is to add more lines to get the data for the separated orbital columns in the section:

image.png

So you would have 5 y arrays for each d orbital (10 if you want the real values as well) . 

I hope that helps. Please get back to us if you have further questions. 

Best,
Uthpala



--
Uthpala Herath
PhD Candidate
Department of Physics and Astronomy
West Virginia University
Morgantown, WV 26505

Uthpala Herath

unread,
Nov 15, 2020, 11:50:52 PM11/15/20
to Franck Olivier, DMFTwDFT
Message has been deleted
Message has been deleted

Franck Olivier1

unread,
Nov 16, 2020, 6:15:54 PM11/16/20
to DMFTwDFT

Hello Sir,

Thank you for your message which enlightened me on some point.

The value of n-tot defines the total number of electrons in the Wannier subspace. and nf: The value of nf defines the nominal occupancy of d. but in the example SrVO3 (nf = 8 for V atoms with configuration 3d1) I don't understand these electron number values but with an occupation of 8. how do you get these values? 

I am working with the molecule of MnPc where the target atoms is only the Mn my calculations DFT indicates an occupancy of 5 which would be the nf but I am very confused on what would be the value of ntot how to have this value initially? indeed the electron_count.py script does not work ..

 

 

in the link that I have attached below it is represented the local spectral fuction and the DOS. if I understood correctly, the dos / G_loc.out file therefore contains these spectral functions which are also DOS?

 

https://static-content.springer.com/esm/art%3A10.1038%2Fs41535-018-0126-z/MediaObjects/41535_2018_126_MOESM1_ESM.pdf

 

For the rest of the detail I understood very well. and thank you in advance for your answers.

 

Franck Olivier.

Uthpala Herath

unread,
Nov 20, 2020, 10:57:03 PM11/20/20
to DMFTwDFT
Dear Franck,

I'm glad we were able to resolve some of your questions. Let's try to clear up the rest.

The value of n-tot defines the total number of electrons in the Wannier subspace. and nf: The value of nf defines the nominal occupancy of d. but in the example SrVO3 (nf = 8 for V atoms with configuration 3d1) I don't understand these electron number values but with an occupation of 8. how do you get these values? 

I am working with the molecule of MnPc where the target atoms is only the Mn my calculations DFT indicates an occupancy of 5 which would be the nf but I am very confused on what would be the value of ntot how to have this value initially? indeed the electron_count.py script does not work ..

I'm sorry the value for SrVO3 for occupancy is actually nf =1 since the V+4 constitutes to a 3d1 as you stated. I think I put that value in the examples mistakenly. Thanks for bringing it up.
The ntot is total number of electrons in the correlated subspace, which in SrVO3 is 19 since you have 1 3d1 from V and 3 x 2p6 from electrons. What was the issue you had when trying to run electron_count.py?
In your case you have to check the oxidation state of Mn to check the number of electrons it has in this form. 

in the link that I have attached below it is represented the local spectral fuction and the DOS. if I understood correctly, the dos / G_loc.out file therefore contains these spectral functions which are also DOS?

https://static-content.springer.com/esm/art%3A10.1038%2Fs41535-018-0126-z/MediaObjects/41535_2018_126_MOESM1_ESM.pdf

That is almost correct. The dos/G_loc.out contains the real and imaginary parts of the Green's functions for each of the orbitals which you can use to calculate the DOS or spectral function using:

A(ω)= 1/π ImG(ω) 

This is what the postDMFT.py dos function performs and provides the DOS vs energy plot.

Now, I could be wrong, but I think spectral function and DOS are basically the same thing and the terminology is used interchangeably. The only difference being the k-dependence of the spectral function when plotting the band structure along a particular k-path A(k,w). The DOS is basically the k-point integration of this. 

Does that make sense? 

Best,

Uthpala


Message has been deleted
Message has been deleted

Singh, Vijay Ramdin

unread,
Dec 3, 2020, 2:01:38 PM12/3/20
to Franck Olivier1, DMFTwDFT
Dear Franck,

Sorry for the late response.  It seems that spectral functions are significantly different.  It would be better if you could also send us your DFT DOS. Please see below my comments (red font) and as suggested, please share the INFO_ITER for both CSC and NCSC run.

All the best and sorry again for the late response.

Have a great day.

Sincerely,
Vijay


From: dmft...@googlegroups.com <dmft...@googlegroups.com> on behalf of Franck Olivier1 <nnsi...@gmail.com>
Sent: Tuesday, December 1, 2020 4:54 PM
To: DMFTwDFT <dmft...@googlegroups.com>
Subject: Re: Spectral function for 5d +matsubara self-energies ; cor_orb; script; G_loc.out file
 
DMFT_PDOS_1_1_30.pngDMFT_PDOS_30_10_1.pngDMFT_PDOS_30_10_3.png
Good morning all, I made progress in the calculations. but the analysis is just as confusing. You mentioned two types of calculation in the paper: NCSC and CSC in which case you have to do one or the other. I thought that the most relevant calculation would be the CSC calculation! and therefore no need to do the NCSC (can you clarify this point?) 

It's great! Yes, in theory, that is correct.

2- I did 3 calculations the first NCSC; and the last two, CSC and the results are all different and leads me to confusion. The first calculation was made with these NCSC parameters: Niter = 1; Ndft = 1; Nit = 30. the second and third respectively within CSC: Niter = 30; Ndft = 10; Nit = 1. and Niter = 30; Ndft = 10; Nit = 3 the results as shown in these are different . So could you point out or comment?

I think your NCSC run has converged nicely. Could you please share your INFO_ITER files for CSC runs? Also, make sure that the final CSC DFT run, Wannier is in agreement with the DFT band structure.

When we calculate CSC normally the parameter "nf" depending on the energy? where it remains frozen during the calculation?
This is used for the initial guess of self-energy. One can initialize as the DFT occupancy of the correlated atom or the nominal electron number. This varies depending on the system. So, while doing CSC it should be properly assigned. Since in each CSC run Fermi energy is going to change, it will take care of the occupancy if it is not very significant.
Reply all
Reply to author
Forward
Message has been deleted
Message has been deleted
0 new messages