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 well. I can confirm that is much
more accurate (spherically symmetric) than the 6-point approach to
calculate the gradient. I implemented the gradient with both second
accuracy and third order accuracy (in this case the A in Aw=q is a
21xN_s matrix instead of 6xN_s matrix), and I can see improvements in
the resulting observables.
Thanks again Junfeng, Nicola, and Jonathan for all your help!
Best regards,
Lun
Louisiana State University
On 11/7/23 4:38 AM, Junfeng Qiao wrote:
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 the MMN file can be
generated in a deterministic way, i.e., you could run wannier90.x multiple
times and there won't be collision between the current bvectors and the ones in
MMN file.
The rules are somewhat difficult to explain in plain sentence, the best
resource should be the src/kmesh.F90 file. In short, (at each kpoint) the
bvectors are first sorted by their norm in ascending order, then by the index
of the supercell used to generate a large mesh for searching bvectors, then the
index of the kpoints.
You could also manually write a nnkp file with fixed bvector ordering at each
kpoint, then use that nnkp to compute MMN file, then restart Wannierization
with such bvector order. As long as bvector orderings during the whole process
are consistent, there will be no issue.
Best,
Junfeng
THEOS, EPFL
On 6 Nov 2023, at 6:42 PM, Lun Yue <lun_...@msn.com> wrote:
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 from k-point to k-point?
Best regards,
Lun
Louisiana State University
On 11/4/23 6:04 AM, Jonathan Yates wrote:
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 approach gives a more accurate
position operator - and also a more symmetric representation. See
http://www.tcm.phy.cam.ac.uk/~jry20/wannier/pos_op.html
Jonathan
—
Prof. Jonathan Yates
Professor of Materials Modelling, Dept of Materials, University of Oxford
Tutor for Materials Science, St Edmund Hall, Oxford.
On 4 Nov 2023, at 02:55, Nicola Marzari <nicola.marz...@epfl.ch> wrote:
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 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 derivatives along the
reciprocal lattice vectors (which is easy as the quantities are given in a
Monkhorst-Pack grid), and then transform to the Cartesian coordinates using the
metric tensor and the reciprocal lattice vectors.
I am wondering why approach 1) was implemented over approach 2) in Wannier90.
The second approach seems to be easier, or does approach 2) fail in some cases?
Best regards,
Lun Yue
Louisiana State University
_______________________________________________
Wannier mailing list
Wannier@lists.quantum-espresso.org
https://lists.quantum-espresso.org/mailman/listinfo/wannier
--
----------------------------------------------------------------------
Prof Nicola Marzari, Chair of Theory and Simulation of Materials, EPFL
Director, National Centre for Competence in Research NCCR MARVEL, SNSF
Head, Laboratory for Materials Simulations, Paul Scherrer Institut
Contact info and websites at http://theossrv1.epfl.ch/Main/Contact
_______________________________________________
Wannier mailing list
Wannier@lists.quantum-espresso.org
https://lists.quantum-espresso.org/mailman/listinfo/wannier
_______________________________________________
Wannier mailing list
Wannier@lists.quantum-espresso.org
https://lists.quantum-espresso.org/mailman/listinfo/wannier
_______________________________________________
Wannier mailing list
Wannier@lists.quantum-espresso.org
https://lists.quantum-espresso.org/mailman/listinfo/wannier