Author Topic: Error in initial state energy durin electron_phonon_coupling  (Read 2096 times)

0 Members and 1 Guest are viewing this topic.

Offline Jyotirmoy Deb

  • Heavy QuantumATK user
  • ***
  • Posts: 32
  • Country: in
  • Reputation: 0
    • View Profile
During a electron_phonon_coupling calculation the job is terminated by showing increase initial state energy range. Can you please suggest how to decide what should be the value for  initial state energy range? The input file is attached for your reference.

Offline Troels-Markussen

  • QuantumATK Staff
  • Heavy QuantumATK user
  • *****
  • Posts: 41
  • Country: dk
  • Reputation: 3
  • QuantumATK staff
    • View Profile
Hi, The initial state energy range depends on your system and what you want to study. If your system is a metal, you are usually interested in an energy range around the Fermi level, so e.g. [-0.1, 0.1]*eV. If your system is a semi-conductor, you will usually want to study energies around the conduction band minimum (CBM) or the valence band maximum (VBM). I suggest that you first do a Bandstructure calculation or a DensityOfStates calculation of your system and determine the relevant energies. Once you have determined the relevant energy range, you can use that in the ElectronPhononCoupling object. And then you will also need to increase the k-point sampling (kpoints_fractional) in ElectronPhononCoupling, such that you cover the energy range. For a semi-conductor, it can often be advantageous to use a RegularKpointGrid covering only the k-points around the CBM or VBM, if these are located around a single valley. In your case, the CBM is located around the M point (0.5, 0.5, 0) and if you want to study the electron mobility I would then suggest a RegularKpointGrid of e.g.
Code
kpoints= RegularKpointGrid(
   ka_range=[0.45, 0.55],
   kb_range=[0.45, 0.55],
   kc_range=[0.0, 0.0],
   na=7,
   nb=7,
   nc=1,
)
and then set the initial_state_energy_range=[0.93,0.96]*eV. The next you should determine is the qpoints. If you want to study both intra-valley and inter-valey scattering it might be best to use a MonkhorstPackGrid with a fine sampling, something like MonkhorstPackGrid(na=100, nb=100, nc=1). However, you can also focus on the intra-valley scattering taking place only around the M point. In this case I would suggest to start with
Code
qpoints= RegularKpointGrid(
   ka_range=[-0.1, 0.1],
   kb_range=[0.1, 0.1],
   kc_range=[0.0, 0.0],
   na=11,
   nb=11,
   nc=1,
)
You need to check your results for convergence wrt. both the k- and q-point ranges as well as the number of k-and q-points.   Regards, Troels