bond_style quartic with angles?

Hey everybody. We want to do some glassy-polymer-fracture simulations and planned to use quartic bonds. We want to simulate chains of various stiffnesses. Unfortunately it appears that currently, bond_style quartic is incompatible with angles and dihedrals! Per the manual, “Three- and four-body interactions (angle, dihedral, etc) cannot be used with quartic bonds.” I was surprised to discover this, since I know that bond-breaking in general IS compatible with angles and dihedrals (e.g. “Likewise, if the bond is part of a 3-body (angle) or 4-body (dihedral, improper) interaction, that interaction is removed as well.” for fix bond/break).

Why is bond_style quartic incompatible with angles? How would we modify the code to make it compatible? Is there another bond style that IS compatible with them, that could serve as a template for our modification? Any suggestions would be welcome.

Best,
Rob

Hey everybody. We want to do some glassy-polymer-fracture simulations and
planned to use quartic bonds. We want to simulate chains of various
stiffnesses. Unfortunately it appears that currently, bond_style quartic is
incompatible with angles and dihedrals! Per the manual, "Three- and
four-body interactions (angle, dihedral, etc) cannot be used with quartic
bonds." I was surprised to discover this, since I know that bond-breaking
in general IS compatible with angles and dihedrals (e.g. "Likewise, if the
bond is part of a 3-body (angle) or 4-body (dihedral, improper) interaction,
that interaction is removed as well." for fix bond/break).

if you break a bond in a system with angles, dihedrals and impropers,
a lot of extra processing is needed to remove those interactions from
the system. this is note exactly trivial. fix bond/break does contain
this logic and the corresponding code, bond style quartic doesn't. it
can only remove bonds from the topology.

Why is bond_style quartic incompatible with angles? How would we modify the
code to make it compatible? Is there another bond style that IS compatible
with them, that could serve as a template for our modification? Any
suggestions would be welcome.

i suspect, it is not as simple. a possible approach would be to have a
flag telling bond style quartic to not remove bonds, but only flag
them as inactive (by turning the type negative) and then have a fix
bond/remove modeled after fix bond/break that will remove such
disabled bonds and all related topology information in the same way.
or perhaps simply add a mode/flag to fix bond/break, that would only
process such disabled bonds and pay no attention to other criteria.

axel.

I like the idea of adding a fix bond/remove. However,

note that it can only (easily) do its job

on re-neighbor steps. So either bond quartic could

trigger a re-neighbor on the step following when it

breaks a bond, or you could wait until the next

reneighbor to clean-up after bond quatric, break angles,

etc.

Steve

Thanks Axel and Steve! Those are good ideas and we’ll implement them if need be. But I’m confused about something. The "no angles/dihedrals” restriction seems absent for most of the other bond potentials. For example, harmonic and FENE bonds allow angles and can be used with fix bond/break. So what’s different about bond_style quartic? Is it that it breaks bonds on every timestep rather than only on reneighboring steps? We don’t really need every-timestep breaking if we do our reneighborings often enough. There isn’t anything inherent to the quartic potential that prevents using angles/dihedrals, right? For example, the harmonic/shift/cut bond style also has force going to zero at r_c (and implies bond breakage when r > r_c), but it doesn’t have any restriction v/v angles/dihedrals. So, might it be easier to simply create a new bond style based on one of the current ones (e.g. FENE), modify its force law to the quartic force law (and modify its input parameters as appropriate), and then use it in combination with fix bond/break? I think that would suit our purposes if the bond/break fix were called frequently, but am just wondering if there’s any reason this wouldn’t work.

Thanks,

Rob

Thanks Axel and Steve! Those are good ideas and we’ll implement them if
need be. But I’m confused about something. The "no angles/dihedrals”
restriction seems absent for most of the other bond potentials. For
example, harmonic and FENE bonds allow angles and can be used with fix
bond/break. So what’s different about bond_style quartic?

the difference is that bond_style quartic has the code to break bonds
included in the bond style, the others require fix bond/break to
really remove the bond from the bond list.
now fix bond/break contains the code to handle
angles/dihedrals/impropers, bond_style quartic doesn't.

axel.