How does LAMMPS update angular velocities in the granular system?

How does LAMMPS update angular velocities in the granular system?

I read the pair_style granular section of the manual, and it states:

If the rolling keyword is not specified, the model defaults to none .

Initially, I assumed that LAMMPS would not calculate angular velocities and would only update linear velocities using F_n and F_t if I didn’t assign the rolling keyword. However, I discovered that the angular velocities of granules are indeed updated over time. Unfortunately, I don’t see any description in the manual regarding how LAMMPS updates angular velocities.

Does LAMMPS simply consider the center of mass (C.M.) as the fulcrum?

Velocities in LAMMPS are updated according to the velocity Verlet algorithm by time integration fixes. If you use fix nve, particles are indeed treated like point particles and torque as well as angular velocities will be ignored. But for extended particles like granular models, you would not use that but the fix nve/sphere command — LAMMPS documentation

Discrete particles are spheres of homogeneous density (so the center of mass must be in the center) or collections of such spheres treated as a rigid body. In the latter case the C.O.M depends on the composition, for details, please see: fix rigid command — LAMMPS documentation

For updating the angular velocity of particles, fix nve/sphere is the place to look.

Adjacently, LAMMPS also updates shear/rolling/twisting displacements, when appropriate, using the angular velocity as described in the pair_granular documentation page. If you don’t specify a rolling friction term, then LAMMPS won’t calculate a rolling displacement.

However, F_t still requires the angular velocities of particles.