Skip particles during computation

Submitted by amgroen on Thu, 01/09/2020 - 17:38

Is there a way to have a group of particles being skipped by collision detection and locked in place, ideally while reducing the computation time.

A simulation that I'm running involves filling a tall cylinder with particles and I want to ignore the majority of them and only freeze a certain distance from the top for the next layers.

Simulating the entire stack is not feasible computation time wise on my desktop.

I haven't been able to find functionality like this in the documentation

Thanks,
Alex

mschramm | Fri, 01/10/2020 - 01:24

Hello,
I do not know how well this can work for you but it is something you can try.

Get an initial insertion going to fill the container somewhat.
In a loop (using label commands and jump commands) you will want to do the following.
get the height of the top most layer.
create a group of particles to simulate (from the top most particle go down 10 or so particle diameters)
create a group of particles to apply the fix freeze command (from end of the above group, go down 2-3 layers)
unfix the integrator
unfix freeze command
update integrator to use new group
update freeze command to use new group
run a number of steps