[gpaw-users] GPAW versions

Christian Glinsvad christian.glinsvad at fysik.dtu.dk
Fri Nov 12 15:42:50 CET 2010


Jens Jørgen Mortensen wrote:
>> On Wed, 2010-11-10 at 19:34 -0800, Monica Garcia Mota wrote:
>> Hi, 
>>
>> I have calculated oxygen adsorption energy on TiO2 using two
>> different GPAW versions: 0.7.6383 and 0.7.2.6974. The absolute
>> energy values for TiO2 surface and O-TiO2 are shifted up 0.37 eV
>> with the new GPAW version.
>> 
>> I’m using Dipole correction in my calculations. Does it work in
>> both GPAW versions in the same way?
>>
>> Thanks,
>>
>> Monica Garcia

There's no difference in the way the dipole correction is implemented
between revision 6383 and 6974, as far as I can tell, nor did we fix any
major bugs. We did however do a bit of restructuring:
6383:6974 diff: 
https://trac.fysik.dtu.dk/projects/gpaw/changeset?new=trunk%406974&old=trunk%406383
6383:6974 timeline: 
https://trac.fysik.dtu.dk/projects/gpaw/timeline?from=08%2F13%2F10&daysback=112

> On Thu, 2010-11-11 at 09:02 +0100, Jens Jørgen Mortensen wrote:
>
> Thanks, I got your text files and it does look very strange. I'll see
> if I can figure out what the problem is.
> 
> The text files didn't make it to the mailing list because they were
> too big, but I have them on casimir in /tmp, so those of you in
> Lyngby can find them there.
> 
> Jens Jørgen

I looked through them and did a side-by-side comparison (jens: there are
4 files matching /tmp/O*.txt so I assume you meant the two largest?). It
appears to me that you're getting slightly different geometries during
the QN relaxation and you probably just need to tighten your convergence
criteria as 'density' and 'energy' have influence on force evaluation.

Additionally, it strikes me that you've run these with quite different
parallelization options, which may explain the difference in "entropy"
that led to the two calculations to diverge a bit.

It's also curious to me that the forces at the end of the relaxation are
quite large for the atoms I assume are fixed, and there are quite many
of them. Just be warned that atom fixation can lead to an oblong minima
in the potential energy landscape and therefor also convergence issues.

Regards
Christian Glinsvad

>>
>> Here is my script:
>>
>> import os,sys 
>> import numpy as np
>> from math import *
>> from gpaw import GPAW
>> from ase import Atoms 
>> from ase import Atom
>> from ase.constraints import FixAtoms
>> from ase.optimize import QuasiNewton
>> from ase.visualize import *
>> from ase.io import *
>> from ase.data import reference_states as _refstate
>> from ase.lattice.tetragonal import SimpleTetragonalFactory
>> from gpaw.mixer import Mixer
>> from gpaw.poisson import PoissonSolver
>> from gpaw.dipole_correction import DipoleCorrectionPoissonSolver
>>
>>
>> slab=read('OonCUS-TiO2-2.gpw')
>>
>> name = 'OonCUS-TiO2-pru'
>>
>> calc_name=name + '.txt'
>> traj_name=name + '.traj'
>> log_name=name + '.log'
>> gpwdat = name + '.gpw'
>>
>>
>> mask=[atom.tag<1 for atom in slab]
>> slab.set_constraint(FixAtoms(mask=mask))
>>
>>
>> p = PoissonSolver()
>> mixer=Mixer(0.1, 5, weight=50.0)
>> calc = GPAW(h=0.2,
>>             kpts=(4, 4, 1),     # k-points
>> 	    xc = 'RPBE',
>>             #eigensolver='cg',
>>             txt=calc_name,
>>             convergence = { 'energy' : 0.001,  #default is 0.0005?
>>                             'density' : 1.0e-3, # default is 1.0e-4
>>                             'eigenstates' : 1.0e-9}, #default
>>             nbands=-20,
>>             width=0.10,
>>             verbose=True,
>>             mixer=mixer,
>>             poissonsolver=DipoleCorrectionPoissonSolver(p,2))
>>
>> calc.attach(calc.write, 1,gpwdat)         
>>
>> slab.set_calculator(calc)
>> traj = PickleTrajectory(traj_name,'w',slab)
>> qn = QuasiNewton(slab,logfile = log_name)
>> qn.attach(traj) 
>> qn.run(fmax=0.05)
>> calc.write(gpwdat)
>>


More information about the gpaw-users mailing list