Hi Junfeng,
Thank you for the useful information! Indeed I looked into the kmesh.f90
file and they have a defined the internal_maxloc function for this
purpose of getting repeatable ordering.
I have now implemented the shell-search-approach in my own
time-dependent code and it works very
Hi Lun,
I did some experimentations with bvectors some while ago, as far as I
understand, in principle, the bvectors can be independent of k-points. However,
W90 sorts the bvecotors such that they are ordered according to some rules:
this removes some arbitrariness so that the bvectors thus
Dear Nicola and Jonathan,
Thank you for the expedient reply! This has been very helpful!
I have a followup question: in the output ".bvec" file, is there any
particular reason why the set of b-vectors are written out for each
k-point? Are there situations where the set of b-vectors differs
Dear Yue,
In support of Nicola’s comments: a long time I did some comparisons of the B1
approach from MV97, and the simpler 6 neighbour approach. I didn’t look at the
resulting MLWF - rather I looked at the form of the position operator they lead
to. Indeed, for the same k-point mesh the B1
Dear Yue,
admittedly both are easy - but think e.g. at a fcc lattice - its
reciprocal lattice is bcc, 8 neighbours, and calculating the gradient
using those 8 b_k vectors will be more accurate, at a given sampling,
than just using 3.
nicola
On 03/11/2023 23:55, Lun Yue wrote:
Dear
Dear all,
I have a question regarding the implementation of the k-gradient.
1) In Wannier90, it is implemented by constructing the weights such that
the completeness relation is fully satisfied [Eq. (B1), PRB 56, 12847
(1997)].
2) Another approach would be to calculate the numerical