Well, this problem is, as the error message suggests, about having too many 
bins. That number is larger than max *unsigned int*. You could recompile 
after changing *binID *type to *size_t*, but I won't recommend that. You 
should make your simulation world smaller (you probably have unused space 
anyway) or make the bins larger or make sure the spheres do not overlap 
each other too much.

You should first make sure your simulation did not crash because of 
divergence (huge particle velocity). If you use the newest version of DEME, 
the code should give you an overview of the simulation system when it 
crashes due to too many spheres in a bin, and that should give you an idea 
of whether the simulation destabilized. Now if it did not crash because of 
that and you indeed need the bin size to be as small as 1.55 times the 
smallest sphere radius, then I assume it is because your custom force model 
would naturally induce large sphere penetrations. This is a difficult 
situation as you can imagine, since the number of contacts a sphere has 
gets big if large penetration is allowed. Right now, you have to make do 
with what the code has.

My suggestion is: first, you should remove that 
*DEMSim.SetExpandSafetyMultiplier(2.1) 
*line, or at least use something smaller, like 1.1. I don't think your 
simulation needs the safety ensured by such a larger contact margin. Then 
you can try to make your simulation world smaller. Just do not create a 
world larger than your need. I suspect these treatments will just fix the 
problem.

I may post an update that lets the code automatically ditch the idea of 
using shared memory to avoid this problem, when a bin has too many spheres, 
at some point. But before that, we have to smartly evade the 
too-many-spheres problem.

Thank you,
Ruochun
On Tuesday, December 20, 2022 at 1:35:48 AM UTC-6 [email protected] wrote:

> Hi, 
>
> This is a DEME-related question. 
>
> I have been running a simulation for settling a cylindrical bed of 
> particles with a specific set of parameters. I have successfully been able 
> to settle the bed. However, when I try to change the "Young modulus" for 
> the particles from 1e9Pa to 1e8Pa, the simulation gives me an error that 
> says the bin contains ### of particles that is larger than 256 maxima. I 
> have tried to reduce my ben size using *SetInitBinSize. *However, the 
> simulation gives me the same error until I set the bin size to *1.55*particle 
> radius* at which the error message changes to "The simulation world has 
> 4301703661 bins (for domain partitioning in contact detection), but the 
> largest bin ID that we can have is 4294967295." Please note that for a 
> Young modulus of 1e9Pa, the bin size was set to be a *2*particle radius* 
> and the simulation worked with no problem. The simulation file is attached 
> for your reference
>
> Thank you so much in advance,  
>

-- 
You received this message because you are subscribed to the Google Groups 
"ProjectChrono" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/projectchrono/91516544-f6ee-474f-be6f-19780d30886fn%40googlegroups.com.

Reply via email to