General
From our original PAW implementation, we have devel- oped a portable PAW library, called LIBPAW in order to facilitate the porting of PAW in other codes. This library provides a formalism for computational physics — the pseudopo- tential/PAW approach — at a relatively high implementation level (not only low-level methods, such as I/O, error-handling or systems resolution). It is packaged in such a way that it gives access to implementations of core PAW procedures with basis-independent data interfaces and thus can potentially be combined with any other basis used in different programs.