zerothi / sisl

Electronic structure Python package for post analysis and large scale tight-binding DFT/NEGF calculations
https://zerothi.github.io/sisl
Mozilla Public License 2.0
181 stars 58 forks source link

Computing the phonon-limited carrier mobiliy of bulk silicon with TS (+sisl) #338

Closed sponce24 closed 3 years ago

sponce24 commented 3 years ago

Describe what you want to accomplish with TS+TBT+sisl

I would like to compute the change of phonon-limited carrier mobility with temperature for silicon (or any simple materials, 2D semiconductor materials fine as well) using NEGF with a self-energy that contains electron-phonon coupling (EPC).

I am interested in comparing this with other methods such as the Boltzmann transport equation with the EPC computed from density function perturbation theory.

PS: If semiconductor are not possible due to large screening length, doped Si would be fine as well.

Many thanks & best wishes.

tfrederiksen commented 3 years ago

Hi @sponce24 , this is a very interesting topic!

Are you thinking of a self-consistent solution to NEGF equations like these?

G^r(z, k, k') = G^r_0(z, k, k') + G^r_0(z, k, k') Sigma^r_ph(z, k, k') G^r(z, k, k')
Sigma^<_ph(z, k, k') = \int dq dz' conj(M)(k, k', q) G^<(z', k, k') D^<_0(z - z', q) M(k, k', q)

This is not been implemented in TS+TBT+sisl. Inelastica can provide EPCs using finite differences, but not a self-consistent solution for the Green's function.

Another direction could be to use SIESTA for inputs to BTE calculations via sisl. Some ingredients, like band velocities, are readily available:

import sisl as s
gr = s.geom.graphene()
H = s.Hamiltonian(gr)
H.construct([(0.1, 1.44), (0, -2.7)])
print(H.velocity([1/3, 1/3, 0]))

Such an approach could perhaps have advantages for very large systems.

zerothi commented 3 years ago

Thanks for joining the workshop!