hybrid functionals in abinit: state of the art and … · 2017. 5. 18. · hybrid functionals in...

15
HYBRID FUNCTIONALS IN ABINIT: STATE OF THE ART AND PERSPECTIVES ABINIT Developper Workshop, Fréjus - May 9 th , 2017 F. Jollet 1 , M. Torrent 1 , B. Amadon 1 , F. Arnardi 1 , X. Gonze 1,2 1 CEA, DAM-DIF, Bruyères le Châtel, 91297 Arpajon Cedex 2 UCL,Louvain la Neuve

Upload: others

Post on 03-Feb-2021

5 views

Category:

Documents


0 download

TRANSCRIPT

  • HYBRID FUNCTIONALS IN ABINIT:

    STATE OF THE ART AND

    PERSPECTIVES

    ABINIT Developper Workshop, Fréjus - May 9th, 2017

    F. Jollet1, M. Torrent1, B. Amadon1,

    F. Arnardi1, X. Gonze1,2

    1CEA, DAM-DIF, Bruyères le Châtel, 91297 Arpajon Cedex2UCL,Louvain la Neuve

  • Outlines

    Implementation of Fock-exchange with PAW

    Energy

    Forces

    Stresses

    Range-separated hybrid functionals

    Perspectives: Performance of the calculation- the AC E method

    10 OCTOBRE 2012 | PAGE 2Hybrid functionals in ABINIT, May 9th, 2017

  • Implementation of Fock-exchange with PAW

    Hartree-Fock implementation, April 27th, 2015

  • Fock exchange term:

    with

    Hybrid functionals in ABINIT, May 9th, 2017

    ���� ℎ��� −��� = − 12 �� �� ��� ,�� ������ + ���� �� − 12 ���∗ �!�"� �!��"����"�����

    ���

    �_ ��� $��

    ��+ ���−�

    ����� �� = % &r&r' ���∗ )!��� r′!|r − r′| ��� ,! = -�∗ )!-� )!

    $��� = 12 ./� )!/� )′ !/� )!/� )′ !|) − )′|� &)&)′ given in the JTHv1.0 PAW atomic data files

    eikjl is already calculated for the GS

    ���−�

  • Fock exchange : the new Hamiltonian

    By considering Fock exchange, the Hamiltonian becomes:

    The first term is the well-known Fock-exchange potential:

    10 OCTOBRE 2012 | PAGE 5Hybrid functionals in ABINIT, May 9th, 2017

    The second term is a standard non-local Dij term:

    The last term is a non-standard non-local Dij term:

    A structure similar as the usual

    This term can be calculated with the routine paw_dijhat BUT on the fly in fock_getghc.

  • Fock forces

    � Norm-conserving case: no contribution to the forces

    � PAW case: two new terms

    �� �� 0-1� 22R |4��� 5��� 64��� !7-1� 89:���;�" � �, �!�;��� Calculated in nonlop.F90

    ���;��

    �� %=��> r!?�� 2���� r!2 r − R! &r� Calculated in pawmknhat_psipsi.F90

    Hybrid functionals in ABINIT, May 9th, 2017

    Coded and tested in ABINIT

  • Fock stresses

    � Norm-conserving case:

    @A)�;�"����� � = − �BC ���>;�"Ω − 4FGB GCG4 ���� G!����G≠0 −G!

    Equivalent to harstr in ABINIT and calculated in strfock.F90

    Coded and tested in ABINIT

    � PAW case:

    �BC = �� �� @A)�;�"����� + ���� � + %=���> )!?�� J�BC ���� + 2����2KBC L &r��

    �� �� M-1� 22KBC |4��� 5��� 64��� !7-1� 89:���;�" � �, �!�;���

    − ���;��

    �� %=��> r!?�� r − N!C 2���� r!2 r − R!B &r�

    Calculated in nonlop.F90

    Coded in ABINIT(but bug…)

    Hybrid functionals in ABINIT, May 9th, 2017

  • Hybrid functionals in ABINIT, May 9th, 2017

    Special attention to the norm -conserving case

    O�ℎPQ =�� , ��? = O�9>R =�� + ��? − BO�9>R =��? + BO�>;�" =��? But libxc gives: O�S�Q�� =�? = 1 − B!O�9>R =�? Three calls to libxc are therefore necessary:

    O�ℎPQ =��? = 1 − B!O�9>R =��?

    O�9>R =��? O�9>R =�� + ��?

    (1)

    (2)

    (3)

    (1)+(2)-(3)

    done in xchybrid_ncpp_cc.F90 for energy, forces and stresses

  • Range-separated hybrid functionals

    � Norm-conserving case: the erfc screening is taken into account in the calculation of

    HSE03 and HSE06 can be achieved with ixc=-427 and -428

    � PAW case: some integrals contributing to the eijkl term must be screened with the erfc function.

    =���> )!?��

    This requires the development: �)�� T|r − r′ |!|r − r′| = TΦ� ωN>, T)

  • How to calculate the Fock-exchange in practice

    For an ABINIT user, to make a calculation of Fock exchange:

    Do a first dataset for Ground StateDo a second dataset for Fock calculation choosing ixc=40-42 (HF, PBE0, PBE0-1/3)

    =-406 (PBE0-Libxc)= -456 (PBE0-1/3-Libxc)=-427,-428 (HSE03,HSE06)

    npkpt : number of processors for k-point parallelizationnphf : number of processors for Fock parallelization

    nbandhf : max. number of occupied valence states nnsclohf : number of loop without updating the occupied states cwaveocc

    default value: 1 (update at each iteration) in practice, 3 seems a good number.

    10 OCTOBRE 2012 | PAGE 10Hybrid functionals in ABINIT, May 9th, 2017

    WARNING: the spin polarized case has not been extensively testeduse istwfk=1; iscf=2; paral_kgb=0, paral_atom=0do not use simultaneously optstress and optforces

  • 10 OCTOBRE 2012

    | PAGE 11

    CEA | 10 octobre 2012

    Performance of the calculation

    Hartree-Fock implementation, April 27th, 2015

  • Future self consistent cycle

    | PAGE 12

    Loop over nstep iterations

    Check convergence criteria

    Calculate Kohn-Sham potential from the density (rhotov)

    Initialize the potential (setvtr)

    Add Fock exchange contribution to the energy

    Evaluate energy and forces (etotfor)

    Add Fock exchange potential to the Hamiltonian

    fock_getghc

    Save a copy of the occupied Kohn Sham eigenstates

    fock_updatecwaveocc

    Print the solution

    Loop over spin and k-points

    Diagonalize the Hamiltonian (cgwf or lobpcgwf)

    Calculate the density (mkrho)

    scfcv

    vtorho

    vtowfk

    Get (getghc)

    Initialize the structure type fock fock_init

    Hybrid functionals in ABINIT, May 9th, 2017

  • Future self consistent cycle: the ACE method

    | PAGE 13

    Loop over wavefunctions { φi}

    Check convergence criteria

    Calculate Kohn-Sham potential from the density (rhotov)

    Initialize the potential (setvtr)

    Add Fock exchange contribution to the energy

    Evaluate energy and forces (etotfor)

    Add Fock ACE exchange potential to the Hamiltonian

    fock_update

    Print the solution

    Loop over spin and k-points

    Diagonalize the Hamiltonian (cgwf or lobpcgwf)

    Calculate the density (mkrho)

    scfcv

    vtorho

    vtowfk

    Get (getghc)

    Initialize the structure type fock fock_init

    Hybrid functionals in ABINIT, May 9th, 2017

    Loop over electronic density ρ

    Update{ φi}

    Adaptively Compressed Exchange (ACE) OperatorLin Lin, J. Chem. Theory Comput. 2016, 12, 2242-2249

  • New self consistent cycle: the ACE method

    Fock update:

    Calculate =���> )!?�� Calculate

    Calculate

    `" )! = a� )! S−R!�"�

    Calculate

    Calculate Fock operator

    Hybrid functionals in ABINIT, May 9th, 2017

    Advantage: the full Fock term is calculated only for the loop on the wavefunctions.The calculation of the ACE Fock term for the loop on the density costs the price of a non-local operator

    a� )! = �� =���> )!?�� 7-1� >�;��

    b"� = % -1"∗ r!a� r!&r = −S"� S"�R

    O$cd� r, r′ ! = − `"∗ r!`"" r'!

  • Thank you for your attention…

    10 OCTOBRE 2012

    | PAGE 15

    CEA | 10 octobre 2012Hartree-Fock implementation, April 27th, 2015