inclined moving wall

Submitted by xiuhan on Tue, 08/13/2013 - 13:51

Hi all, I am trying to create a wall in Liggghts in gran style to track the particle-wall interaction force. Well I want my wall be tilted for 45 degrees, so not perfectly xplane or yplane or zplane.... and also can move horizontally forward with constant velocity. basically it looks like this. \ ------> A tiled wall moving in horizontal direction. I don't see how to set it through fix wall/gran command. Is it possible in Liggghts? I am not expecting it to be very difficult....

Thanks for any reply.


richti83's picture

richti83 | Tue, 08/13/2013 - 19:35

why not to tilt the g-force ?

I'm not an associate of DCS GmbH and not a core developer of LIGGGHTS®
but I have 7 years user experience using LIGGGHTS®, ParaView and LINUX

xiuhan | Sun, 08/25/2013 - 17:17

Well It might not be sufficient, I will look into it further, thanks for your reply.
I have another question, the ¨force cutoff" mentioned many times in the manual (for example in neighbor command), is that means the sum of the two particles' radius (force cutoff = Ri + Rj) ??

richti83's picture

richti83 | Mon, 08/26/2013 - 08:08

Well you could use a STL-File instead.
Here is usefull tool to generate a plane STL without invoking a CAD tool:

Then use fix move/mesh to give a velocity to the mesh-wall.
See examples/LIGGGHTS/Tutorials_public/movingMeshGran for details about linear and rotational motion.

About your 2nd question: yes best-pracice is to set force cutoff to 2*R_max (bc. when two "big" particles meet the maximum distance is D_big)


I'm not an associate of DCS GmbH and not a core developer of LIGGGHTS®
but I have 7 years user experience using LIGGGHTS®, ParaView and LINUX

xiuhan | Wed, 08/28/2013 - 11:38

thank you, I already get proper geometry. well I want to test the break of bonds, so I set up a script like following. but I always get a error: ERROR: Numeric index is out of bounds (force.cpp:679)
I can find where the error is...... it might be a silly question, but I didn't find it.

#Compression test example
dimension 2
boundary s s p
units si
atom_style hybrid bond sphere
atom_modify sort 1000 0.0
newton on
communicate single vel yes
region mybox block -0.01 0.01 -0.02 0.02 -0.0005 0.0005 units box
lattice custom 0.001 a1 1.0 0.0 0.0 a2 0.0 1.0 0.0 a3 0.0 0.0 1.0 basis 0.5 0.5 0.5 spacing 1.0 1.0 1.0
create_box 1 mybox
create_atoms 1 region mybox basis 1 1
set type 1 diameter 0.001
set type 1 density 2600
neighbor 0.0005 bin
neigh_modify every 50 delay 5
fix top all mesh/surface/stress file topwall.stl type 1
fix bottom all mesh/surface file bottomwall.stl type 1
fix move all move/mesh mesh top linear 0.0 -0.0001 0.0

#pair style
pair_style gran/hooke/history rolling_friction epsd tangential_damping on #Hooke
pair_coeff * *

#Material properties required for new pair styles
fix m1 all property/global youngsModulus peratomtype 1.e6
fix m2 all property/global poissonsRatio peratomtype 0.30
fix m3 all property/global coefficientRestitution peratomtypepair 1 0.95
fix m4 all property/global coefficientFriction peratomtypepair 1 0.05
fix m5 all property/global characteristicVelocity scalar 2
fix m7 all property/global coefficientRollingFriction peratomtypepair 1 0.001
fix m8 all property/global coefficientRollingViscousDamping peratomtypepair 1 0.001

fix wall all wall/gran/hooke/history mesh n_meshes 2 meshes top bottom

#Bond style
bond_style quartic
bond_coeff 1 1200 -0.55 0.25 1.3 34.6878
special_bonds lj 1,1,1
fix integer all nve/sphere
fix last all enforce2d
timestep 0.0001
dump D_stl all mesh/stl 100 post/Wall-*.stl
dump I_stl all mesh/VTK 100 post/Stress_file-*.vtk id stresscomponents stress
dump dmp all custom 100 post/dump*.compression id type x y z ix iy iz vx vy vz fx fy fz omegax omegay omegaz radius

run 50000

the out put is :
Lattice spacing in x,y,z = 0.001 0.001 0.001
Created orthogonal box = (-0.01 -0.02 -0.0005) to (0.01 0.02 0.0005)
1 by 1 by 1 MPI processor grid
Created 800 atoms
Setting atom values ...
800 settings made for diameter
Setting atom values ...
800 settings made for density

Reading STL file 'topwall.stl'

Reading STL file 'bottomwall.stl'
ERROR: Numeric index is out of bounds (force.cpp:679)

may anybody have any idea, I really appreciate.

PaulWinkler's picture

PaulWinkler | Thu, 08/29/2013 - 14:58


check you dimensions. Your script looks like 3D and you're saying 2D at the beginning and force it to 2D in the middle. I don't use 2D, but I think you have to decide, length of vectors differ... (thats why your force vector index is out of bounds)
By the way, it's recommended to use Liggghts in 3D, you can make a flat box if necessary.

Best wishes,