How to correctly set up "frozen wall" boundary condition in DPD based Poiseulle Flow simulation

Dear LAMMPS users,

I am wondering how to correctly set up “frozen wall” boundary condition in DPD based Poiseulle Flow simulation? Any sample input script would be greatly helpful!

I have found that a similar question was actually raised by some other user a few years ago, but not given clear answer like below:

The reply was recommending one of the fix wall/variant commands. Check out fix wall/reflect or fix wall/lj126.


Hi Ray,

Thanks for directing me to right path. I will try “fix wall/reflect” first, which appears to be a promising fix to my question.

Best regard,


I wrote a simple input file by using the “fix wall/reflect” to keep the flow particles in channel, and set velocity and force zero for the wall particles (see attached). However, the temperature of the whole system keeps going up as time stepping goes on — which I think, means that there is no “no-slip” effect at the walls. This makes me wonder how to correctly implement the “frozen wall particles”.

Any help is appreciated.

in.pois2d.dpd (1.53 KB)

Neither wall/reflect or lj126 should be able to produce a Poissuille flow… The reason for this is simple classical mechanics. How can a potential wall affect components of velocity that are transverse to its origin? Hint: There’s a reason a wall composed of particles is used in the lammps example.


Thanks for confirming. I saw some paper say

“This treatment of solid boundaries by using frozen boundary particles and a thin reflecting boundary layer was found to be an effective way of implementing no slip boundary conditions”.

As my understanding is shallow here, I have not figured out the right way to implement such no-slip boundary in LAMMPS. If you take a look at my attached input script, you will see that I also use walls consisting of particles.


So I have misinterpreted. Fair enough.

There are a number of ways you can do this, for example with fix setforce. Another simple (and to me natural) way of limiting the degrees of freedom of your wall particles is using fix spring/self with perhaps a fix viscous to naturally thermostat the wall particles.

I wouldn’t take my internet advice as fact though. You might want to think about the correspondence between no-slip continuum conditions in continuum simulations and how much of that intuition is useful the MD world (to save yourself from future headache). In essence is there really such a thing as no-slip, and if not, how will you judge the appropriateness of a BC in MD?


Thanks for following up with this discussion.

​DPD based particle simulation would allow mesoscale fluid flow — similar to SPH — but more advantageous in a few aspects (not to be extended within our current discussion). That is the reason I stick to DPD, instead of original MD in LAMMPS. Hence (approximate) no-slip boundary condition is always needed for modeling realistic geometric configurations. In fact, there have been a few good papers addressing this feature for DPD, for example,

Willemsen, S. M., H. C. J. Hoefsloot, and P. D. Iedema. “No-slip boundary condition in dissipative particle dynamics.” International Journal of Modern Physics C 11.05 (2000): 881-890.

I can also quote a brief description of such implementation from another paper I just read:

… Maxwellian reflections where the particles are introduced back into the system with a Maxwell distribution of velocities. In our implementation of the Maxwell distribution, the velocities of particles that enter a thin layer next to the wall are selected randomly from the Maxwell distribution at temperature T, with a zero mean corresponding to the zero fluid velocity at the boundary. The velocity components are reversed if the velocity points outward from the bulk fluid. This treatment of solid boundaries by using frozen boundary particles and a thin reflecting boundary layer was found to be an effective way of implementing no slip boundary conditions …

So I think the question is how to implement such scheme in LAMMPS, at least not easy for me.


If you think you know what to do, why ask the list. There are already tools to accomplish exactly what you’re proposing. Just read the manual.

read about groups, read about the various fixes.

Have you looked at the examples/flow/in.pois

script, which models Poissuille flow between

LJ walls, which is no-slip. You could modify that

to be DPD. If the flow particles are Maxwellian,

they will probably stay Maxwellian after

they interact with the wall. If you want to do

something fancy with their velocity distribution

near the wall, you’ll likely have to write your own

fix which operates on particles near the wall,

e.g. in a group which corresponds to a geometric

region near the wall.


Thanks for comping up with all the discussions. I have been able to carry out the “no-slip boundary condition” for DPD simulation, though not fancy at this moment.