shankar1729 / jdftx

JDFTx: software for joint density functional theory
http://jdftx.org
82 stars 54 forks source link

Is it possible to use TB09 exchange and LDA-PW(or other) correlation in JDFTx? #33

Closed ximik69 closed 6 years ago

ximik69 commented 6 years ago

Hello, dear Shankar,

I tried to use TB09 exchange functional in calculations in order to find out how well fast XC functionals work with my intermetallics. I used JDFTx, linked with LIBXC 4. Unfortunately JDFTx emitted error after LCAO minimize :

[user@localhost 16x16x16_TB09+LDA]$ jdftx_gpu -i X.in -o X.out
Functional 'Tran & Blaha 09' does not provide an implementation of Exc
Functional 'Tran & Blaha 09' does not provide an implementation of Exc
Functional 'Tran & Blaha 09' does not provide an implementation of Exc
Functional 'Tran & Blaha 09' does not provide an implementation of Exc
Segmentation Fault.
Segmentation Fault.
--------------------------------------------------------------------------
MPI_ABORT was invoked on rank 0 in communicator MPI_COMM_WORLD
with errorcode 1.

NOTE: invoking MPI_ABORT causes Open MPI to kill all MPI processes.
You may or may not see output from other processes, depending on
exactly when Open MPI kills them.
--------------------------------------------------------------------------

I tested lda-c-pw, mgga-c-tpss as correlation functional. But with the same result. I tried mgga-c-tpss as hint from here http://listserv.fysik.dtu.dk/pipermail/gpaw-users/2017-March/004576.html

Is it possible to use this functional? If yes, could you give me some hints how to use it?

Best wishes, Igor.

The input file I tested is below:

lattice 4.4081001282         2.2040500641         2.2040500641\
        0.0000000000         3.8175266934         1.2725088978\
        0.0000000000         0.0000000000         3.5991986830

        #scale angstrom to bohr
latt-scale 1.889725989 1.889725989 1.889725989

ion-species SG15/$ID_ONCV_PBE.upf
#ion-species GBRV/$ID_lda.uspp

#U-J for Zn d10 orb 5eV [Ha]
#add-U Zn d 0.183745167502

cache-projectors no
coords-type lattice    
ion Li 0.125000000         0.125000000         0.125000000 0
ion Li 0.875000000         0.875000000         0.875000000 0
ion Zn 0.375000000         0.375000000         0.375000000 0
ion Zn 0.625000000         0.625000000         0.625000000 0

#for 300K
elec-smearing Fermi  0.00095

converge-empty-states yes

elec-cutoff 40
#100
#50
elec-n-bands 30
#30

kpoint-folding 16 16 16 # 
kpoint 0 0 0 1 # gamma-centered k-point mesh
#fftbox 320  480  600

#dump-only

electronic-scf \
nIterations 200 \
energyDiffThreshold 1e-8

elec-ex-corr mgga-x-tb09 mgga-c-tpss
#mgga-x-m06-l mgga-c-m06-l
#hyb-PBE0
#hyb-HSE12s
#hyb-HSE06
#van-der-waals

density-of-states Total Occupied Total

dump electronic state forces dos
dump End DOS CoreDensity ElecDensity  State EigStats lattice  IonicPositions 
#All

#wavefunction read X.wfns 24 100

initial-state X.$var
dump-name X.$var 

The out-file with results of runs of jdftx, jdftx_gpu with different parameters is attached.

X.out.txt jdftx-stacktrace.txt

shankar1729 commented 6 years ago

Hi Igor,

TRB09 is a potential-only functional and does not define an energy. There are few such in-build functionals in jdftx (eg GLLBsc), but there isn't support yet for using such functionals from LibXC.

Best, Shankar

ximik69 commented 6 years ago

Dear Shankar, thank you for the explanation. Indeed, I needed to calculate more or less proper DOS in this case. Energy was not important for this calculation. I have read, that TB09 was quite good cheap XC functional for this. I wanted to compare DOS from it with others like PBE+U, PBEsol+U, M06-L, TPSS as hybrid ones like HSE06, HSE12 were too slow.

I looked through several articles about orb-GLLBsc, pot-LB94. At the first glance they look reasonable. I'll try them. How do you think, are they good enough for intermetallics with d-elements like Zn?

Cheers, Igor.

shankar1729 commented 6 years ago

Try GLLBsc then.

Shankar

ximik69 commented 6 years ago

Ok,

thanks a lot.

Igor.