[gpaw-users] Addition of TS09 vdW significantly increases the time between SCF cycles

Melander Marko marko.melander at aalto.fi
Fri Aug 8 11:13:52 CEST 2014


Dear GPAW users and developers,

I've been using the LCAO of GPAW for running an MD simulation of 256 
water molecules in an periodic cubic cell  of 19.7340 Å. The calculations
are made with CSC's Taito cluster with 64-128 processors.

Using just a GGA functional (PBE), the calculation runs nice and smooth.
The SCF is fast and there the next cycle starts within a minute from the
previous, see below:
              Time      WFS    Density  Energy       Fermi  Poisson
iter:   1  11:58:45                  -3532.368747  1      5      
iter:   2  11:59:04         -2.43    -3532.229711  0      2      
iter:   3  11:59:23         -2.51    -3532.032569  0      2      
iter:   4  11:59:42         -2.76    -3532.002383  0      2      
iter:   5  12:00:01         -3.32    -3532.001169  0      1      
 
 
iter:   1  12:00:53                  -3532.088203  0      5      
iter:   2  12:01:12         -2.44    -3531.963170  0      2      
iter:   3  12:01:32         -2.52    -3531.783862  0      2      
iter:   4  12:01:51         -2.78    -3531.750498  0      2      
iter:   5  12:02:09         -3.33    -3531.747798  0      1      

When I add the TS09 van der Waals corrections, things turn much slower.
Yes, the time for SCF to convergence doesn't change but it takes 25 minutes
to begin the next SCF cycle:

iter:   1  19:54:44                  -3526.852837  0      5      
iter:   2  19:55:01         -2.41    -3526.698160  0      2      
iter:   3  19:55:17         -2.49    -3526.463683  0      2      
iter:   4  19:55:33         -2.75    -3526.433403  0      2      
iter:   5  19:55:49         -3.27    -3526.434217  0      1      

iter:   1  20:19:32                  -3527.211391  0      5      
iter:   2  20:19:48         -2.41    -3527.059798  0      2      
iter:   3  20:20:04         -2.48    -3526.834764  0      2      
iter:   4  20:20:21         -2.75    -3526.783390  0      2      
iter:   5  20:20:37         -3.27    -3526.779247  0      1     

This delay must the caused by TS09 because the only difference in
the GPAW routine (below) is the addition this vdW correction. I thought the
addition of TS09 would be 'free' (as it was for 32 H2O molecules). I've
played with the parallelization, adding memory, number of cores but these
have little effect on the time between SCF cycles.

Why is there such a large difference in the time taken between SCF cycles just
from addition TS09? And how can this be fixed?  

calc = GPAW(mode='lcao',
            xc = 'PBE',
            basis = 'dzp',
            gpts = (96,96,96),
            nbands = -10,
            kpts=(1,1,1),
            convergence={'energy':1.0e-4,'eigenstates':1.0e-6,'density':1.0e-3},
            txt='H2O_256_Berendsen_TS09.txt',
            mixer = Mixer(),
            occupations = FermiDirac(0.05),
            spinpol=False,
            poissonsolver= PoissonSolver(relax='GS', eps=10e-7),
            parallel={'band':8,'sl_default': (6,6,64)})

atoms.set_calculator(calc)

atoms.set_calculator(calc)
atoms.get_potential_energy()

# add TS09 vdW corrections

cc = vdWTkatchenko09prl(HirshfeldPartitioning(calc),
                        vdWradii(atoms.get_chemical_symbols(), 'PBE'))

atoms.set_calculator(cc)
atoms.get_potential_energy()

Best regards,

Marko Melander


More information about the gpaw-users mailing list