[gpaw-users] Dipole correction breaks restart
Andrew Peterson
andy.peterson at stanford.edu
Thu Oct 14 00:33:09 CEST 2010
Hi again,
I've discovered that implementing the dipole correction breaks the
restart function of the GPAW calculator. I've attached a simple script
that has a dipole correction. Trying to use restart('calc.gpw') on the
output file results in the below error. (This doesn't happen on the same
script if the dipole parts are removed.)
thanks,
Andy
===== Error message from gpaw.restart:
>>> from gpaw import restart
>>> atoms, calc = restart('calc.gpw')
___ ___ ___ _ _ _
| | |_ | | | |
| | | | | . | | | |
|__ | _|___|_____| 0.7.6383
|___|_|
User: aap at suncat0073
Date: Wed Oct 13 15:31:34 2010
Arch: x86_64
Pid: 6584
Dir: /afs/slac/g/suncat/vol1/gpawv3/install/lib64/python/gpaw
ase: /afs/slac/g/suncat/vol1/gpawv3/ase/ase version: 3.4.1
numpy:
/afs/slac/g/suncat/vol1/gpawv3/numpy-1.4.1/build/lib.linux-x86_64-2.4/numpy
units: Angstrom and eV
Memory usage: 23.12 MB
Traceback (most recent call last):
File "<stdin>", line 1, in ?
File
"/afs/slac/g/suncat/vol1/gpawv3/install/lib64/python/gpaw/__init__.py",
line 261, in restart
calc = Class(filename, **kwargs)
File
"/afs/slac/g/suncat/vol1/gpawv3/install/lib64/python/gpaw/paw.py", line
116, in __init__
self.initialize()
File
"/afs/slac/g/suncat/vol1/gpawv3/install/lib64/python/gpaw/paw.py", line
580, in initialize
par.external)
File
"/afs/slac/g/suncat/vol1/gpawv3/install/lib64/python/gpaw/hamiltonian.py",
line 69, in __init__
self.poisson.set_grid_descriptor(finegd)
File
"/afs/slac/g/suncat/vol1/gpawv3/install/lib64/python/gpaw/poisson.py",
line 52, in set_grid_descriptor
self.operators = [Laplace(gd, scale, self.nn, allocate=False)]
File
"/afs/slac/g/suncat/vol1/gpawv3/install/lib64/python/gpaw/fd_operators.py",
line 154, in Laplace
return NewGUCLaplace(gd, scale, n, dtype, allocate)
File
"/afs/slac/g/suncat/vol1/gpawv3/install/lib64/python/gpaw/fd_operators.py",
line 270, in __init__
coefs = [laplace[n][0] * a_d.sum()]
IndexError: list index out of range
===== Input script:
#!/usr/bin/env python
from ase.data.molecules import molecule
from ase.visualize import view
from gpaw import GPAW
from gpaw.poisson import PoissonSolver
from gpaw.dipole_correction import DipoleCorrectionPoissonSolver
atoms = molecule('H2O')
atoms.set_cell([12.,12.,12.])
atoms.center()
p = PoissonSolver()
calc = GPAW(txt='H2O.txt',
poissonsolver=DipoleCorrectionPoissonSolver(p, 2),
)
atoms.set_calculator(calc)
energy = atoms.get_potential_energy()
calc.write('calc.gpw')
More information about the gpaw-users
mailing list