Beruflich Dokumente
Kultur Dokumente
Contents
1 Introduction 2 The wavefunction 3 Momentum matrix elements 4 Fortran code 4.1 The coecients from Abinit . . . . . . . . . . . . . . . . . . . 2 2 2 3 3
Introduction
We present a procedure to compute the momentum matrix elements with Abinit code [?].
The wavefunction
The electronic wavefunction nk r is expressed as a linear combination of plane waves (Eq. 2.1), where k are arbitray vectors, G are a reciprocal laticce vectors and Cnk are the plane waves coecents to be read from abinit wf le. (2.1) nk r =
G
Cnk (G)ei(k+G)r
(3.1)
p =
dv nk r
mk r
Cmk (G )ei(k+G )r G
i(k+G )x e x i k + G ei(k+G )x
= i Cmk (G )
G
Cmk (G )
G
k + G ei(k+G )x
dv
G
Cnk (G)ei(k+G)r
Cmk (G )
G
k + G ei(k+G )x
= = =
G
dv
G G
dv
G G
Cnk (G)Cmk (G ) k + G G
dvei(G G)r
=
G G
= =
=
G
(3.4)
pnm
=
G
(3.5)
pnm
=
G
Fortran code
4.1
6.7. The wavefunction output file This is an unformatted data file containing the planewaves coefficients of all the wavefunctions, and different supplementary data. The ground-state wf file consists of the header records, and data written with the following lines of FORTRAN (version 4.0 and more recent versions): bantot=0 <-- counts over all bands index=0 <-- index for the wavefunction location do isppol=1,nsppol do ikpt=1,nkpt write(unit) npw,nspinor,nband <- for each k point write(unit) kg(1:3,1:npw) <- plane wave reduced coordinates write(unit) eigen(1+bantot:nband+bantot),<- eigenvalues for this k point occ(1+bantot:nband+bantot) <- occupation numbers for this k point do iband=1,nband write(unit) (cg(ii+index),ii=1,2*npw*nspinor) <-- wavefunction coefficients enddo for a single band and k point bantot=bantot+nband index=index+2*npw*nspinor*nband enddo enddo
To be continued ...