Rolling with constant torque

Dear LAMMPS users,

I’m using LAMMPS version 29-Sep-2021

I would like to create a chain of fully frozen particles (type 1) and a non-frozen particle on top (type 2) that can roll through the chain by applying constant torque (sort of like a 2D version of a sphere rolling on a rough surface). For this I have modified the script “in.pour.flatwall” as follows:

dimension 2
atom_style sphere
units lj
boundary p p p
region boxreg block 0 100 0 20 0 1
create_box 2 boxreg

####### Create initial configuration
####### Frozen particle
variable a loop 100
label loop
variable x equal ($a-1)
create_atoms 1 single $x 10.0 0.5
next a
jump SELF loop

####### Not frozen particle
create_atoms 2 single 10.0 15.0 0.5

####### Particles diameter
set type * diameter 1.0

####### Not frozen particle group
group mov type 2

####### All interactions
pair_style hybrid/overlay granular lj/cut 1.122462048
pair_coeff 1 * granular jkr 1000.0 50.0 0.3 10 tangential mindlin 800.0 1.0 0.5 rolling sds 500.0 200.0 0.5 twisting marshall
pair_coeff 2 2 granular hertz 200.0 20.0 tangential linear_history 300.0 1.0 0.1 rolling sds 200.0 100.0 0.1 twisting marshall
pair_coeff * * lj/cut 1.0 1.0
pair_modify shift yes

comm_modify vel yes

fix torq mov addtorque 0.0 0.0 50.0

fix 1 mov nve/sphere
fix grav mov gravity 10.0 vector 0 -1 0

neighbor 0.15 bin
neigh_modify delay 0 every 1 check yes

thermo_style custom step atoms ke
thermo_modify lost warn
thermo 100

timestep 0.001

dump 1 all custom 100 pour_two_types.dump id type radius mass x y fx fy fz omegaz tqz

run 50000

This script don’t give an error, however I’ve tried different values of Tz (3rd component in addtorque) but the type 2 particle just falls due to gravity, stays on the chain and never rolls.

Since there are many parameters in the granular pair style, maybe there is a problem with those values that I have choose for my particular case. I have modified that parameters several times with no successfully results. Would it be this approach right for this problem or LAMMPS have a better tool to do so? Does anyone have any suggestions?

Thank you very much

You are misunderstanding of what fix addtorque does. It is rather obvious from the documentation:

Add a set of forces to each atom in the group such that:

  • the components of the total torque applied on the group (around its center of mass) are , , and
  • the group would move as a rigid body in the absence of other forces.

This doesn’t know anything about extended particles and does manipulate the per-particle torque.

I am not aware of any feature in LAMMPS that does what you want to do.

1 Like