Coverage for gpaw/elph/__init__.py: 100%
6 statements
« prev ^ index » next coverage.py v7.7.1, created at 2025-07-14 00:18 +0000
« prev ^ index » next coverage.py v7.7.1, created at 2025-07-14 00:18 +0000
1r"""Module for calculating electron-phonon couplings.
3Electron-phonon interaction::
5 __
6 \ l + +
7 H = ) g c c ( a + a ),
8 el-ph /_ ij i j l l
9 l,ij
11where the electron phonon coupling is given by::
13 ______
14 l / hbar ___
15 g = /------- < i | \ / V * e | j > .
16 ij \/ 2 M w 'u eff l
17 l
19Here, l denotes the vibrational mode, w_l and e_l is the frequency and
20mass-scaled polarization vector, respectively, M is an effective mass, i, j are
21electronic state indices and nabla_u denotes the gradient wrt atomic
22displacements. The implementation supports calculations of the el-ph coupling
23in both finite and periodic systems, i.e. expressed in a basis of molecular
24orbitals or Bloch states.
26The implementation is based on finite-difference calculations of the the atomic
27gradients of the effective potential expressed on a real-space grid. The el-ph
28couplings are obtained from LCAO representations of the atomic gradients of the
29effective potential and the electronic states.
31In PAW the matrix elements of the derivative of the effective potential is
32given by the sum of the following contributions::
34 d d
35 < i | -- V | j > = < i | -- V | j>
36 du eff du
38 _
39 \ ~a d . ~a
40 + ) < i | p > -- /_\H < p | j >
41 /_ i du ij j
42 a,ij
44 _
45 \ d ~a . ~a
46 + ) < i | -- p > /_\H < p | j >
47 /_ du i ij j
48 a,ij
50 _
51 \ ~a . d ~a
52 + ) < i | p > /_\H < -- p | j >
53 /_ i ij du j
54 a,ij
56where the first term is the derivative of the potential (Hartree + XC) and the
57last three terms originate from the PAW (pseudopotential) part of the effective
58DFT Hamiltonian.
60"""
61from .displacements import DisplacementRunner
62from .supercell import Supercell
63from .gmatrix import ElectronPhononMatrix
64from .raman_calculator import ResonantRamanCalculator
65from .raman_data import RamanData
67__all__ = [
68 "DisplacementRunner",
69 "Supercell",
70 "ElectronPhononMatrix",
71 "ResonantRamanCalculator",
72 "RamanData",
73]