Page 1 of 1

Band Gap Value in Each AIMD Time Step

Posted: Wed Jul 28, 2021 6:40 am
by KieranSong
Dear All,

Can I make an enquiry about the output information from VASP.

I am trying to use VASP to run the ab initio molecular dynamics in NVT ensemble for the structure relaxation of the 2D materials. The version of the VASP code that I am using is 5.4.4.

Does the VASP code outputs the band gap value of the 2D materials at each time step during the structure relaxation with the ab initio molecular dynamics? If so, which file contains this band gap value information during the structure relaxation with the ab initio molecular dynamics?

Thank you very much in advance.

Kind regards,

Kieran

Re: Band Gap Value in Each AIMD Time Step

Posted: Wed Jul 28, 2021 8:39 am
by marie-therese.huebsch
Dear Kieran,

The band gap is not explicitly written to the output, but you can compute it yourself. To this end, you need to search for the highest occupied molecular orbital (HOMO) and the lowest unoccupied molecular orbital (LUMO) at each MD step and take their difference. Here, molecular orbitals refer to Kohn-Sham orbitals. You can find the band energies and occupancies at each k point, e.g., written to the OUTCAR file.

Best regards,
Marie-Therese

Re: Band Gap Value in Each AIMD Time Step

Posted: Wed Jul 28, 2021 7:47 pm
by KieranSong
Dear Marie-Therese,

Thank you for the suggestion.

Suppose I want to run the AIMD for 1 picosecond with 0.1 femtosecond as the time step. Then, I will have 10000 output structures in XDATCAR file. If I want to plot the band gap value v.s. time step, I will have to compute the band gap values for 10000 structures. Obviously, this is not doable manually.

Is there any other way to modify the source code of VASP to make it output the band gap value at each time step automatically?

I really appreciate your help.

Kind regards,

Kieran

Re: Band Gap Value in Each AIMD Time Step

Posted: Wed Jul 28, 2021 10:16 pm
by marie-therese.huebsch
Dear Kieran,

It might be easier for you to run a script that extracts the information than changing the source code. You can, for instance, use python, or a combination of grep, awk, and bash to extract the HOMO and LUMO, then take their difference.

Best regards,
Marie-Therese