For many applications that rely on the detail of the electronic structure of solids, it is crucial to inspect the symmetries, centres and shapes of the Wannier functions. To this end, one needs to use a visualisation program such as VESTA [1] or VMD [2]. One of the most popular format to encode volumetric data is the GAUSSIAN CUBE format, which is supported by almost all molecular visualization programs. This module extends the cability of Wannier90 in generating output files in the CUBE format for periodic calculations with non-orthogonal unit cells.

  1. Appl. Crystallogr 44, 1272-1276 (2011)
  1. Molec. Graphics 14, 33-38 (1996)

Purpose of Module


This modules allows the User to output volumetric data, e.g. the Wannier functions on a real space grid, in the GAUSSIAN CUBE format even when the unit cell lattice vectors of the periodic calculation are non-orthogonal. The User can activate this feature by inserting the following two lines in the input file: wannier_plot = .true.

wannier_plot_format = cube

In addition, one can also specify the cut-off radius for the Wannier functions, i.e. the radius of the sphere that must fit inside the parallelepiped in which the Wannier function is plotted, via the wannier_plot_radius keyword. The number of atoms to plot with the volumetric data can be implicitly defined by the wannier_plot_scale keyword.

This module is part of the Wannier90 code [3]. The name of the subroutine that implements it is internal_cube_format and can be found in the plot.F90 file within the src folder.

[3]Comput. Phys. Commun. 185, 2309 (2014)

Background Information

Wannier90 source code is available from the official repository on Git-hub http://github.com/wannier-developers/wannier90. Documentation of the source code is done via the FORD program, an online version of this documentation is available online. Instructions on how to install Wannier90 on a variety of architectures may be found in the user guide.

Building and Testing

For building the module one “simply” has to compile the Wannier90 code as explained in the online documentation. This will produce the executable wannier90.x, which contains the module. The source code can be found in the src folder within the plot.F90 module.