ERROR: New bond exceeded bonds per atom in fix bond/create

Hi All,

I’m using “fix bond/create” to introduce cross links between molecules. I compiled the latest stable version of lammps (11-Aug 17 version, downloaded today) and found that I got the error:

ERROR on proc 6: New bond exceeded bonds per atom in fix bond/create (…/fix_bond_create.cpp:485)

I was surprised to get this error because I set the maxbond value to 0 for both itype and jtype atoms as described in the documentation for this fix:

“The iparam and jparam keywords can be used to limit the bonding functionality of the participating atoms. Each atom keeps track of how many bonds of bondtype it already has. If atom I of itype already has maxbondbonds (as set by the iparam keyword), then it will not form any more. Likewise for atom J. If maxbond is set to 0, then there is no limit on the number of bonds that can be formed with that atom.”

As a further test, I created a similar lammps data file to that used in the previous (failed) run- except that H atoms (and corresponding bonds, angles and dihedrals) were deleted from the structure so that atoms targeted by fix bond/create were under-coordinated and should be able to form another bond without exceeding the expected number of bonds for that atom. In this case, the simulation appears to be running without any obvious problems and new bonds are being created.

I realize that the last attempt to try and trouble shoot this problem is an ad hoc solution, but it seems as if this fix isn’t behaving as described in the documentation. Does anyone who is familiar with this fix have any suggestions?

I’ve attached the lammps script that generated the error message given above. I can send the associated lammps data file if you’re interested.

Thanks for reading,
Vanessa

in.test (2.73 KB)

Hi All,

I'm using "fix bond/create" to introduce cross links between molecules. I
compiled the latest stable version of lammps (11-Aug 17 version, downloaded
today) and found that I got the error:

ERROR on proc 6: New bond exceeded bonds per atom in fix bond/create
(../fix_bond_create.cpp:485)

I was surprised to get this error because I set the maxbond value to 0 for
both itype and jtype atoms as described in the documentation for this fix:

"The *iparam* and *jparam* keywords can be used to limit the bonding
functionality of the participating atoms. Each atom keeps track of how many
bonds of *bondtype* it already has. If atom I of itype already has
*maxbond*bonds (as set by the *iparam* keyword), then it will not form
any more. Likewise for atom J. If *maxbond* is set to 0, then there is no
limit on the number of bonds that can be formed with that atom."

​this has nothing to do with the error message. the error message is in
reference to a global topology property. when you create the simulation
cell, the maximum number of bonds per atom is determined and then locked
in. if you try to create more bonds at a later point, you may have to
reserve​ extra space for those when using the read_data command. please
check out the documentation of the various "extra" keywords in the
read_data documentation.

As a further test, I created a similar lammps data file to that used in
the previous (failed) run- except that H atoms (and corresponding bonds,
angles and dihedrals) were deleted from the structure so that atoms
targeted by fix bond/create were under-coordinated and should be able to
form another bond without exceeding the expected number of bonds for that
atom. In this case, the simulation appears to be running without any
obvious problems and new bonds are being created.

I realize that the last attempt to try and trouble shoot this problem is
an ad hoc solution, but it seems as if this fix isn't behaving as described
in the documentation. Does anyone who is familiar with this fix have any
suggestions?

​this is not a limitation of the fix, but a general limitation as to how
you stored topology data internally.​

​axel.​

Thanks, Axel! This helps.