combining fix aveforce and fix viscous

Hello Lammps Users,

I would like to apply a fixed force between two bodies but I also want to limit how fast the two bodies come into contact. I believe I can do so using a combination of fix aveforce to apply the force and fix viscous to apply drag.

The equation for the total force on the group is

Ftot = Fappled - gamma*velocity

If my logic is correct if you want to limit the maximum velocity you’d to set gamma value such that Ftot = 0 at vmax. Therefore:

gamma = Fapplied / vmax

(a good analogy here is a sky diver reaching terminal velocity)

That much I think makes sense.

To implement it I think I need to set the aveforce fix first the add the viscous term. Is that correct?

More or less as follows?
fix 2 topfix setforce 0.0 0.0 NULL
fix 22 topfix aveforce NULL NULL v_load

add load specific damping

desired velocity in real units = 0.0002 A/fs

gamma = target load / maximum velocity

variable gamma equal {load}/0.0002 fix damp topfix viscous {gamma}

Does this sound like a sane approach?



Yes, it sounds very sane. But how well it works will depend on the details of your simulation. Try it out and carefully examine what happens.