[gpaw-users] optB88-vdW

Jess Wellendorff jewe at slac.stanford.edu
Wed Nov 27 17:24:57 CET 2013


Dear Glen,

I see that optB88-vdW might be broken due to our recent transition to a 
never LibXC, where the optB88 exchange for optB88-vdW calculations has a 
slightly different name than the previous local GPAW implementation of 
that exchange had.

Have you compiled LibXC yourself for use with the GPAW trunk? If so, I 
might be persuaded to fix the naming in gpaw/xc/vdw.py and let you test 
the fix.

Best,
Jess Wellendorff

On 11/26/2013 12:16 PM, Glen Jenness wrote:
> Dear users,
> Is optB88-vdW available in the svn branch?  I tried running the following:
>
> import time
>
> from ase.atoms import Atoms
> from ase.lattice.surface import fcc111, add_adsorbate
> from ase.constraints import FixAtoms
> from ase.optimize.lbfgs import LBFGS
> from ase.parallel import parprint
>
> from gpaw import GPAW, Mixer, FermiDirac
>
> verb = False
> mix = Mixer(beta=0.05, nmaxold=5, weight=100.0)
> occ = FermiDirac(0.1)
> convergence = {'energy': 1e-05,
>                'density': 1e-04}
>
> parprint('Mixer = %s' % str(mix))
> parprint('Occupations = %s' % str(occ))
>
> functionals = ['optB88-vdW']
>
> for functional in functionals:
>     calc = GPAW(mode='lcao', basis='dzp', txt='%s.txt' % 
> functional.lower(), kpts=(3,3,1), occupations=occ, xc=functional,
>                 mixer=mix, maxiter=500, spinpol=False)
>
>     rhodium = fcc111('Rh', (1,1,4), vacuum=8.0)
>     constraint = FixAtoms([0, 1])
>     rhodium.set_constraint(constraint)
>     rhodium *= (2,2,1)
>
>     parprint('%s' % str( rhodium))
>
>     co = Atoms('CO', positions=[(0,0,0), (0,0,1.14)])
>     add_adsorbate(rhodium, co, 1.8, position='ontop')
>
>     rhodium.set_calculator(calc)
>
>     parprint('Doing %s xc:' % functional)
>     t1 = time.time()
>     old = rhodium.get_potential_energy()
>     t2 = time.time()
>     parprint('Energy = %f' % old)
>     diff = (t2 - t1) / 3600.0
>     parprint('Time = %f' % diff)
>
> and got:
>
>   File 
> "/home/vlachos/glenjenness/programs/gpaw/build/lib.linux-x86_64-2.7/gpaw/xc/libxc.py", 
> line 62, in initialize
>     self.xc = _gpaw.lxcXCFunctional(xc, x, c, nspins)
> TypeError: an integer is required
>
> Adding in some extra print statements to xc/libxc.py reveals that the 
> variable x is getting returned as None.
>
> Is optB88-vdW still available?
>
> Glen
>
> -- 
> Dr. Glen Jenness
> Catalysis Center for Energy Innovation (CCEI)
> University of Delaware

-- 
-------------------------------------------------------------
Jess Wellendorff
Postdoctoral Scholar
SUNCAT Center for Interface Science & Catalysis
SLAC National Accelerator Laboratory, U.S.A.
jewe at slac.stanford.edu
-------------------------------------------------------------



More information about the gpaw-users mailing list