pour/dev - regionExempts function

Submitted by evansmuts on Thu, 09/15/2011 - 11:51

Hi

I am trying to develop a new version of fix_pour by combining the "regionExempts" function of pour/dev with pour. I have created a new pour called pour/exempt and copied accross all the relavent bits of code. I have also made the necessary links to these other files as well: mech_param_gran.cpp, region_block.h (and cylinder), fix_gravity.h, pair_gran.cpp and style_fix.cpp.

It compiles fine, but when I run the simulation I get the error: "ERROR: Atom types must start from 1 for granular simulations". As far as I can tell the atom type value should only be 1 (from the input file), so I am not sure where it is going wrong. Can anyone give some hints as to what I have missed?

The reason I am not using pour/dev is that I don't want to have to specify gravity, i.e. pour/dev seems to require some (non-zero) gravity value in order to insert particles.

Thanks.

Regards,
Evan

ckloss's picture

ckloss | Fri, 09/16/2011 - 09:46

Hi Evan,

>>The reason I am not using pour/dev is that I don't want to have to specify gravity,
>>i.e. pour/dev seems to require some (non-zero) gravity value in order to insert particles

I would heavily recommend to use the new fix insert/pack and fix insert/stream commands, there this assumption has been dropped. Also, if you would have the need to develop a new insertion, I would derive from FixInsert

Cheers, Christoph

evansmuts | Fri, 09/16/2011 - 10:47

Thanks Christoph.

I have not had a chance to look at those new functions yet, so I guess I should do that now.

Cheers,
Evan

ckloss's picture

ckloss | Fri, 09/16/2011 - 11:16

The new commands are much cleaner, with better extend-ability so I would recommend using them.
At some point, I will change all tutorials so that only the new insertion commands are used

Christoph

evansmuts | Wed, 09/21/2011 - 17:22

Hi Christoph

After looking at fix insert/pack and stream, I see that they don't have the regionExempts capability. In your previous post, were you hinting that I should rather add the regionExempts feature to fixInsert? (i.e. the feature wasn't there, but could be added) I was hoping that feature would have been carried across to fixInsert already.

Cheers
Evan

ckloss's picture

ckloss | Wed, 09/21/2011 - 17:36

>>After looking at fix insert/pack and stream, I see that they don't have the regionExempts capability
They don't need it - since insert/pack can use arbitrary regions - eg regions you construct with union or intersect or even tetrahedral mesh regions (see tetmesh example)
Likewise for stream, where you can use arbitrary meshes

This is as general as I can see - or is there anything that you need to model that this can't do?

Cheers, C

evansmuts | Thu, 09/22/2011 - 11:49

Great, that is just what I need.

The documentation doesn't state explicitly that you can use arbitrary regions, and I now that pour and pour/dev had restrictions on the regions that could be used, so I assumed the same applied to the new insert features.

Thanks for clearing up that misunderstanding.

Cheers
Evan