Speedup NWChem Calculations


Clicked A Few Times
I have noticed that, on the same machine, NWChem usually have a slower performance compared to ORCA and G09/16 by a factor of 5 or more!
Using the same structure to get an SP with b3lýp/def2-tzvp every SCF iteration is taking ~150 sec while on ORCA it takes ~1 or 2 sec. ORCA uses KDIIS, SOSCF, and speedups obtained by RI, RIJCOSX and others.
My question is: is it possible to speedup NWChem too? I usually base my calculations on example inputs obtained from the GitHub wiki.
Henrique C. S. Junior
Inorganic Chemist - UFRRJ - Rio de Janeiro

Clicked A Few Times
my nwchem tips
I have often wondered the same thing about little tricks to speed up NWChem. Unlike Orca, a lot of speed-ups are not run with default NWChem setting. Below are some speed-up options I've found. Hopefully others can share their own tips and tricks!

- I don't think NWChem has analogous SCF-optimization algorithms to KDIIS and SOSCF as described in the Orca manual. NWchem uses DIIS by default.

- Some of the relative slowness of NWChem vs Orca may be due to use of different default integration grids. Orca by default uses a GaussChebyshev radial grid and Lebedev110 for initial SCF iterations and Lebedev302 for a final SCF evaluation. It seems possible to specify these grids in NWChem according to the grid documentation, but I don't know if a looser grid can be used for initial SCF cycles like in Orca.

- Resolution-of-Identity ("RI*") approximations (run by default in orca) can be done with NWChem by specifying a charge density fitting basis ("cd basis") and/or exchange-correlation basis ("xc basis") block in the input file (it should be noted that xc basis is "not recommended" according to release notes. For def2-*vp type basis sets, the "Weigend Coulumb Fitting" cd basis can be used (as is default in orca). For example input, see below.

- Often times a molecule is geometry optimized with a small initial basis, and then the final geometry undergoes single-point DFT evaluation with a larger basis set. To speed up SCF convergence with the larger basis set, the SCF-optimized smaller basis set orbitals can be used as initial guess. (Though I've seen several cases where its better to start with the default guess...) For an example input to project a smaller basis set to a larger basis set, see below.

memory heap 200 mb stack 1000 mb global 2800 mb
start calc
title "B97-D3/def2-TZVP//B97-D3/def2-SVP"
echo
charge 0
dft
    grid fine
    mult 1
    xc becke97-d
    disp vdw 3
    iterations 100
    convergence energy 1d-10
    print low
    direct
end
basis small spherical
  * library def2-svp
end
basis large spherical
  * library def2-tzvp
end
basis "cd basis" spherical
  * library "Weigend Coulomb Fitting"
end
driver
  maxiter 400
end
task shell "mkdir -p opt"

### conf 1
geometry units angstroms
  load frame 1 crest_conformers.xyz
end
driver
  xyz opt/opt1
end
set "ao basis" small
dft
  vectors input atomic output small.mos
end
task dft optimize
set "ao basis" large
dft
  vectors input project small small.mos output large.mos
end
task dft energy
task shell "echo conf 1 complete"



Forum >> NWChem's corner >> General Topics