The code projwfc.x calculates projections of wavefunctions
over atomic orbitals. The atomic wavefunctions are those contained
in the pseudopotential file(s). The Löwdin population analysis (similar to
Mulliken analysis) is presently implemented. The projected DOS (or PDOS:
the DOS projected onto atomic orbitals) can also be calculated and written
to file(s). More details on the input data are found in file
Doc/INPUT_PROJWFC.*. The ordering of the various
angular momentum components (defined in routine flib/ylmr2.f90)
is as follows:
P0, 0(t),
P1, 0(t),
P1, 1(t)cos,
P1, 1(t)sin
,
P2, 0(t),
P2, 1(t)cos
,
P2, 1(t)sin
,
P2, 2(t)cos2
,
P2, 2(t)sin2
and so on, where Pl, m=Legendre Polynomials,
t = cos
= z/r,
= atan(y/x).
Data produced by code projwfc.x can be further analysed using auxiliary codes sumpdos.x (sums selected PDOS by specifying the names of files containing the desired PDOS: type sumpdos.x -h or look into the source code for more details) and plotproj.x .
The total electronic DOS can also be calculated by code dos.x, whose complete input documentation is in Doc/INPUT_DOS.* See Example 02 for total and projected electronic DOS calculations, -and for projected band structure; see Example 03 for projected and local DOS calculations.
The DOS projected over molecular states (e.g. for a molecule on a surface system) can be computed using code molecularpdos.x (courtesy of Guido Fratesi). See file Doc/INPUT_MOLDOS.* for input documentation and directory MolDos_example/ for an example.