mesh resizing

raguelmoon's picture
Submitted by raguelmoon on Mon, 05/31/2010 - 07:10

Hi,
If I resize the mesh or change its position in simulation box then LIGGGHTS can not pour particles into box correctly or pour a little particles. Sometimes poured particles have "nan" energy and angular momentum due to resizing. However, I have kept a minimum distance between the wall and the insertion region that is equal to maximum particle radius + half the neighbor skin. What is meant by wall here? wall of mesh or wall of the simulation box?
Thanks...

Ram

ckloss's picture

ckloss | Mon, 05/31/2010 - 09:20

Hi Ram,

wall means wall of type mesh/gran. You can check out how your geometry was scaled with the dump STL command. If you do that together with a very low dump frequency of the atom dump custom, you should see what happens.

If the problem persists, please post the input script.

best,
Christoph

raguelmoon's picture

raguelmoon | Mon, 05/31/2010 - 17:29

Hi Christoph,
How to scale geometry of mesh with that of dump STL command. I am using following command to dump the files...

fix cad all mesh/gran/stressanalysis shell.stl 1 0.0003 220. 220. 0. 0. 0. 0.

. . .
fix granwalls all wall/gran/hertz/history 1 0 mesh/gran 1 cad

region bc block 0.01 0.19 0.01 0.19 0.22 0.54 units box

....... . . . . . . .
. . . . . . . ..
fix ins grp pour 2000 1 1 vol 0.1 1000 diam uniform 0.005 0.005 dens uniform 2500 2500 region bc
.. .
.
.
. . .
dump dumpstl all mesh/gran/VTK 50 post/dump*.vtk

dump dmp all custom 50 post/dump.stress id type type x y z ix iy iz vx vy vz fx fy fz omegax omegay omegaz radius
..
..
..

Best,
Ram

Ram

mkoester | Mon, 05/31/2010 - 17:52

Hi Ram,

I had this "energy nan" problem every time a particle is exactly in the wall ( for example you have wall with an x value of 0.0 and add a particle with an x-value of 0.000). What worked for me was keepinmg a safe-space between the particles an the walls in the beginning.

martin

ckloss's picture

ckloss | Mon, 05/31/2010 - 18:15

Hi Ram,

Martin is right, it is probably that the particles are 'in the wall' at insertion. Try to do what I suggested, make a dump stl to see how your geometry was scaled and then make a dump of the atoms at frequency 1, so that you see where particles are inserted. Probably You scaled in a way that the particles are within the wall.

Best, Christoph

raguelmoon's picture

raguelmoon | Mon, 05/31/2010 - 18:23

Hi Christoph,
I have scaled down the mesh to smaller than previous. Particles should not be in the wall, I am sure.

Best,
Ram

Ram

raguelmoon's picture

raguelmoon | Mon, 05/31/2010 - 19:21

Hi Christoph,
Here is input script, I can not insert more than 1000 particles in this box. Whenever I increase the number of particles greater than 1000 then above problems occur. Also, the same problem occurs when I run simulation with restart file.

atom_style granular
boundary p p fm
newton off
atom_modify sort 0 0

communicate single vel yes
units si
#read_restart stress.file
region reg block 0.0 0.20 0.0 0.20 -0.01 0.55 units box
create_box 1 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
fix m2 all property/global poissonsRatio peratomtype 0.45
fix m3 all property/global coefficientRestitution peratomtypepair 1 0.7
fix m4 all property/global coefficientFriction peratomtypepair 1 0.5
#fix m5 all property/global characteristicVelocity scalar 2.

pair_style gran/hertz/history 1 0 #Hooke without cohesion
pair_coeff * *
fix 3 all wall/gran/hertz/history 1 0 zplane 0.0 0.54 1
#fix 4 all wall/gran/hooke/history 1 0 xplane 0.0 0.20 1
#fix 5 all wall/gran/hooke/history 1 0 yplane 0.0 0.20 1

timestep 0.0001

fix 1 all nve/sphere
fix 2 all gravity 9.81 vector 0.0 0.0 -1.0

fix cad all mesh/gran/stressanalysis shell.stl 1 0.0003 220. 220. 0. 0. 0. 0.

fix granwalls all wall/gran/hertz/history 1 0 mesh/gran 1 cad

#region of insertion

