TRIQS / triqs_0.x

DEPRECATED -- This is the repository of the older versions of TRIQS
Other
11 stars 9 forks source link

How to caculate DOS for SrVO3 #90

Closed lucasem-zz closed 11 years ago

lucasem-zz commented 11 years ago

Dear all

Can someone please show me how I have to change the Ce_gamma_DOS.py script in order to plot the DOS for the SrVO3 case ? I am not able to understend how to extract the real frequency self-enegy.

thanks in advance.

lucasem

aichhorn commented 11 years ago

Hello, If you read the documentation carefully, you will find that at the moment we do not provide an automatic tool to continue the imaginary frequency data to real frequencies (look to section 'Analyzing tools'). So you cannot find the real frequency data, because it is simply not there. You can use the Maximum Entropy method, as it is included in the ALPS package, for instance. Bu be aware, analytic continuation has to be done very carefully, in order to get meaningful results. Markus

lucasem-zz commented 11 years ago

Hi Markus thank you for your quick reply. So if I well understood I need to do the analytic continuation by myself. Further, does it mean that the self-consitency is not possible if one use of the CQMT algorithm ? thanks Luca

mferrero commented 11 years ago

There is no need to have real-frequency data to do the self-consistency. All the equations and useful quantities can be obtained from the Matsubara quantities. Usually, one does the full self-consistency and then just does the MaxEnt on the final converged data.

lucasem-zz commented 11 years ago

Dear Dr. Ferrero thank you for your reply. I’m happy to know that one can reach the self-consistency even using the CQM algorithm. Further I hope you will be so kind as to help a beginner python-user like me to solve the issues that I experienced in using the DMFT recipe relative to the SrVO3 case.

1) The dmftproj fails when the irrep. t2g is the correlated manifold. The error I get is :

\ On entry to ZGEMM parameter number 8 had an illegal value

The code works fine if I choose a) the complex basis, b) the cubic basis with nb_irep 0 and c) the cubic basis and the manifold eg is the correlated one. I compiled the TRIQS package using several compilers, mathematical libraries options; notwithstanding the compiled version passes all the tests I was not able to eliminate the problem.

2) Could you show me how complete the script for SrVO3 to write the file case.qdmft so that the lapw2 code can calculate the modified charge density and I can try to reach the selfconsistency? I was inspired by the last few lines of the file Ce-gamma.py, however I succeed in writing only a part of the file case.dmft.

3) I have a program to calculate the Padè approximant for the temperature green’s function. Can you please help me to print in the format ASCII the local green function which I need to calculate the analytical continuation and then the projected DOS?

Thank you in advance. Luca

leopo commented 11 years ago

1). Could you show the *.indmftpr file you use in this case (t2g correlated shell in SrVO3)?

2). In the section http://ipht.cea.fr/triqs/doc/user_manual/wien2k/selfcons.html you have all lines you need to add after the DMFT loop, just copy them in the same order at the end of your py script.

3). You can print the local Green's function in text files by adding to your script S.G.save('GF')

where 'GF' is the name of the files in which it will be stored.

You can also always retrive Green's function from your *.h5 file with the following script (execute it with pytriqs)

from pytriqs.Base.Archive.HDF_Archive import * from pytriqs.Base.GF_Local.GF import GF from pytriqs.Base.GF_Local.GFBloc_ImFreq import GFBloc_ImFreq import os fname=os.path.basename(os.getcwd())+'.h5' ar=HDF_Archive(fname) G=ar['GF'] del ar G.save('GF')

lucasem-zz commented 11 years ago

Dear Leopo Thank you for your invaluable help. About the case.indmftpr which gives problems it is:

3 ! nsort 1 1 3 ! mult(isrt) 3 ! lmax complex ! basis 1 0 0 0 ! lsort(l) 0 0 0 0 ! nb irep(l) cubic ! basis 1 1 2 0 ! lsort(l) 0 0 2 0 0 1 0 ! ifSO cubic ! basis 1 1 0 0 ! lsort(l) 0 0 0 0 ! nb irep(l) -0.080 0.6 ! e bot and e top 0.59953 ! e Fermi

Bests. Luca

leopo commented 11 years ago

Try to remove the space between 0 and 1 when you indicate which representation should be included for vanadium:

cubic ! basis 1 1 2 0 ! lsort(l) 0 0 2 0 01 0 ! ifSO

The input file for dmftproj is format-sensitive

lucasem-zz commented 11 years ago

Ok. Now it works fine. Thanks a lot for your help. Best Luca