QijingZheng / VaspBandUnfolding

A collection of python scripts that deal with VASP outpts, e.g. WAVECAR, POTCAR etc.
214 stars 92 forks source link

Read wavefunction from WAVRCAR for some specific purposes. #23

Open hongyi-zhao opened 1 year ago

hongyi-zhao commented 1 year ago

Suppose I would like to achieve the following purposes based on the wavefunction analysis from WAVRCAR:

  1. Calculate the topological number based on the exact form of wavefunction, aka, an n*1 array under plane wave basis.
  2. Compute the traces of matrix presentations and determines the corresponding irreducible representations for all energy bands and all the k-points in the three-dimensional Brillouin zone.

I would like to know whether the method implemented in this package meets the above requirements.

See below for the related discussions: https://www.vasp.at/forum/viewtopic.php?t=18177

See the related implementation below, which is based on this package: https://github.com/SMTG-UCL/easyunfold/blob/main/easyunfold/wavecar.py

Regards, Zhao

QijingZheng commented 1 year ago

Hi

Best Qijing

hongyi-zhao commented 1 year ago
  • I'm not sure what you mean by "the exact form of the wavefunction". As is well known, VASP WAVECAR file stores the plane-wave coefficients of the PSEUDO-wavefunction, which can be easily obtained with my code, e.g.

The PSEUDO-wavefunction is the basis set, and the plane-wave coefficients are the superposition coefficient of states using this basis set. So, by saying "the exact form of the wavefunction", I mean that whether these coefficients are complete relative to the base set, i.e., there are no omissions.

  • I am not aware of your exact form of the matrix element, therefore I can not comment on this point.

Sorry, my description is not very clear here. More specifically, I want to implement the things described here based on the WAVECAR analysis:

image

Regarding your wording of exact form of the matrix element, I'm not sure whether you mean the matrix elements of the point group or the space group of the computed system in question.

If I have any incorrect description or misunderstanding, please do not hesitate to correct me.

BTW, both your version and the method implemented in pymatgen are based on the algorithm developed in WaveTrans, so what are the differences between them?

Regards, Zhao

QijingZheng commented 1 year ago

Best Qijing

hongyi-zhao commented 1 year ago

It seems that for now, regarding your explanations and comments, I can't point out any further points that are not quite reasonable. Therefore, I can only say that perhaps we'll need to discuss it further when there are additional questions and clues.

BTW, I noticed the following description here:

image

I'm not sure if you have any understanding of the corresponding impact of the above-mentioned settings and modifications on the generated WAVRCAR file in a specific calculation.

Regards, Zhao