Relation to ASE¶
The very nice ASE project is in some way related. It also stores atomic
structure data in Python objects for further manipulation. If needed, one can
convert a Structure
to an ASE Atoms object. The design
goal of ASE is, however, different from pwtools. ASE provides interfaces to a
large pile of ab initio codes (“calculators”). MD and structure optimization in
ASE is coded in Python, using only the calculator’s SCF engine in every step to
get energy and forces. This is a very good idea, but only structure
optimization is really developed and tested, as it seems. MD not so much.
Better use a special MD code here. I’m not sure if ASE provides wave function
extrapolation for Born-Oppenheimer MD [*]. Phonon calculations based on density
functional perturbation theory like PWscf/PH or Abinit are not implemented
(maybe in GPAW?). However, the supercell method can be used with the related
phonopy package. The focus of the pwtools package is to be a handy pre- and
postprocessor providing pythonic access to all input and output quantities of
the used ab initio codes. In ASE, the calculator abtracts the backend code’s
input away. With pwtools, you need to know the input file syntax of your
backend code. Once you know that, you use only template files to set up
calculations. Regarding visualization, ASE has some kind of GUI. We have
visualize
, which is best used in an interactive Ipython
session.
In fact, appart from parse
, which implements parsers for ab
initio code output and pwscf
, all other parts of the package
are completely independent from any external simulation code’s output.
Especially the parameter study tools in batch
can be used for
any kind of (computational) study, since only user-supplied template files are
used.
[*] Last time I checked, I stumbled over a mailing list thread where they said that in LCAO mode, the density would be re-used between steps.