hybrid functionals in abinit: state of the art and … · 2017. 5. 18. · hybrid functionals in...
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