Hello,
When I run the GaN-II transport example(https://docs.epw-code.org/doc/GaN-II.html) with a high carrier concentration, I adopt most of the example's parameters but increase the ncarrier: e.g. "scattering=.true. efermi_read = .true., fermi_energy = 13.0 ; scattering =.true. int_mob = .false., carrier = .true., ncarrier = 1E19", then, I always got an error message " The carrier density is 0" Is there any way to fix that?
I also tried to set the Fermi energy manually which corresponds to a certain carrier concentration. (scattering=.true.; iterative_bte = .true., int_mob=.true. carrier = .false. ,efermi_read = .true., fermi_energy = XX) However, the mobility is not calculated for these settings.
Any suggestions are greatly appreciated!
Regards,
Sai
Setting a high carrier concentration for GaN transport problem
Moderator: stiwari
Re: Setting a high carrier concentration for GaN transport problem
Dear Sai,
First let me state that the tuto, as indicated, is totally unconverged and is intended to be fast. In particular the DFT bandgap of GaN is strongly underestimating the experimental one.
The default EPW implementation is to do intrinsic carrier mobility. The initial Fermi level (fermi_energy) must be in the bandgap.
The code then finds the level of the real Fermi level such that you have the requested carrier density.
In the case of ncarrier 1E13 you get:
For example if you increase the carrier density to 1E16 cm^-3 then you will get:
Notice that the Fermi level has moved up in energy to be able to populate the required 1E16 carrier at that low temperature using a Fermi-Dirac distribution. It is now very close to the CBM.
Therefore the reason that 1E19 does not work is simply that the Fermi level would need to go above the CBM in order to fullfill that carrier density.
If you want to do 1E19, you can increase the temperature.
Note: when you do a re-run, do not forget to remove the file otherwise it will try to restart.
To answer you second question, you can also place the Fermi level manually and do a mobility calculation like that. However it is not supported at present and you will need to go in the code and comment the calls that determines the Fermi level + makes some small adjustment.
Hope this helps.
Best wishes,
Samuel
First let me state that the tuto, as indicated, is totally unconverged and is intended to be fast. In particular the DFT bandgap of GaN is strongly underestimating the experimental one.
The default EPW implementation is to do intrinsic carrier mobility. The initial Fermi level (fermi_energy) must be in the bandgap.
The code then finds the level of the real Fermi level such that you have the requested carrier density.
In the case of ncarrier 1E13 you get:
Code: Select all
Valence band maximum = 11.381868 eV
Conduction band minimum = 13.076041 eV
Temperature 100.000 K
Mobility CB Fermi level = 12.972278 eV
Temperature 300.000 K
Mobility CB Fermi level = 12.756136 eV
Code: Select all
Temperature 100.000 K
Mobility CB Fermi level = 13.031855 eV
Temperature 300.000 K
Mobility CB Fermi level = 12.934798 eV
Therefore the reason that 1E19 does not work is simply that the Fermi level would need to go above the CBM in order to fullfill that carrier density.
If you want to do 1E19, you can increase the temperature.
Note: when you do a re-run, do not forget to remove the
Code: Select all
restart_ibte.fmt
To answer you second question, you can also place the Fermi level manually and do a mobility calculation like that. However it is not supported at present and you will need to go in the code and comment the calls that determines the Fermi level + makes some small adjustment.
Hope this helps.
Best wishes,
Samuel
Prof. Samuel Poncé
Chercheur qualifié F.R.S.-FNRS / Professeur UCLouvain
Institute of Condensed Matter and Nanosciences
UCLouvain, Belgium
Web: https://www.samuelponce.com
Chercheur qualifié F.R.S.-FNRS / Professeur UCLouvain
Institute of Condensed Matter and Nanosciences
UCLouvain, Belgium
Web: https://www.samuelponce.com