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
- 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)
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
Please run the tests:
$ gpaw test -j 4 # takes 1 hour!
and send us the output if there are failing tests.
- Mailing lists: gpaw-users and gpaw-developers
- IRC: #gpaw on freenode.net
Please send us bug-reports, patches, code, ideas and questions.
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
Once you have familiarized yourself with ASE and NumPy, you should take a look at the GPAW exercises and tutorials.