GPAW
GPAW is a density-functional theory (DFT) Python code based on the projector-augmented wave (PAW) method and the atomic simulation environment (ASE). It uses plane-waves, atom-centered basis-functions or real-space uniform grids combined with multigrid methods.
Webpage: http://wiki.fysik.dtu.dk/gpaw
Requirements
- Python 2.6-3.5
- ASE (atomic simulation environment)
- NumPy (base N-dimensional array package)
- LibXC
- BLAS
- LAPACK
Optional:
- MPI
- ScaLAPACK
- SciPy (library for scientific computing)
Installation
Do this:
$ python setup.py install --user
and make sure you have ~/.local/bin
in your $PATH.
For more details, please see:
https://wiki.fysik.dtu.dk/gpaw/install.html
Testing
Please run the tests:
$ gpaw test -j 4 # takes 1 hour!
and send us the output if there are failing tests.
Contact
- Mailing lists: gpaw-users and gpaw-developers
- IRC: #gpaw on freenode.net
Please send us bug-reports, patches, code, ideas and questions.
Example
Geometry optimization of hydrogen molecule:
>>> from ase import Atoms >>> from ase.optimize import BFGS >>> from ase.io import write >>> from gpaw import GPAW, PW >>> h2 = Atoms('H2', positions=[[0, 0, 0], [0, 0, 0.7]]) >>> h2.center(vacuum=2.5) >>> h2.set_calculator(GPAW(xc='PBE', mode=PW(300), txt='h2.txt')) >>> opt = BFGS(h2, trajectory='h2.traj') >>> opt.run(fmax=0.02) BFGS: 0 09:08:09 -6.566505 2.2970 BFGS: 1 09:08:11 -6.629859 0.1871 BFGS: 2 09:08:12 -6.630410 0.0350 BFGS: 3 09:08:13 -6.630429 0.0003 >>> write('H2.xyz', h2) >>> h2.get_potential_energy() # ASE's units are eV and Å -6.6304292169392784
Getting started
Once you have familiarized yourself with ASE and NumPy, you should take a look at the GPAW exercises and tutorials.