[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