Forum Menu

"Deviation too large for solvent" in NEB calculation

From NWChem

Viewed 167 times, With a total of 1 Posts
Jump to: navigation, search

Clicked A Few Times
Threads 4
Posts 12
Hi everyone...

I'm trying to run a NEB calculation on a solvated system with 52 atoms in the QM region; it does the DFT calculation and solvent optimization for several of the beads and then crashes with:
53:53: *  53: Deviation too large for solvent  483 *:: 483
(rank:53 hostname:mpc0894 pid:4688):ARMCI DASSERT fail. armci.c:ARMCI_Error():260 cond:0
Last System Error Message from Task 53:: Numerical result out of range

It looks like this happens during a solvent minimization phase that has run longer than the previous ones (347 steps), but not as long as specified by maxiter. My input script is:
start react
permanent_dir /home/Ueda-DNA/QBIC/neb/perm
scratch_dir /home/Ueda-DNA/QBIC/neb/scratch
charge -1
  C library 6-31G*
  H library 6-31G*
  N library 6-31G*
  O library 6-31G*
  xc b3lyp
  iterations 500
  system react_neb
  msa 100
  cutoff 1.0
  bqzone 10.0
  region solvent
  eatoms -1373.8747207761
  maxiter 200
  ncycles 1
  density espfit
  xyz neb_out
set qmmm:neb_path_limits react_opt.rst prod_ref.rst
set neb:nbeads 20
set neb:stepsize 1.0
set neb:steps 10
task qmmm dft neb

I've seen this problem described in the context of QM/MM optimization (, where the recommendation was to try an MM optimization of the starting structure, to arrive at a more reasonable solvent configuration. I'd actually done an extensive QM/MM optimization of my starting coordinates, but (if I understand correctly) the initial bead configurations are a linear interpolation of the qmlink region between the starting and final coordinates, combined with the solvent coordinates from the initial configuration. So, especially for the beads closer to the final coordinates, the initial solvent/solute interactions are inevitably going to be horrible, and the beads near the middle of the trajectory will involve fairly large motions of the atoms in the qm region during optimization.

This seems to be a really common error -- I've probably tried this run about a dozen times now with different initial/final positions, trying out different options, etc. and this is usually what brings it down. Is there a good way to avoid this? My best guess at this point is to try and cook up a set of restart files that won't move as much during minimization rather than using qmmm:neb_path_limits to do the linear interpolation for me.

Any ideas would help a lot.



  • Marat Forum:Admin, Forum:Mod, NWChemDeveloper, bureaucrat, sysop
    Send PM
Clicked A Few Times
Threads 2
Posts 26
I would first check the pdb structures for your NEB beads for any obvious problems. To do this just run prepare command over numbered rst files in your perm directory

read ./perm/sys_neb002.rst
write sys_neb002.pdb
task prepare

Depending on what you see, you could run a few constant energy dynamics steps on just solvent part for the offending bead(s). Once you fix these problems you could "restart" your NEB calculations using these new rst files.

Regarding the solvent configuration here is how the code works. For new NEB calculation:
1. The solvent configuration is taken from the common rst file specified by the "system" directive in the MD block
(in your case react_neb.rst)
2. The QM region geometries for end points are extracted from the two rst files specified by set qmmm:neb_path_limits directive ( in your case react_opt.rst prod_ref.rst). Note that none of the solvent information is used from these files.
3. The interpolation is done to generate the intermediate QM region structures
4. In the first gradient calculation for the i-th bead the code check for the presence of rst file named sys_neb00i.rst in the perm directory. If it is not there (as typical for new NEB calculation) this rst file is created by taking common rst file (see step 1) and replacing its QM region with that of the i-th bead. Using the resulting rst file, the solvent optimization is performed around the fixed QM region, QM gradient is calculated, and the updated rst file is saved to the perm directory to be used in the next round of NEB calculation. And so on.

So the initial solvent configuration can be affected in two ways - either through common rst file (which will apply the same solvent configuration to all beads) and by depositing numbered rst files into the perm directory prior to calculation to affect individual beads. So for example, you could decide that reactant solvent configuration will work for first 5 beads, but that the product solvent configuration would be more appropriate to use for last 5 beads in you calculation. To accomplish this you copy react_opt.rst into common rst file, react_neb.rst, in the top run directory, and copy prod_ref.rst into sys_neb006.rst, ...., sys_neb010.rst in the perm directory.


Forum >> NWChem's corner >> QMMM

Who's here now Members 0 Guests 0 Bots/Crawler 1

AWC's: 2.5.10 MediaWiki - Stand Alone Forum Extension
Forum theme style by: AWC