Skip to content

Releases: wannier-developers/wannier90


15 Feb 09:15
Choose a tag to compare

New features

  • Calculation of spin Hall conductivity according to the formalism given in Junfeng Qiao, Jiaqi Zhou, Zhe Yuan and Weisheng Zhao, PRB 98, 214402 (2018) + examples 29 and 30 and tests [#264]

  • Implementation of the SCDM method in Wannier90 for spinor wavefunctions and added example31 for the tutorial [#277]

  • Utility w90spn2spn.x for conversion between formatted and unformatted .spn files [#274]

Various improvements and bugfixes

  • Add install target for make, now make install works [#307]

  • Added new documentation and fixed typos [#308] [#256] [#306] [#300]

  • small restructuring of the routines for the AHC calculation with multiple Fermi energies and adaptive refinement [#289]

  • Fix in restart mode (now gathering matrices before dumping .chk file) [#283]

  • Fix pw90common_fourier_R_to_k subroutines bugs when use_ws_distance = .true. [#273][#271]

  • Fixes and speed improvements in pw2wannier90.f90 [#295] [#255]

  • Bug fixes of and [#294]

  • Various bugfixes in input reading and output generation [#309] [#290] [#270] [#266] [#258]

  • Adding tests for BoltzWann (at least for the electrical conductivity) [#282]

  • Bug fixed in the disentanglement step with SAWFs, especially when running in parallel [#315]


15 Feb 09:15
Choose a tag to compare

New Wannier90 features

  • Selective localization and constrained centres from Marianetti et al. [PRB 90, 165125 (2014)] [#187] [#207] [#206] [#205]

  • Implementation of the SCDM method in Wannier90 [#167] [#202] and added an example for the tutorial [#194]. Note that during development we have adapted the interface of the SCDM input flags; Quantum ESPRESSO v6.4 has the current implementation. [#238]

  • Parallelisation of the core Wannier90 routines [#193] [#185] [#173] [#151] [#149] [#125] [#120] [#76]

  • Added feature to select projections from a longer list [#200]

  • Preconditioning of the SD/CG algorithm to optimize the spread [#98]

  • Allow to generate cube files also for non orthogonal unit cells [#162], documentation [#179] and examples [#198]

  • Enable plotting of spinor Wannier functions [#157] [#155]

  • Improve how band paths are generated when discontinuities are present [#199]
    Moreover, it generates a new file seedname_band.labelinfo.dat with information on where the high-symmetry points were located.

  • Add possibility to print b-vectors on file. [#176]

  • Add various command line arguments (e.g. for dry-run) and command-line help [#158]

  • Change of some variable defaults [#218]

New postw90 features, optimizations and new post-processing codes

  • Calculation of nonlinear shift currents according to the formalism given in J. Ibañez-Azpiroz, S. S. Tsirkin and I. Souza, arXiv:1804.04030 (2018) + example 25 [#181] [#180]

  • New gyrotropic module implementing the method described in S. S. Tsirkin, P. Aguado Puente and I. Souza, arXiv:1710.03204 [#160]

  • G0W0 interface for Wannier90 (tested with QE and Yambo) and documentation [#102] [#96]

  • Performance improvements of parallel postw90 routines [#153] [#108]

Various improvements and bugfixes

  • New extensive solution booklet, contributed by V. Vitale, with solutions for examples 1-22 [#233]

  • Fix guiding center gamma point bug [#223]

  • Fixed issue in the search for points inside the Wigner-Seitz cell, making the code more robust for very anisotropic/stretched cells [#216]

  • Fixes to bugs in library mode [#196] [#224] [#170]

  • Fix U matrices not being written [#177]

  • Fixed the hamiltonian_write_rmn routine to correspond to hamiltonian_write_tb and use the proper formula for diagonal elements [#168]

  • Bugfix to read_sym in pw2wannier90 [#166]

  • Fix python script generated by kslice [#154]

  • Bugfixes for reading and writing uHu ad uIu matrices [#146] [#140] [#97]

  • Fixed index range when plotting U matrices to file [#145]

  • Fix a bug in Gamma-only routines [#132]

  • Fix to geninterp when run with more processors than kpoints [#129]

  • Update of get_oper.F90 to correctly pass matrix elements [#126]

  • Fix Fermi energy initialisation in parameters [#121]

  • Improvements to the Wigner-Seitz detection routines [#117] [#109]

  • Fix berry_task check for morb, and add check for kpoint_path block in parameters [#258]

  • Use 64 bit integer in io_wallclocktime [#266]

Improvement for compilation and for developers


15 Feb 09:14
Choose a tag to compare

New features

  • Implementation of the symmetry-adapted Wannier functions
    (see R. Sakuma, Phys. Rev. B 87, 235109 (2013), courtesy
    of R. Sakuma (Lund University, Sweden), T. Koretsune (Riken, JP),
    Y. Nomura (U. Tokyo, JP), Y. Nohara (Atomic-Scale Material
    Simulations, Co., Ltd.), R. Arita (Riken, JP))

  • Streamlined the interface between wannier90 and tight-binding
    codes such as pythtb (new input variable: write_tb). Also,
    matrix elements of the position operator can now be printed
    (courtesy P. Garcia Fernandez, Unican, ES)

  • Non-collinear sping with ultrasoft pseudos now implemented
    in the pw2wannier90 interface with Quantum ESPRESSO, working
    also in parallel (courtesy F. Thoele (ETHZ, CH), T. Koretsune
    (Riken, JP), L. Paulatto (UPMC Paris))

  • postw90 prints an error message when trying to evaluate a quantity
    that requires a Fermi level, but none has been provided by the user
    (input variable fermi_level now has no default value)

  • Fixed bug in kslice.F90 (trying to plot isoenergy contours colored
    by the spin gave an error message at runtime).

  • Adaptively-refined mesh now implemented correctly for even sizes
    (e.g., 4x4).

  • Fixed bug in the calculation of orbital magnetization in berry.F90

  • Fixed the skip_B1_tests flag, that was ignored

  • Fix to documentation of geninterp: k units were 1/ang and not
    2pi/ang as previously stated; also made names for absolute/fractional
    coordinates consistent with the rest of the code:now 'crystal' or
    'frac' mean fractional coordinates for k-points, 'cart' and
    'abs' mean absolute.

  • Improvements to various Makefiles

  • Renamed make.sys to to cope with possible issues when this
    file is sent over email (some providers think it's a virus and
    remove it from attachments). If you have already compiled wannier90,
    after updating the version, just rename make.sys to

  • Added the use_ws_distance flag to improve the interpolation of
    band structures (courtesy of L. Paulatto, UPMC Paris).

  • Improved the interface with the Z2pack code (courtesy D. Gresch, ETHZ)

New features for developers

  • Added a test-suite, and integrated with GitHub and Travis-CI for
    continuous integration. A number of tests have been added
    (contributed mainly by S. Ponce, Oxford). Also compilation on the
    buildbot test farm at the Oxford Materials Modelling Laboratory
    has been activated.
  • First implementation of the FORD infrastructure for code documentation
    (courtesy D. Gresch, ETHZ).


15 Feb 09:13
Choose a tag to compare
  • Added the possibility to disentangle only in small spherical regions
    in k space around a selected number of k points - see also Example 20.
    (contributed by Gabriele Sclauzero, ETH Zurich)

  • Added the skip_B1_tests flag to be compatible with the Z2PACK code

  • Reintroduced the boltz_bandshift flag for a rigid shift of the bands
    in BoltzWann; updated reference of BoltzWann paper; added a version
    of BoltzWann tutorial example (example 16) that works also without
    Quantum ESPRESSO.

  • Added documentation on pw2wannier90.f90 for QE 5.1.x

  • bug fix in w90chk2chk.F90 (missing allocation if there were excluded bands)

  • bug fix in kslice.F90 (missing transpose when plotting Fermi lines in
    the python scripts)


15 Feb 09:13
Choose a tag to compare
  • Updated interface to PWscf v5.0 (including a minor bug fix to the
    definition of the projection functions).

  • Enabled very general specification of spinor projections

  • Generalized the definition of the supercell for real-space plotting of
    the Wannier functions: now the supercell size (wannier_plot_supercell)
    can be different along the three directions. Moreover, the home cell
    is left approximately at the center of the supercell, rather than near
    one of its edges.

  • Now it is possible to provide both 'seedname' and '' on the
    command line, both will work

  • Tabs can now be present in the input file without problems

  • Added the new (parallel) postw90.x executable for calculations which use
    the MLWFs calculated by wannier90.x as an input.

  • Added the following postw90.x modules:

    • dos
    • berry
    • kpath
    • kslice
    • BoltzWann
    • geninterp
  • Added the w90chk2chk.x utility to convert the checkpoint file between
    the formatted/unformatted formats, to move it between different computers
    with different architectures

  • Added the w90vdw utility to calculate van der Waals energies with MLWFs

  • Added the w90pov utility to render ray-traced isosurfaces using POV-Ray

  • A few bugfixes


15 Feb 09:13
Choose a tag to compare
  • The information written to the file seedname_hr.dat (the Hamiltonian
    in the WF basis) has been extended to include the number of WF (num_wann),
    the number of Wigner-Seitz points (nrpts) and the degeneracy of each point

  • The information contained in seedname.chk has been extended to
    include the number of bands (num_bands), the number of excluded
    bands (num_exclude_bands), the excluded band indices (exclude_bands)
    and the Monkhorst-Pack grid dimensions (mp_grid). As a result
    v1.2 is not compatible with checkfiles written with older versions of
    the code.

  • Automated lcr transport calculations from a single supercell.
    Includes robust sorting and Wannier function parity determination
    algorithms (new input variables: tran_num_cell_ll, tran_num_cell_rr,
    tran_group_threshold, easy_fix)

  • Added examples 14, 15 to tutorial to displaying new lcr transport

  • Updated interface to PWscf v4.1.2 (new input variable write_unkg)

  • New utility: PL_assessment. Investigates principal layer size
    from bulk transport, many k-point lead calculations.

  • Altered <seedname> output file to include atomic
    positions in transport calculations

  • Fixes for tran_num_cell_ll=1 in tran_hr_one_dim_cut

  • Minor bug fixes

  • Addition of Matthew Shelley and Nicolas Poilvert as contributors.

  • Report of estimated memory usage

  • Improved memory efficiency


15 Feb 09:12
Choose a tag to compare
  • Addition of specific algorithms for when only Gamma-point
    sampling is used (new input variable: gamma_only)

  • Addition of routines for quantum transport and DoS calculations
    (new input variables: transport, transport_mode, etc.)

  • Option to write out hamiltonian matrix elements in the Wannier
    function basis (new input variable: hr_plot)

  • Option to set a convergence threshold for localisation procedure
    (new input variables: conv_tol, conv_window)

  • Improved minimisation algorithms for localisation routines
    (new input variables: conv_noise_amp, conv_noise_num)

  • Option to specify the number of shells that are searched to find
    nearest neighbour b-vectors (new input variable: search_shells)

  • Option to plot bandstructures in xmgrace format (bands_plot_format=xmgrace)

  • Option to plot Wannier functions in cube format (wannier_plot_format=cube)
    -- works for isolated molecules, further testing for periodic systems is
    required -- significantly reduces WF file-size
    (new input variable: wannier_plot_radius)

  • Optional capability to specify some projections in input file and
    have the remaining centres chosen randomly by the code

  • Checkpointing and restarts all done via the .chk file (_um.dat file
    now obsolete)

  • Further enhancements to the way projections are specified

  • Option to map Wannier functions onto bandstructure
    (new input variable: bands_plot_project)

  • Option to have spinor Wannier functions
    (new input variable: spinors)

  • A few new tutorial examples

  • Improvements to "library mode" functionality


15 Feb 08:38
Choose a tag to compare
  • Addition of "library mode" functionality

  • Introduction of "range vectors" for specifying exclude_bands and
    wannier_plot_list in input file

  • Option to specify random projections

  • Option to use Bloch phases for initial projections

  • Addition of timing_level input flag to control how much timing
    information is outputted

  • Option to translate final centres to the home unit cell

  • Option to write final centres in xyz format

  • Acceleration of disentanglement procedure

  • Speed-up of localisation routines

  • Improved robustness of plotting routines


15 Feb 08:35
Choose a tag to compare
  • Bug fix in wannierise minimiser - caused poor convergence in large systems

  • Increase precision of k-points in *.nnkp file

  • More robust selection of eigenvectors in disentanglement (dis_proj_froz)

  • Addition of write_proj keyword -- outputs projection of original bands
    on final Wannier functions

  • Longer strings for atom labels in *.win

  • Minor format change to *_bands.dat

  • Check restart keyword in *.win


15 Feb 08:33
Choose a tag to compare

First official release of Wannier90