Hi Christoph,
I want to compress the particles after they are poured completely in a cylinder. But the moving wall does not affect the particles and it move through the particles means particles are not resisting the moving top-wall. My input script is:
atom_style granular
processors 1 1 1
atom_modify map array
boundary m m m
newton off
echo both
communicate single vel yes
units si
region reg cylinder z 0.0 0.0 0.07 0.0 0.751 units box
create_box 1 reg
neighbor 0.001 bin
neigh_modify delay 0
#Material properties required for new pair styles
fix m1 all property/global youngsModulus peratomtype 7e10
fix m2 all property/global poissonsRatio peratomtype 0.25
fix m3 all property/global coefficientRestitution peratomtypepair 2 0.2 0.2 0.2 0.2
fix m4 all property/global coefficientFriction peratomtypepair 2 0.2 0.0 0.0 0.0
#New pair style
pair_style gran/hertz/history 1 0 #0 für keine Kohesion
pair_coeff * *
variable dt equal 0.00000032
timestep ${dt}
fix ts_check all check/timestep/gran 1000 0.2 0.2
fix gravi all gravity 9.81 vector 0.0 0.0 -1.0
fix zwalls all wall/gran/hertz/history 1 0 zplane 0.0 0.75 1
fix cylwalls all wall/gran/hertz/history 1 0 zcylinder 0.07 1
fix pts1 all particletemplate/sphere 1 density constant 2520.5 radius constant 0.009
fix pdd1 all particledistribution/discrete 666 1 pts1 1.0
#region and insertion
group nve_group region reg
region bc cylinder z 0.0 0.0 0.07 0.01 0.45 units box
fix ins nve_group pour/dev mass 3.255 1 distributiontemplate pdd1 vel uniform 0. 0. 0. 0. -1 region bc
#apply nve integration to all particles that are inserted as single particles
fix integr nve_group nve/sphere
#insert the first particles
# dt * iteration = 0.40
variable iter equal 0.40/${dt}
variable dmpnr equal ${iter}/200
run 1
dump dmp all custom ${dmpnr} post/dump.onef id type type x y z ix iy iz vx vy vz fx fy fz omegax omegay omegaz radius
run ${iter} every 100000 "print - next 100000 runs -"
unfix ins
# insert a new topplate and move it downward for compaction
fix topwall all mesh/gran/stressanalysis topwall.stl 2 1. 0. 0. 0. 0. 0. 0.
dump I_stl all mesh/gran/VTK 10000 post/stress/Stressone_file-*.vtk stress
variable vz equal 5
fix F_movetop all move/mesh/gran linear 0. 0. -${vz} units box topwall 1
fix relax all nve/limit 0.01
run 300000 every 10000 "print **** next 10000 runs ****"
unfix relax
fix sphere all nve/sphere
Silias | Thu, 06/14/2012 - 09:57
Hi Nikhil, you forgot to tell
Hi Nikhil,
you forgot to tell LIGGGHTS, that the stl-file should behave as a wall. You can do that, after your command
fix topwall all mesh/gran/stressanalysis topwall.stl 2 1. 0. 0. 0. 0. 0. 0.
with something like
fix top all mesh/gran/hertz/history friction_damp_flag cohesionflag mesh/gran 1 topwall
Cheers,
Sebastian
NIKHIL | Thu, 06/14/2012 - 16:42
Hi Sebastian, I tried with
Hi Sebastian,
I tried with your suggestion but its not working, still the particles are penetrating through the wall.I am facing the same problem. My input script is:
atom_style granular
processors 1 1 1
atom_modify map array
boundary m m m
newton off
echo both
communicate single vel yes
units si
region reg cylinder z 0.0 0.0 0.07 0.0 0.80 units box
create_box 2 reg
neighbor 0.001 bin
neigh_modify delay 0
#Material properties required for new pair styles
fix m1 all property/global youngsModulus peratomtype 7e10 7e11
fix m2 all property/global poissonsRatio peratomtype 0.25 0.25
fix m3 all property/global coefficientRestitution peratomtypepair 2 0.2 0.2 0.2 0.2
fix m4 all property/global coefficientFriction peratomtypepair 2 0.2 0.0 0.0 0.0
#New pair style
pair_style gran/hertz/history 1 0 #0 für keine Kohesion
pair_coeff * *
variable dt equal 0.00000032
timestep ${dt}
fix ts_check all check/timestep/gran 1000 0.2 0.2
fix gravi all gravity 9.81 vector 0.0 0.0 -1.0
fix zwalls all wall/gran/hertz/history 1 0 zplane 0.0 0.79 1
fix cylwalls all wall/gran/hertz/history 1 0 zcylinder 0.07 1
fix pts1 all particletemplate/sphere 1 density constant 2520.5 radius constant 0.009
fix pdd1 all particledistribution/discrete 666 1 pts1 1.0
#region and insertion
group nve_group region reg
region bc cylinder z 0.0 0.0 0.07 0.01 0.45 units box
fix ins nve_group pour/dev mass 3.255 1 distributiontemplate pdd1 vel uniform 0. 0. 0. 0. -1 region bc
#apply nve integration to all particles that are inserted as single particles
fix integr nve_group nve/sphere
#insert the first particles
# dt * iteration = 0.40
variable iter equal 0.40/${dt}
variable dmpnr equal ${iter}/200
run 1
dump dmp all custom ${dmpnr} post/dump.onef id type type x y z ix iy iz vx vy vz fx fy fz omegax omegay omegaz radius
run ${iter} every 100000 "print - next 100000 runs -"
unfix ins
# insert a new topplate and move it downward for compaction
fix topwall all mesh/gran/stressanalysis topwall.stl 1 1. 0. 0. 0. 0. 0. 0.
fix wall all wall/gran/hertz/history 0 0 mesh/gran 1 topwall
dump I_stl all mesh/gran/VTK 10000 post/stress/Stressone_file-*.vtk stress
variable vz equal 5.7
fix F_movetop all move/mesh/gran linear 0. 0. -${vz} units box topwall 1
run 300000 every 10000 "print **** next 10000 runs ****"
ckloss | Sat, 06/16/2012 - 11:15
Hi NIKHIL, what I typically
Hi NIKHIL,
what I typically do in such a case is to debug the simulation step-by-step starting from a tutorial which works, e.g. in your case movingMeshGran
Cheers, Christoph
jtvanlew | Thu, 08/16/2012 - 21:29
hi nikhil, did you ever
hi nikhil,
did you ever figure out the problem? I am running into the same thing right now. I am similarly moving my to zwall (took the compression template and reworked it) and it's passing through the pebbles - the wall is reading the force upon it in the mesh but the pebbles do not rearrange. the strange thing is that this code worked fine to do compressions. Then I increased the size and increased the number of pebbles and suddenly it won't behave properly. I have done the wall mesh like you and can't figure it out.