TRIQS / triqs_0.x

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

LDA+DMFT with several correlated species #88

Closed lucasem-zz closed 11 years ago

lucasem-zz commented 11 years ago

Dear all

I am dealing with LDA+DMFT calculations using the packages TRIQS and Wien2k . I would need to know how to modify the two scripts ( Ce and SrVO3 ) when the unit cell contains several species with different U and J. Can the TRIQS code manage this type of systems? If YES, can someone help me?

Thanks in advance. Luca

aichhorn commented 11 years ago

Hi, Yes, TRIQS can do this for you. It is not particularily complicated.

1) You define in case.indmftpr the two species as correlated, dmftproj does it then automatically. 2) In the python part of the package, the SumK_LDA now expects two self energies for the two species. The easiest way is to define two Solver instances, instead of one. Let's call them S1 and S2, they differ in the values of U and J, for instance. Now you have two self energies, S1.Sigma and S2.Sigma. 3) Now you initialize the SumK_LDA class, let's call the instance SK. No changes here. 4) In SK.put_Sigma you have to give two self energies now: SK.put_Sigma([S1.Sigma,S2.Sigma]) 5) Finding chemical potential stays the same, but extracting the G0 now returns a list of Greens functions of length 2: G0lst = SK.extract_Gloc() G0lst[0] is the G0 of impurity 1, G0lst[1] is the G0 of impurity 2. You put it to the Solver by: S1.G0 = G0lst[0] S2.G0 = G0lst[1]

then call the solvers: S1.solve() S2.solve()

Setting the double counting has to be done also for the two species. the SK.SetDoubleCounting has an option "orb", setting it to 0 or 1 allows you to set the DC for each orbital:

SK.setDoubleCounting(dm=S1.G.density(), U_interact=.. , J_Hund=.., orb=0) SK.setDoubleCounting(dm=S2.G.density(), U_interact=.. , J_Hund=.., orb=1)

That should in principle do the job. I constructed this now by heart, so I cannot guarantee that it is completely bug-free ;) Just one thing: These calculations might be quite unstable in the self consisten iterations. You have to be careful to get a converged result.

lucasem-zz commented 11 years ago

Hi Thanks very much for your help. My first test will be a Ce bulk with 2 atoms for unit cell. Bests Luca