Discontinuous potentials

hey everyone!

i was wondering if any of you knew if lammps was capable of simulating
discontinuous potentials.
basically i want two particles to interact with each other through a
square well potential. i know i can try to smooth it on the walls with
an interpolation (that's what I am doing now), but i'd also like to
try that non-smooth momentum-kicking potential. so, anyone has any
idea about it?



If its not already there, it’d be almost trivial to introduce. Lammps doesn’t care about discontinuities, it just provides the integrator.

Sorry, not using my head. Smoothing is one option I guess, particularly if the range of the smoothing is much smaller than the width of the well, the dynamics shouldn’t know any difference. I don’t know what momentum kicking is exactly. But I assume you mean add/subtract momentum at some instance to the pair separation space, which is mathematically equivalent to the square-well/impulse response. The latter approach, I imagine, might become messy.

Yeah I meant exactly that with momentum-kicking. Anyway, what I wanted to avoid was the integration timestep compromise you have when you smoothing is too small with repect to the well width. I mean, you have to make your timestep much shorter so you make sure you don’t miss the smoothing section.

Nevertheless, this is now more a molecular dynamics discussion -which I am more than willing to have!-, but the doubt with lammps feature remains :slight_smile:


More people can probably speak to this. Coding it in probably wouldn’t be too bad. But handling it via the standard LAMMPS structure, probably with variables and velocity commands, would probably get messy. Someone might have a better alternative.

Since pair_style table would interpolate the square well,
I think you’d need to write a new pair style to do this.
It could monitor when a pair of particles crossed the
sq well boundary and give them a kick.


Square well potential as in “zero force” everywhere but at the edge of the well?

Seems to me that an “issue” of this kind already shows in Lammps in one uses the constant electric field option with pbcs. If the field is oriented along z for example, you would expect a discontinuity of the electrostatic potential at the box z-boundary but the pbcs will be incompatible with such a jump. This problem arises in ab-initio as well when dealing with slabs that have a net dipole moment and are immersed in a vacuum region. Haven’t look to see what Lammps does in this case but I don’t see any note about it on the documentation.



I’d be interested in this potential as well, it has the potential for tremendous time savings in certain cohesive granular systems. Can one easily define a pair style to simply add/subtract velocity without resorting to integration, since the dynamics are technically not well defined by forces (delta function)? I see that pair style DSMC already does something akin to this for simulating the collision process.

I want to clarify my question. Do I need to take any precautions using fix nve/noforce or nve/sphere in the combined granular case? Or is it as easy as replacing velocities, if say in the next time-step particles are predicted to cross the square-well boundary?

I was imagining a pair style that did the following
and could be used with fix nve:

For an IJ pair of particles, use the coords and
velocities of I,J to detect if they just crossed
the square well boundary. If they did, adjust
the velocities according to the effective force kick.

The pair style does not set force, but does
change velocities. Fix nve should thus
just work.