Fix acks2/reaxff BiCGStab convergence failed after 200 iterations at step 0

LAMMPS (14 Dec 2021)
OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (…/comm.cpp:98)
using 1 OpenMP thread(s) per MPI task
Reading data file …
orthogonal box = (22.761218 24.775769 1.3958446) to (188.72283 190.73738 22.141046)
12 by 16 by 2 MPI processor grid
reading atoms …
50560 atoms
reading velocities …
50560 velocities
read_data CPU = 0.187 seconds
Reading potential file ffield.reax with DATE: 2010-02-19
155 atoms in group region1
548 atoms in group cylinder2
1280 atoms in group cylinder3
2275 atoms in group cylinder4
3574 atoms in group cylinder5
5151 atoms in group cylinder6
7044 atoms in group cylinder7
9207 atoms in group cylinder8
11644 atoms in group cylinder9
14405 atoms in group cylinder10
17511 atoms in group cylinder11
20774 atoms in group cylinder12
24414 atoms in group cylinder13
28234 atoms in group cylinder14
393 atoms in group region2
887 atoms in group region3
1388 atoms in group region4
2186 atoms in group region5
2965 atoms in group region6
4079 atoms in group region7
5128 atoms in group region8
6516 atoms in group region9
7889 atoms in group region10
9622 atoms in group region11
11152 atoms in group region12
13262 atoms in group region13
14972 atoms in group region14
39184 atoms in group box
11376 atoms in group boundary

CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE

Your simulation uses code contributions which should be cited:

  • pair reaxff command:
  • fix acks2/reaxff command:
    The log file lists these citations in BibTeX format.

CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE

Neighbor list info …
update every 1 steps, delay 10 steps, check yes
max neighbors/atom: 2000, page size: 100000
master list distance cutoff = 12
ghost atom cutoff = 12
binsize = 6, bins = 28 28 4
2 neighbor lists, perpetual/occasional/extra = 2 0 0
(1) pair reaxff, perpetual
attributes: half, newton off, ghost
pair build: half/bin/newtoff/ghost
stencil: full/ghost/bin/3d
bin: standard
(2) fix acks2/reaxff, perpetual, copy from (1)
attributes: half, newton off, ghost
pair build: copy
stencil: none
bin: none
Setting up Verlet run …
Unit style : real
Current step : 0
Time step : 0.1
WARNING: Fix acks2/reaxff BiCGStab convergence failed after 200 iterations at step 0 (…/fix_acks2_reaxff.cpp:612)
Per MPI rank memory allocation (min/avg/max) = 86.41 | 88.87 | 92.03 Mbytes
Step TotEng Temp c_region1_T c_region3_T c_region5_T c_region7_T c_boundary_T
0 -7062253.7 298.09742 298.86648 309.03709 300.88252 298.81695 302.14878
WARNING: Fix acks2/reaxff BiCGStab convergence failed after 200 iterations at step 1 (…/fix_acks2_reaxff.cpp:612)
WARNING: Fix acks2/reaxff BiCGStab convergence failed after 200 iterations at step 2 (…/fix_acks2_reaxff.cpp:612)
WARNING: Fix acks2/reaxff BiCGStab convergence failed after 200 iterations at step 3 (…/fix_acks2_reaxff.cpp:612)
ERROR on proc 296: step 2: bondchk failed: i=20 end(i)=528 str(i+1)=525
(…/reaxff_forces.cpp:97)
ERROR on proc 297: step 2: bondchk failed: i=317 end(i)=7961 str(i+1)=7955
(…/reaxff_forces.cpp:97)
Abort(1) on node 296 (rank 296 in comm 0): application called MPI_Abort(MPI_COMM_WORLD, 1) - process 296
ERROR on proc 298: step 2: bondchk failed: i=3 end(i)=104 str(i+1)=100
(…/reaxff_forces.cpp:97)
Abort(1) on node 298 (rank 298 in comm 0): application called MPI_Abort(MPI_COMM_WORLD, 1) - process 298
ERROR on proc 299: step 2: bondchk failed: i=16 end(i)=429 str(i+1)=425
(…/reaxff_forces.cpp:97)
Abort(1) on node 299 (rank 299 in comm 0): application called MPI_Abort(MPI_COMM_WORLD, 1) - process 299

ACKS2 with the BiCGStab is harder to converge than QEq with the simpler CG solver. You can try increasing the number of iterations for ACKS2 by using the “maxiter” keyword, try a large value like 1000. It looks like that keyword isn’t actually documented for ACKS2, I will update the docs when I get a chance. Otherwise, this could be a bad initial configuration.

AFAIK, the ACKS2 method was introduced in 2013 and your force field is from 2010, so it’s meant to be used with the older charge equilibration (fix qeq/reaxff). You can’t just change it.

1 Like

I added the “maxiter” keyword to the fix ACKS2 doc page.