Rutgers University Department of Physics and Astronomy

Vanderbilt Ultra-Soft Pseudopotential Site

This is the primary site for the distribution of the ``UltraSoft PseudoPotential'' (USPP) generation code from the group of David Vanderbilt at Rutgers University.

Table of Contents

Browsing and Downloading the USPP Package

To take a first look at this package and get familiar with its contents, you can browse the latest version in the form of a DIRECTORY TREE.

However, to use the package, you should download it as described below.

Fortran sources for pseudopotential generation

This code is freely distributed under the terms of the GNU GPL public license. You may use it for your own research purposes, or pass it on to others for similar use. However, note the following restrictions:

The Fortran sources in the USPP package start with Release 7.3.3 (uspp-733). Previous versions were distributed by email request only; the last of these was "a7.3.2". As far as Fortran sources are concerned, uspp-733 is essentially functionally equivalent to a7.3.2 (only very minor fixes and cosmetic improvements were made in going from a7.3.2 to uspp-733).

The main changes in going from a7.3.2 to uspp-733 are a major renovation of the directory structure, makefiles, and documentation, and the addition of a library of contributed pseudopotentials.

See Source/README for a summary of improvements that were made to the source codes from one release to the next, including those leading up to the most recent uspp-734. The most detailed information about the release history can be found in the header comments making up the first few hundred lines main program runatom.f.

Library of pseudopotentials

This distribution contains a library of pseudopotentials that have been generated by members of the Vanderbilt group or contributed by members of the wider user community. The current status of the library is summarized as follows.

Ultrasoft Pseudopotentials
Not Available

Clicking on an element will take you to a directory-tree view of the library contents for that atom.

Note that what is posted is not the pseudopotential datafile itself, but the input files needed to generate the pseudopotential. Thus, to obtain even one pseudopotential datafile, you have to download and install the package and run the generation procedure for the atom of interest. However, the package has been designed so that this is easy to do.

Disclaimer: The pseudopotentials that have been contributed to this library are provided without any guarantee, explicit or implicit, as to their quality or transferability. Users must accept responsibility for testing the potentials adequately before using them in applications.

The library takes the form of a directory tree descending from the main "Work" directory. To browse the current contents of the library, browse the Work directory directly or navigate via the html table above. The highest-level subdirectories have names like "022-Ti" indicating the atomic number and chemical symbol of the atom in question. Lower-level subdirectories follow a naming structure summarized in the Work/README file.

To generate the potentials, see the directions at AA-QUICK-START. The basic idea is to go to the subdirectories for all the atoms you are interested in and run the recommended sequence of "make" commands ("make; make install; make clean"). This will load a pseudopotential file and a readme file into the Pot/ directory, which will become the active library of potentials.

Contributions to the library

Users are strongly encouraged to submit their input files to expand our library of available potentials. See AA-SUBMISSIONS for more information about how to do this. Note that the version number (currently 7.3.4) will NOT change just because of additions to the library of input files. Check the LAST-MODIFIED date in the Work directory to see if you have the latest version of the library.

Special thanks are due to the Center for Atomic-scale Materials Physics (CAMP) at the Technical University of Denmark, and in particular to Lars Bruno Hansen, for kindly providing pseudopotentials corresponding to many of the ones in the DACAPO Library that is distributed as part of the DACAPO package of the CAMP Open Software (CAMPOS) project. The DACAPO Library consists of binary pseudopotential datafiles generated using an earlier version (a7.0.0) of the generation code. They have now been repackaged to be fully consistent with the currect scheme and checked for compatibility with a recent version (uspp-734) of the code before being installed here. These pseduopotentials have been fairly well tested; brief summaries of the tests can be found in the README files here, and more details and graphical information can be found at the at the CAMPOS site. (Currently, as of December 2002, the potentials are mostly generated with PW91 GGA exchange-correlation, but LDA versions will hopefully be forthcoming soon.)


Each of the links below points to a tarred-and-gzipped archive of the distribution, listed in reverse chronological order. The first part of the name (e.g., "uspp-734") refers to the release of the fortran sources in the Bin/ directory. The last digit (e.g., "-0") refers to the sequence of updates to such things as the library of pseudopotentials, the documentation, or the makefiles.

On most Unix systems, you can unpack the archive by doing something like

   gunzip uspp-734-0.tgz
   tar xf uspp-734-0.tar
   rm uspp-734-0.tar

Getting started

If you just want to generate one or more of the pseudopotentials that are already included in the library, you should find most of the information you need in AA-QUICK-START, which explains how to compile and run the program to generate the pseudopotential from the library parameter files.

If you are more ambitious and would like to modify an existing pseudopotential or generate an entirely new one, see Doc/TUTORIAL.

Note that, by default, the pseudopotential is generated as an unformatted binary data file as described in Doc/FORMAT. If necessary, it may be converted to formatted form using the utility program reform.f in the Utils directory.


The following files may be of some help in getting oriented:

The literature references on ultrasoft pseudopotentials are primarily these:

User community

I am aware of the following open-source codes that can make use of the ultrasoft pseudopotentials generated by this package:

In addition, the following proprietary packages are also compatible:

Another well-known proprietary code that uses ultrasoft potentials is the VASP package. However, VASP uses ultrasoft potentials generated using a somewhat different scheme from the one implemented here. Thus, pseudopotentials taken from the library distributed as part of VASP cannot be imported into the above code packages, and vice versa.

Archive of earlier versions

An archive of previous versions of the uspp package is available here. This could possible be useful in dealing with compatibility issues associated with potentials generated with earlier versions of the code.


Please send comments or suggestions for improvement to

Acknowledgments and Disclaimer

This Web page is based in part upon work supported by the US National Science Foundation under Grants No. 9981193 and 0233925. Any opinions, findings, and conclusions or recommendations expressed in this material are those of the author and do not necessarily reflect the views of the National Science Foundation.

Back to Vanderbilt Home Page.

Please send any comments on this page to