PROBLEM: 3 types of particles - only 1 is inserted

Submitted by davidf on Tue, 04/12/2011 - 16:41

Hey all,

I've modified the basic 'packing' example, to have 3 particle types with different properties (instead of 1 type) and i'm trying to generate a random packing of this system. (3 types of particles each having its own radius and density). I don't try to make them grow, so I removed the growing radius part commands.

Anyway, when I visualize the system with Paraview, I see that I only get one type of particles, all with the same size, instead of the specified distribution of particles as seen in my script.

Basically I changed the create_box 1 bx to create_box 3 bc to account for 3 atom types in the simulation, and edited the lines for particletemplete/sphere and particledistribution, and also added the required values for poission and young's etc...

It still won't work, though.....
What am I doing wrong ?
Thanks !

My script:
#Particle packing by insertion

atom_style granular
atom_modify map array
boundary m m m
newton off
#echo both

communicate single vel yes

units si

region reg block -0.05 0.05 -0.05 0.05 0. 0.15 units box
create_box 3 reg

neighbor 0.002 bin
neigh_modify delay 0

#Material properties required for new pair styles

fix m1 all property/global youngsModulus peratomtype 5.e6 5.e6 5.e6
fix m2 all property/global poissonsRatio peratomtype 0.45 0.45 0.45
fix m3 all property/global coefficientRestitution peratomtypepair 3 0.3 0.3 0.3 0.3 0.3 0.3 0.3 0.3 0.3
fix m4 all property/global coefficientFriction peratomtypepair 3 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5

#New pair style
pair_style gran/hertz/history 1 0 #Hertzian without cohesion
pair_coeff * *

timestep 0.00001

fix xwalls all wall/gran/hertz/history 1 0 xplane -0.05 0.05 1
fix ywalls all wall/gran/hertz/history 1 0 yplane -0.05 0.05 1
fix zwalls all wall/gran/hertz/history 1 0 zplane 0.00 0.15 1

#distributions for insertion
fix pts1 all particletemplate/sphere 1 atom_type 1 density constant 2500 radius constant 0.005
fix pts2 all particletemplate/sphere 1 atom_type 2 density constant 2500 radius constant 0.008
fix pts2 all particletemplate/sphere 1 atom_type 3 density constant 2500 radius constant 0.008
fix pdd1 all particledistribution/discrete 1. 2 pts1 0.3 pts2 0.4 pts3 0.3

#region and insertion
group nve_group region reg
fix ins nve_group pour/dev/packing 1 distributiontemplate pdd1 vol 0.6 200 region reg

#apply nve integration to all particles that are inserted as single particles
fix integr nve_group nve/sphere

#output settings, include total thermal energy
compute 1 all erotate/sphere
thermo_style custom step atoms ke c_1 vol
thermo 100
thermo_modify lost ignore norm no
compute_modify thermo_temp dynamic yes

#insert the first particles
run 1
dump dmp all custom 100 post/dump.packing id type type x y z ix iy iz vx vy vz fx fy fz omegax omegay omegaz radius
unfix ins

run 1000

raguelmoon's picture

raguelmoon | Tue, 04/12/2011 - 17:23

hi
I guess you have put wrong value in following statement:

fix pdd1 all particledistribution/discrete 1. 2 pts1 0.3 pts2 0.4 pts3 0.3

you must write 3 instead of 2.
Best,
Ram

Ram

davidf | Tue, 04/12/2011 - 18:06

hey Ram !

actually it's just a typo i made in this forum...

I did use 3 in that part in my simulation, and it doesn't work

ckloss's picture

ckloss | Wed, 04/13/2011 - 07:55

I guess you only have the large fraction in the simulation?
what probably happens is that 0.6 is too much for the insertion algorithm (it's just simple trial and error). It always tries to insert the large particles first, then the small ones (b/c the small ones fit into the voids afterwards)
You should have got a warning like "less insertions than requested..."
That's why the growing part is done in the example. Try it with this and you will probably be fine

Christoph

raguelmoon's picture

raguelmoon | Wed, 04/13/2011 - 09:12

Hi,
It means that we cant pour two different diameters of particles in simulation by this method but growing technique. I am pouring two different diameters of particles (0.003 and 0.0034). When i see in para-view then the surface is not in level but make a little slope. what do you suggest?
Thanks,
Ram

Ram