[Wannier] Problem with use_ws_distance

Dominik Gresch greschd at phys.ethz.ch
Thu Feb 16 13:34:42 CET 2017


Dear Lorenzo,

Thank you very much for your reply. Indeed, increasing the tolerance (in 
my case, to about 7.d-4) fixes this issue. I changed the code such that 
the tolerance can be given as an input parameter, see here: 
https://github.com/greschd/wannier90/tree/irdist_ws_tol

First of all, do you think this is useful / necessary in general? If 
yes, are there other places in ws_distance.F90 where the tolerance 
should be changed accordingly? From glancing over the code I would guess 
maybe eps = 10 * irdist_ws_tol would make sense. Of course we could also 
let the user set eps and use irdist_ws_tol = eps / 10 . Please let me 
know what you think about this.

Best regards,

Dominik

P.S.: I uploaded my input files here: 
http://z2pack.ethz.ch/54dcaf52-9c86-4cd6-b5dc-1fe2714ca45d/input.tar.bz2 
However, the files are very large (500MB compressed, about 1.2 GB 
uncompressed), so they might not be worth downloading. Also, I'm not 
especially interested in getting this particular example to run, I was 
just playing around with parameters to see how they affect the result.


On 15.02.2017 13:32, Lorenzo Paulatto wrote:
>
> On Tuesday, February 14, 2017 9:51:50 PM CET Dominik Gresch wrote:
>
> > Dear Wannier90 community,
>
> >
>
> > While running Wannier90 with the 'use_ws_distance = .TRUE.' flag, I
>
> > encounter the error 'wrong irdist_ws'. Does anyone know the nature of
>
> > this error?
>
> This error should never happen, although if the position of the 
> centres of the WFs are very noisy it may pop up. It is difficult to 
> tell without having the slightest detail about your calculation.
>
> Could you please provide us the files necessary to reproduce you 
> calculation (ie. all the file seedname.*, except the UNK files).
>
> As a quick workaround, you can go in the file src/ws_distance.F90 and 
> around line 156 change this check:
>
> IF(ANY(ABS(DBLE(irdist_ws)-irdist_real)>1.d-6)) &callio_error('wrong 
> irdist_ws')allowing for a larger tolerance, something like 1.d-4 or 
> 1.d-3. If then the code runs to the end, it is just a problem of 
> numerical noise/minimisation not being tight enough.
>
> If this does not help, we definitely need to reproduce the calculation 
> in order to be able to help.
>
> > Important things to note:
>
> > - The error seems to appear also for 'use_ws_distance = .FALSE.',
>
> > but in that case the output files are still written
>
> Yes, there is a place where the subroutine causing the error is called 
> even when that option is false. This occurence arrives later in the 
> code, hence I can see how the output files are written in this case. 
> To avoid this problem, you can change src/plot.F90 around line 80, from
>
> if( write_hr.or.write_rmn.or.write_tb ) thenif(.not.done_ws_distance) 
> callws_translate_dist(nrpts,irvec) callws_write_vec(nrpts,irvec) end if
>
> to
>
> if( (write_hr.or.write_rmn.or.write_tb) .and.use_ws_distance) 
> thenif(.not.done_ws_distance) callws_translate_dist(nrpts,irvec) 
> callws_write_vec(nrpts,irvec) end if
>
> And, of course, recompile (I have not tested this, but it should work).
>
> > - My input files were generated with VASP (meaning, for Wannier90
>
> > v.1), which could be the source of the problem
>
> I do not think this makes any difference.
>
> hth
>
> -- 
>
> Dr. Lorenzo Paulatto
>
> IdR @ IMPMC -- CNRS & Université Paris 6
>
> phone: +33 (0)1 442 79822 / skype: paulatz
>
> www: http://www-int.impmc.upmc.fr/~paulatto/
>
> mail: 23-24/423 Boîte courrier 115, 4 place Jussieu 75252 Paris Cédex 05
>
>
>
> _______________________________________________
> Wannier mailing list
> Wannier at quantum-espresso.org
> http://mailman.qe-forge.org/cgi-bin/mailman/listinfo/wannier

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.quantum-espresso.org/pipermail/wannier/attachments/20170216/38e50e0b/attachment.html>


More information about the Wannier mailing list