[lammps-users] Add dash-pot between particle connected by bond_style harmonic

Dear Users,

I am simulating a viscoelastic solid by an equivalent mass-spring-damper network. I was developing my own code but, recently, I found that for setting the mass-spring network it is possible to use LAMMPS thanks to bond_style harmonic. However, I don’t know how I can have also the dash-pot dampers between the masses connected by bonds to mimic the viscoelasticity of the solid. I checked the “fix viscous” but it is not the case as it uses the absolute velocity not the relative velocity between neighbors.

Thanks,
Kamal

Dear Users,

I am simulating a viscoelastic solid by an equivalent mass-spring-damper network. I was developing my own code but, recently, I found that for setting the mass-spring network it is possible to use LAMMPS thanks to bond_style harmonic. However, I don’t know how I can have also the dash-pot dampers between the masses connected by bonds to mimic the viscoelasticity of the solid. I checked the “fix viscous” but it is not the case as it uses the absolute velocity not the relative velocity between neighbors.

I don’t see a way without doing some programming. You would have to write a custom bond style that adds the damping on top of the harmonic springs.
Please note that when doing so, you also have to require that ghost velocities are communicated, so that you get the correct damping for bond that straddle subdomain boundaries. By default this step is skipped since conventional models in LAMMPS don’t need this. Exceptions are, e.g. pair style dpd.
Please note that you will likely need to set either a suitable communication cutoff or use pair style zero with a suitable cutoff to make certain the bond lists are build correctly in parallel.

Axel.

Dear Axel,

Thanks for your response. I have another question: I saw there is a viscoelastic dash-pot in pair_style granular. Does it work for my case? I mean, is it possible to setup springs via bond_style harmonic and add dash-pots by bond_style granular? I am not sure if the dampers are active when particles are not in direct contact.

Thanks, Kamal

Dear Axel,

Thanks for your response. I have another question: I saw there is a viscoelastic dash-pot in pair_style granular. Does it work for my case? I mean, is it possible to setup springs via bond_style harmonic and add dash-pots by bond_style granular? I am not sure if the dampers are active when particles are not in direct contact.

What interactions you get from the granular pair style depends on the settings you use for diameter and the granular pair style itself.

There is another issue to keep in mind. By default, LAMMPS will exclude pair style interactions (i.e. non-bonded) interactions if there is a bond defined for the particles that are bonded and their second and third bonded neighbors, aka 1-2, 1-3, and 1-4 pairs. So you would have to change that setting to fully include all of those pairs via the special_bonds command.

In the end, only careful testing can tell you if you will get the interaction model that you want. Writing a custom bond style would certainly give you more control, but it depends on your ability to understand/write/modify C++ code (the harmonic bond style is rather simple to understand, and you really only need to make a few changes in a limited number of places).

Axel.