TRIQS / dft_tools

Interface to DFT codes
https://triqs.github.io/dft_tools
Other
40 stars 38 forks source link

DMFTproj cannot be used with more than 1 LO orbital #128

Closed cmtcl18 closed 4 years ago

cmtcl18 commented 4 years ago

Dear All, I have reproduced the momentum resolved spectral function from Computer Physics Communications 204, 200-208 (2016) for SrVO3. I want to calculate the momentum integrated spectral function and momentum resolved spectral function for SrIrO3 (20 atom 5d transition metal oxide) with Spin Polarized (SP) and Spin Orbit Coupling (SOC). I performed SP and SOC during WIEN2k calculation. While running dmftproj -sp -so I am not getting the SrIrO3.ctqmcout file. This ends by throwing the following statement.

Global-to-local-coordinates rotations

Properties of the symmetry operations : alpha, beta, gamma are their Euler angles. iprop is the value of their determinant.

SORT alpha beta gamma iprop 1 0.0 0.0 0.0 1 2 0.0 0.0 0.0 1 3 0.0 0.0 0.0 1 4 0.0 0.0 0.0 1 5 0.0 0.0 0.0 1 6 0.0 0.0 0.0 1

=======================================

Reading of the file SrIrO3.almblmup The current version of DMFTproj cannot be used with more than 1 LO orbital by atom. This is not the case for the orbital l= 1 of the atomic sort 1 END OF THE PRGM .

Here I am giving the SrIrO3.indmftpr input

6 ! Nsort 2 2 4 4 4 4 ! Mult(Nsort) 3 ! lmax cubic ! choice of angular harmonics 1 0 2 0 ! l included for each sort 0 0 2 0 ! If split into ireps, gives number of ireps. for a given orbital (otherwise 0) 01 ! 0 ! SO flag cubic ! choice of angular harmonics 1 1 2 0 ! l included for each sort 0 0 2 0 ! If split into ireps, gives number of ireps. for a given orbital (otherwise 0) 01 ! 0 ! SO flag complex ! choice of angular harmonics 1 0 0 0 ! l included for each sort 0 0 0 0 ! If split into ireps, gives number of ireps. for a given orbital (otherwise 0) cubic ! choice of angular harmonics 1 1 0 0 ! l included for each sort 0 0 0 0 ! If split into ireps, gives number of ireps. for a given orbital (otherwise 0) cubic ! choice of angular harmonics 1 1 0 0 ! l included for each sort 0 0 0 0 ! If split into ireps, gives number of ireps. for a given orbital (otherwise 0) cubic ! choice of angular harmonics 1 1 0 0 ! l included for each sort 0 0 0 0 ! If split into ireps, gives number of ireps. for a given orbital (otherwise 0) -0.62 0.55 ! e_bot and e_top .

I would be appreciate for any suggestion.

Warm Regards CMTCL

the-hampel commented 4 years ago

Hi, First, note that the projections with spin-orbit coupling included is not an easy task! Please be very careful.

To your problem: I have a few first remarks:

However, I am not an expert with the dmftproj wien2k interface, but maybe this helps you as a first start...

cmtcl18 commented 4 years ago

Dear Alex, Thank you for your quick response. I modified the SrIrO3.indmftpr file accordingly, as you have mentioned above. The dmftproj -sp -so runs without any error. During self-consistency DMFT cycle, I am getting the following error.

File "DMFTSC.py", line 43, in h_int = h_int_density(spin_names, orb_names, map_operator_structure=SK.sumk_to_solver[0], U=Umat, Uprime=Upmat) File "/usr/lib/python2.7/dist-packages/pytriqs/operators/util/hamiltonians.py", line 217, in h_int_density H_term = 0.5 U_val n(mkind(s1,a1)) n(*mkind(s2,a2)) File "/usr/lib/python2.7/dist-packages/pytriqs/operators/util/op_struct.py", line 35, in mkind = lambda sn, on: map_operator_structure[(sn,on)] KeyError: ('up', 0).

For including Spin Polarised (SP) and Spin Orbit Coupling (SOC), how should I modify the script that has been given for SrVO3.

cmtcl18 commented 4 years ago

Dear All, Can any one provide the script of self consistency calculation with spin polarization and spin orbit coupling. Is there any minimal documentation available for SP and SOC? It will be more helpful for a naive user, if a minimal script is available for calculating with SP and SOC.

the-hampel commented 4 years ago

The error appears because the block structure of SumK does not match, when calling h_int_density. Can you print right before calling h_int_density both the variable spin_names and SK.sumk_to_solver[0] ?

Moreover, we should really get going with the documentation for SO calculations with Wien2k @mzingl . If this is a functionality that dfttools provides, we should write a docu part or tutorial for it. Also I see that this issue exists now for quite some time considering issue #90 ...

cmtcl18 commented 4 years ago

Dear Alex, The contents of spin_names is ['up', 'down'] and SK.sumk_to_solver[0] is {'ud_0': [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]}. The self-consistent cycle is throwing the same error.

Starting run with 1 MPI rank(s) at : 2020-01-31 09:44:13.999696 ['up', 'down'] {'ud_0': [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]} Traceback (most recent call last): File "DMFTSC.py", line 46, in h_int = h_int_density(spin_names, orb_names, map_operator_structure=SK.sumk_to_solver[0], U=Umat, Uprime=Upmat) File "/usr/lib/python2.7/dist-packages/pytriqs/operators/util/hamiltonians.py", line 217, in h_int_density H_term = 0.5 U_val n(mkind(s1,a1)) n(*mkind(s2,a2)) File "/usr/lib/python2.7/dist-packages/pytriqs/operators/util/op_struct.py", line 35, in mkind = lambda sn, on: map_operator_structure[(sn,on)] KeyError: ('up', 0).