insert particles one by one

Submitted by laudari on Mon, 01/04/2021 - 05:29

Hello , LIGGGHTS user, I am trying to run a simulation where particle drop and flows one after another in some time interval.
I was able to make a flow of only one particle. When I tried to insert more than 1 particles with different insertion rates and insertevery, it doesn't drop particle in different time interval. In my case all particles are dropping at the same time.

Similarly, I use restart command too, but didn't work for me.

Here is my 'insert command'. I think I did mistake in these commands.

```
ix ins1 nve_group insert/stream seed 32452867 distributiontemplate pdd1 &
nparticles 1 particlerate 500 insert_every 500 overlapcheck yes all_in no vel constant 0.0 0.0 -1.0 &
insertion_face inface

run 5000
unfix ins1

fix ins2 nve_group insert/stream seed 32452867 distributiontemplate pdd1 &
nparticles 1 particlerate 1000 insert_every 1000 overlapcheck yes all_in no vel constant 0.0 0.0 -1.0 &
insertion_face inface

run 5000
unfix ins2
```
My questions are:

1 ) Can we give time interval in drop so that particle drops, flows and another particle drops.
2) Can we repeat this procedure with for 100 trajectories with single 'fix ins ' command?

Hoping for some suggestions and helps asap.

Thank you

mschramm | Mon, 01/04/2021 - 20:22

Hello,
with the insert/stream, as soon as "1" particle is in your domain, it will turn off.
If your particles are all the same size, then you could try insert/pack with a region that is slightly bigger than your particle and the particles_in_region flag.
With this a new particle will only be inserted if the other particle has left the region (this check will be done every (insert_every ???)).

If the particles are different sizes, then you would probably need to do a loop
variable loop_count equal 0
label start loop
fix ins1 nve_group insert/stream seed 32452867 distributiontemplate pdd1 &
nparticles 1 particlerate 500 insert_every 500 overlapcheck yes all_in no vel constant 0.0 0.0 -1.0 &
insertion_face inface
run 5000
unfix ins1
variable loop_count equal ${loop_count}+1
if ("${loop_count}>N") then "jump in.liggghts end_loop"
jump in.liggghts start_loop
label end_loop

You may run into an issue regarding the use of prime numbers...

Jacob.Z | Mon, 10/04/2021 - 08:25

Hi mschramm,
I need to insert particles of different sizes successively.
It seems that in your given code you didn't update particle size. Could you give a hint on this?

laudari | Thu, 01/07/2021 - 04:17

Hello @mschram really thank you for you time and help.
I used these commands for 5 particles,

group nve_group region domain
region bc block -0.5 0.1 -0.2 0.2 -0.4 0.15 units box

fix ins1 nve_group insert/pack seed 32452867 distributiontemplate pdd1 vel constant 0.0 0.0 -1.0 insert_every once overlapcheck yes all_in yes particles_in_region 5 region bc

Still all particles are falling at same time and some of them are outside of domain.
Any suggestions to fix these problem?

Thank you so much.