History of PEtot
Petot was initially developed by Lin-Wang Wang
while he worked in
National Renewable Energy Laboratory at Golden Colorado. It was then
parallelized by Lin-Wang Wang and Andrew Canning after L.W. Wang moved
to NERSC
at Lawrence Berkeley National Laboratory in 1999. Especially, it uses
Andrew Canning’s
Parallel Fast Fourier Transformation (FFT) code designed for
electronic structure calculations. L.W. Wang also developed the
version_2 of the code (during 2003-2004), which incoporates the
ultrasoft pseudopotentials. Further more, it has a k-point
parallelization on top of the G-space parallelization, it can also
calculate isolated cluster systems and slab systems without the
periodic image potentials. The work by Lin-Wang Wang on this project at
LBNL is funded by U.S. Department of Energy through NERSC.
Features in PEtot
- It is a plane-wave pseudopotential density
functional ground state calculation package.
- It does LDA, LSDA, and GGA.
- It can relax the atoms to find minimum atomic
positions of the total energy.
- It can calculate the optical matrix elements
between different states.
- It can use both the norm conserving
pseudopotentials and ultrasoft pseudopotentials, or a mixture of them.
- It can be used to calculate 3D isolated
clusters or 2D slabs without the periodic image potentials.
- It has two levels of parallelization, the
lower level parallizes on G-space, and the higher level parallizes on
k-points. This is very useful for bulk and surface calculations when
there are a large number of k-points.
- The package contains the main PEtot code, and
sub-packages for norm conserving
pseudopotential generation (from J.S. Martin) and for ultrasoft
pseudopotential generation (from D. Vanderbilt's group).
- It has two algorithms for electronic state
improvement: (1) conjugate gradient,
(2) residual minimization. The residual minimization scheme reduce the
need for
orthogonalization, thus leads to an effective O(N^2) scaling for large
systems.
- It has two schemes for self-consistent
potential mixing: (1) Pulay-Kerker, (2)
Pulay-ThomasFermi. This second method improves significantly the
convergence
speed for large inhomogeneous systems like surfaces and metallic bars.
- It has different schemes for state occupation
finite temperature smearing for metallic calculations.
- It can use either the G-space, or real-space
Kleinman-Bylander nonlocal
pseudopotential implementations. For the real-space implementation, it
uses a
mask-function-scheme, without the need for preprocessing for the
pseudopotentials.
- For multiple k point calculations, it stores
the not-used k-point wavefunctions on
the disk. This reduces the memory requirement significantly.
- It uses n1*n2*n3 grid to represent the
wavefunction in real space, while it uses n1L*n2L*n3L to describe the
charge density in real space.
- It is written in Fortran 90 and parallelized
using MPI. On the first level of parallelization, in G-space, each
processor
possesses a bunch of n1-directioned columns of G coefficients. In real
space,
the n1*n2*n3 grid is divided in the n1 dimension into N-processor
slices, and
each processor possesses one slice of the real space data. The
transformation
between the G-space and real-space is done using the parallel FFT
developed by
Andrew Canning. On the second level of parallelization, a different
group of processors handle different k-points.
For more information, you can see
README
Back-to-home-page