Insert in moving region

Submitted by sbateman on Wed, 03/07/2012 - 23:28

I am trying to run a simulation where particles are poured into a thin, tall container. I had the idea to begin pouring (with insert/rate/region) near the bottom, and move the insertion region vertically as the pile of grains grows. This is so that they won't have to fall all the way from the top of the box to the bottom.

However, when I try to run a simulation like this, it stops after a few insertions. By "stops", I mean it seems to get caught in an infinite loop somewhere. If I pour from a non-moving region, this problem doesn't arise.

I'm attaching a small input script which reproduces the problem. It runs until timestep 20000, then freezes.

Thanks for your help.

AttachmentSize
Binary Data moving_insert.tar_.gz1.61 KB
ckloss's picture

ckloss | Thu, 03/08/2012 - 08:59

Hi Sam,

thanks for letting us know. Could you please attach the script?
Just a side note: if this serves to create an initial packing, there are more efficient ways to do this in parallel, e.g. to use fix insert/pack with a defined volumefraction and "overlapcheck no", and then letting the packing relax a few steps without shear history and fix nve/limit

Cheers, Christoph

sbateman | Thu, 03/08/2012 - 17:39

Oops, I thought I attached the script, but it didn't work.
This method of a moving insertion region was used in some previous work (not using LIGGGHTS), so I was trying to replicate it. However, that was for a very small system with a serial code. I'll check out some other methods, like fix nve/limit.

Thanks.

ckloss's picture

ckloss | Tue, 03/13/2012 - 11:59

Hi Sam,

I tracked the error down. It's actually an inconsistency/problem with how the region code is implemented in LAMMPS/LIGGGHTS in general, and can't be easily fixed, so I am going to deactivate dynamic regions for fix insert/pack and fix insert/rate/region for now.

Anyway, by using fix insert/stream in combination with fix move/mesh/gran you could do what you want. And, you can still use fix pour/legacy if you want "backward compatibility to LAMMPS"

Cheers, Christoph