region bc block 0.05 0.18 0.05 0.18 0.0512 0.54 units box
group grp region reg
fix ins grp pour 2000 1 1 vol 0.7 1000 diam uniform 0.005 0.005 dens uniform 2500 2500 region bc

compute 1 all erotate/sphere
thermo_style custom step atoms ke c_1 vol
thermo 1000
thermo_modify lost ignore norm no
compute_modify thermo_temp dynamic yes

#dump dumpstl all mesh/gran/VTK 50 post/dump*.vtk

#insert the first particles so that dump is not empty
run 1
dump dmp all custom 50 post/dump.stress id type type x y z ix iy iz vx vy vz fx fy fz omegax omegay omegaz radius

#insert particles
run 10000 upto
unfix ins
run 20000 upto
write_restart stress.file

Thanks,
Ram

Ram

raguelmoon's picture

raguelmoon | Mon, 05/31/2010 - 19:33

hi,
error when I increase the umber of particles:

INFO: Maxmimum number of particle-tri contacts >20 at step 98, growing array...done!
INFO: Maxmimum number of particle-tri contacts >40 at step 102, growing array...done!
WARNING: Dangerous build in triangle neighbor list.
1000 2000 0.6576805 0.035569475 0.0224
INFO: Maxmimum number of particle-tri contacts >60 at step 1306, growing array...done!
INFO: Maxmimum number of particle-tri contacts >80 at step 1306, growing array...ERROR on proc 0: Failed to allocate 600000000 bytes for array fix_wall_gran:shear_g
--------------------------------------------------------------------------
MPI_ABORT was invoked on rank 0 in communicator MPI_COMM_WORLD
with errorcode 1.

NOTE: invoking MPI_ABORT causes Open MPI to kill all MPI processes.
You may or may not see output from other processes, depending on
exactly when Open MPI kills them.

Ram

Ram

ckloss's picture

ckloss | Tue, 06/01/2010 - 16:10

Hi Ram,

as a first solutions:
1) Do not use shell.stl, but draw an own STL file that does not have so many sharp-edged triangles meeting in the center

2) Do not use periodic BC, there is a pending LAMMPS bug with periodic BC with granular.

Christoph

ckloss's picture

ckloss | Tue, 06/01/2010 - 16:51

Hi ram,

Just another note: With 1e-4, your time-steps are really _very_ high, so you can run into a couple of problems due to that.. Take a look into standard DEM literature on how to choose time-steps. .

Christoph

raguelmoon's picture

raguelmoon | Tue, 06/01/2010 - 17:42

Hi,
But I found that all input scripts in examples use timestep of order of 1e-5 to 1e-4.

Best
Ram

Ram

ckloss's picture

ckloss | Tue, 06/01/2010 - 19:49

Hi Ram,

I don't think any of the examples uses a time-step as high as 1e-4? Please note that the time-step stability also depends on Youngs modulus, particle diameter, particle velocity, .... So I think in your case (d=0.005) 1e-4 is too high.

Best,
Christoph

raguelmoon's picture

raguelmoon | Wed, 06/02/2010 - 19:56

Hi,
Thanks Christoph, thanks Martin. I was wrong.... problem was solved.... It was all due to wall insertion, long timestep and periodic boundary. I read DEM literature.

Thanks...

Ram

Ram

sdalbign | Fri, 04/27/2012 - 21:38

Hi !

As a newbie in DEM, I was wondering what is this relation between critical timestep and Young modulus, particle diam, velocity ...etc
I've been looking for that in literature for quite a while and I end up with the idea there is no unique relationship btwn them. I found something like

dt(critical) = s*sqrt(m/K)}

with m: mass, K: stiffness, s: security coefficient (around 0.17 for 3D and 0.3 for 2D) but NO VELOCITY INVOLVED.

My question is :
Do you have a better relation (or an estimation) of this critical time step ? Does it make sense to consider particle velocity ?

mkoester | Tue, 06/01/2010 - 00:31

fix 3 all wall/gran/hertz/history 1 0 zplane 0.0 0.54 1
region bc block 0.05 0.18 0.05 0.18 0.0512 0.54 units box

it is possible that you insert a particle with a z coordinate of 0.54, if this happens your paticle is exactly in the wall and a (infinite) high force will be calculated. try to make the bc-region a tiny bit smaller (0.539)

martin

ckloss_ | Tue, 08/09/2011 - 15:36

Look at the fix particletemplate/sphere commands. Or you can use the set command

Christoph