[Wannier] Omega minimum search divergence in wannier90

Alex Kutana akut at yahoo.com
Sat Aug 23 03:31:27 CEST 2008


> 

> Alex,
> 
> Something I always try when the minimiser gives me very large spreads is
>   guiding_centres = T
> (see comments about branch cuts in the orignal papers for the meaning of 
> this keyword).
>   At the moment this requires projections to be defined - however, a quick 
> way to do this is to set
>   begin projections
>   random
>   end projections
> 
> With this set the minimisation goes down-hill very quickly - after 100 
> steps the spread is converged to 10^-7 giving
>           Spreads (Ang^2)       Omega I      =    17.485221718
>          ================       Omega D      =     0.010329097
>                                 Omega OD     =     3.222348850
>      Final Spread (Ang^2)       Omega Total  =    20.717899666


Hi Jonathan,

Thank you for your tip. Using guiding centers seems to do the trick.

> 
> 
>   - so, in this case, the upward jump in the spread is a bit misleading - 
> but Nicola's suggestions are still worthwhile in the general case. Also 
> note the keywords fixed_step and step_length.
> 

I'd like to suggest another short-term solution for the cases when a stability problem like this is encountered: make the code fail with an error or issue a warning if omega starts increasing during the search. This will clearly tell the user that something may not be right in the calculation.


> 
>   In the past I've had w90 working fine with gfortran on linux and osx. 
> I'd be interested to know what the problem was, and the combination of 
> compiler version, platform and libraries. (assuming this is the latest 
> stable gfortran)
> 

Here is an example of a discrepancy between ifort and gfortran:
ifort and gfortran wannier90 are run on two identical sets of input files, producing different outputs: in the ifort case, Omega Total  = 3.004308445, while in the gfortran case, Omega Total  = 3.509288435.
The names of output files are gr_ifort.wout and gr_gfortran.wout . The archive with all the files can be downloaded here:
http://www.mediafire.com/?j0u10x3i4jy

My system is Ubuntu linux, kernel version  2.6.24-19, run on an AMD64 2-core processor.

The list of the dynamic libraries used by the 'gfortran' wannier90:

ldd /opt/wannier90/bin/wannier90_gfortran_buggy 
    linux-vdso.so.1 =>  (0x00007fff845fe000)
    liblapack.so.3 => /usr/lib/atlas/liblapack.so.3 (0x00007f8c7b911000)
    libblas.so.3 => /usr/lib/atlas/libblas.so.3 (0x00007f8c7af73000)
    libg2c.so.0 => /usr/lib/libg2c.so.0 (0x00007f8c7ad43000)
    libgfortran.so.2 => /usr/lib/libgfortran.so.2 (0x00007f8c7aa84000)
    libm.so.6 => /lib/libm.so.6 (0x00007f8c7a803000)
    libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x00007f8c7a5f5000)
    libc.so.6 => /lib/libc.so.6 (0x00007f8c7a293000)
    /lib64/ld-linux-x86-64.so.2 (0x00007f8c7c269000)

No static libraries are linked. The version of gfortran is 4.2.3.


Alex Kutana



-- 
Oleksandr Kutana, Scientific Research Assistant
California Institute of Technology
Division of Chemistry and Chemical Engineering
Mail code 210-41
Pasadena, CA 91125
phone: (626)395-4283
email: kutana at cheme.caltech.edu
webpage: http://www.che.caltech.edu/groups/kpg/group/alex/




More information about the Wannier mailing list