Particle Reinsertion

My question concerns the simulation of granular materials in Lammps. I have a silo system with a bottom opening, which allows particles to exit the silo and leave the simulation area when the orifice is opened. Now, what I want is for particles that leave the simulation domain to re-enter the silo from the top and fill it like a “Fix pour” or “Fix Deposit” command (i.e. particles should be evenly dispersed over the previously present granular material in it). Giving the particles a periodic boundary allows them to re-enter, but they tend to do so while concentrated in a location, which is something I don’t want to happen. So, what command sets should I use to make particles re-enter nearly equally from the top?

I have attached an image that shows what is happening presently with periodic boundary conditions. Deposition of particles in an agglomerated way is to be avoided.

It is the very nature of periodic boundary conditions that particles re-enter through the periodic boundary exactly where they leave. That cannot be changed.

To achieve the effect you are looking for, I see two possible choices:

  • Don’t use periodic boundaries and add thermo_modify lost ignore to “lose” the particles exiting at the bottom and then use fix pour to insert new particles at the top.
  • Add additional space at the top and use fix addforce in combination with an atom style variable to disperse the particles reentering while in a given region at the top of the simulation cell.

Thanks, @akohlmey. Your suggestions will work, but there are certain concerns with them that I don’t believe these instructions will be able to address.
Is it feasible to have the same amount of particles that are leaving the simulation box enter through the fix pour command from the top, as you suggested in your first suggestion? Furthermore, the second option is not applicable to my situation because the addforce command may alter the micromechanics of the flow, thus I am unable to use(but have to think more about its usability to be certain).

Thanks again.

You can - of course - try to tune your fix pour settings to insert (on average) the same amount of particles that leave the box. Mind you, if you want the exact same particles to be re-inserted with the exact same velocities as they leave, then it would be inconsistent to expect them to be re-inserted in different locations. If you want them to be spread out in a realistic fashion, you need to implement some “mechanical” device that does that, IMO. Otherwise adding random force (orthogonal to the gravity only, of course) is just as valid.

Other than that, you would have to write a custom fix in C++ to do the exact transformation you need. But keep in mind the inconsistent logic of that.

Thanks for the advice. @akohlmey