[gpaw-users] Van der Waals correction
Rico Friedrich
friedrir at mailserver.tu-freiberg.de
Thu May 10 08:28:55 CEST 2012
Dear GPAW users,
for instance if I do a calculation with the following input-file:
from ase import io
from ase.parallel import parprint
from gpaw import GPAW, MixerSum, MixerDif, FermiDirac, PoissonSolver
from ase.lattice.surface import *
from ase.optimize import QuasiNewton, MDMin
from ase.data.s22 import data, s22
from ase.calculators.vdwcorrection import vdWTkatchenko09prl
from gpaw.analyse.hirshfeld import HirshfeldDensity, HirshfeldPartitioning
from gpaw.analyse.vdwradii import vdWradii
au=fcc111('Au', size=(3,3,5))
au.center(vacuum=6.0)
c = GPAW(
#h=0.22,
gpts=(160, 160, 160),
kpts=(1,1,1),
mode='lcao',
spinpol=True,
basis='dzp',
xc='PBE',
mixer=MixerSum(),
occupations=FermiDirac(5e-3),
maxiter=300,
poissonsolver=PoissonSolver(relax='GS', eps=1e-10),
)
au.set_calculator(c)
epot = au.get_potential_energy()
## add vdw correction
cc = vdWTkatchenko09prl(HirshfeldPartitioning(c),
vdWradii(au.get_chemical_symbols(), 'PBE'))
au.set_calculator(cc)
epot_vdw = au.get_potential_energy()
relax = QuasiNewton(au, trajectory='Au_TS09.traj', logfile='Au_TS09.rel.log')
relax.run(fmax=0.05)
parprint('Epot: {0}'.format(epot_vdw))
c.write('au_TS09.gpw', mode='all')
c.attach(c.write, n, 'Au_TS09.gpw', mode='gpw:wfs_tmp/psit_Gs%dk%dn%d')
io.write('Au_relTS09.xyz', au)
parprint('>>> DONE <<<')
the run aborts after writing the "Local Magnetic Moments" and I get an
error including:
cc = vdWTkatchenko09prl(HirshfeldPartitioning(c),
vdWradii(au.get_chemical_symbols(), 'PBE'))
File "/home/friedrir/lib/python/gpaw/analyse/vdwradii.py", line 54,
in vdWradii
File "/home/friedrir/lib/python/gpaw/analyse/vdwradii.py", line 54,
in vdWradii
n_g, r_g = get_density(Zrg)
n_g, r_g = get_density(Zrg)
n_g, r_g = get_density(Zrg)
File "/home/friedrir/lib/python/gpaw/analyse/vdwradii.py", line 35,
in get_density
File "/home/friedrir/lib/python/gpaw/analyse/vdwradii.py", line 35,
in get_density
File "/home/friedrir/lib/python/gpaw/analyse/vdwradii.py", line 35,
in get_density
n_g, r_g = get_density(Zrg)
File "/home/friedrir/lib/python/gpaw/analyse/vdwradii.py", line 35,
in get_density
n_g, r_g = get_density(Zrg)
n_g, r_g = get_density(Zrg)
n_g, r_g = get_density(Zrg)
File "/home/friedrir/lib/python/gpaw/analyse/vdwradii.py", line 35,
in get_density
File "/home/friedrir/lib/python/gpaw/analyse/vdwradii.py", line 35,
in get_density
File "/home/friedrir/lib/python/gpaw/analyse/vdwradii.py", line 35,
in get_density
n_g, r_g = get_density(Zrg)
File "/home/friedrir/lib/python/gpaw/analyse/vdwradii.py", line 35,
in get_density
xc, world)
File "/home/friedrir/lib/python/gpaw/setup.py", line 1018, in __init__
xc, world)
File "/home/friedrir/lib/python/gpaw/setup.py", line 1018, in __init__
xc, world)
File "/home/friedrir/lib/python/gpaw/setup.py", line 1018, in __init__
xc, world)
File "/home/friedrir/lib/python/gpaw/setup.py", line 1018, in __init__
xc, world)
File "/home/friedrir/lib/python/gpaw/setup.py", line 1018, in __init__
xc, world)
xc, world)
File "/home/friedrir/lib/python/gpaw/setup.py", line 1018, in __init__
File "/home/friedrir/lib/python/gpaw/setup.py", line 1018, in __init__
xc, world)
File "/home/friedrir/lib/python/gpaw/setup.py", line 1018, in __init__
symbols = [chemical_symbols[Z] for Z in Z_a]
symbols = [chemical_symbols[Z] for Z in Z_a]
symbols = [chemical_symbols[Z] for Z in Z_a]
symbols = [chemical_symbols[Z] for Z in Z_a]
TypeError: TypeError: TypeError: TypeError: list indices must be
integers, not NoneType
Could anyone help? Thanks in advance.
Best,
Rico
Zitat von Michael Walter <Michael.Walter at fmf.uni-freiburg.de>:
> Hi,
>
> 2012/5/9 Rico Friedrich <friedrir at mailserver.tu-freiberg.de>
>
>> Dear GPAW users,
>>
>> I try to do a calculation with a molecule adsorbed on an Au-surface
>> and want to use the Van der Waals correction of Tkatchenko and
>> Scheffler for geometry optimization. Calculations on the pure
>> molecular structure without the gold atoms work fine. Then I obtained
>> the values for the C6 coefficient and the other parameters in the
>> vdwcorrection.py file for gold Ruiz et al. PRL 108 (2012). However
>> when I include the gold atoms in the relaxation I still get an
>> error-message including the following lines:
>>
>> cc = vdWTkatchenko09prl(HirshfeldPartitioning(c),
>> vdWradii(aupc.get_chemical_symbols(), 'PBE'))
>> File "/home/friedrir/lib/python/gpaw/analyse/vdwradii.py", line 54,
>> in vdWradii
>> cc = vdWTkatchenko09prl(HirshfeldPartitioning(c),
>> vdWradii(aupc.get_chemical_symbols(), 'PBE'))
>> File "/home/friedrir/lib/python/gpaw/analyse/vdwradii.py", line 54,
>> in vdWradii
>> n_g, r_g = get_density(Zrg)
>> File "/home/friedrir/lib/python/gpaw/analyse/vdwradii.py", line 35,
>> in get_density
>> n_g, r_g = get_density(Zrg)
>> File "/home/friedrir/lib/python/gpaw/analyse/vdwradii.py", line 35,
>> in get_density
>> xc, world)
>> File "/home/friedrir/lib/python/gpaw/setup.py", line 1018, in __init__
>> xc, world)
>> File "/home/friedrir/lib/python/gpaw/setup.py", line 1018, in __init__
>> symbols = [chemical_symbols[Z] for Z in Z_a]
>> TypeError: list indices must be integers, not NoneType
>> GPAW CLEANUP (node 3): <type 'exceptions.TypeError'> occurred.
>> Calling MPI_Abort!
>> symbols = [chemical_symbols[Z] for Z in Z_a]
>>
>>
>> Is there any idea how to overcome the problem. Thanks in advance.
>>
>
> could you provide an example that shows the problem, please ?
>
> Best,
> Michael
>
>
>> Best regards,
>>
>> Rico Friedrich
>>
>> _______________________________________________
>> gpaw-users mailing list
>> gpaw-users at listserv.fysik.dtu.dk
>> https://listserv.fysik.dtu.dk/mailman/listinfo/gpaw-users
>>
>
>
>
> --
> ------------------------------------------
> PD Dr Michael Walter
> Address: Freiburger Materialforschungszentrum
> Stefan-Meier-Straße 21
> D-79104 Freiburg i. Br.
> Germany
> Tel.: +49 761 203 4758 and +49 761 203 7695
> Fax: +49 761 203 4701
> email: Michael.Walter at fmf.uni-freiburg.de
> www: http://omnibus.uni-freiburg.de/~mw767
>
More information about the gpaw-users
mailing list