\(\renewcommand{\AA}{\text{Å}}\)
10.5.2. Granular models
Granular systems are composed of finite-size spherical or aspherical particles with explicit diameters, as opposed to point particles. This means they have an angular velocity and torque can be imparted to them to cause them to rotate.
The various atom, pair, fix, and compute styles listed below on this page are useful for creating granular models with such particles.
You can also define granular “surfaces” which are a collection of line segments (2d systems) or triangles (3d systems), which act as boundaries interacting with the particles. This is particularly useful for defining a complex wall or boundary geometry. Particle/surface interactions can be specified with similar options as the pair styles listed below for particle/particle interactions.
These doc pages describe how to define and use granular surfaces:
To run a simulation of particles with a granular model, you will typically want to use the following commands:
Aspherical granular particles can be simulated by creating clusters of spherical particles using either the rigid or BPM package or by using superellipsoids.
This compute
calculates rotational kinetic energy which can be output with thermodynamic info.
The compute
calculates various versions of the fabric tensor for granular and non-granular pair styles.
Use one of these 4 pair potentials, which compute forces and torques between interacting pairs of particles:
The first 3 are the older, original granular pair styles implemented in LAMMPS. The 4th pair_style gran/no_history is the newest and most flexible. It’s pairwise interaction models include options similar to the first 3 pair styles, plus many additional models.
To add your own custom granular contact model to the pair_style granular command, see the Modifying granular sub-models doc page.
These commands implement fix options specific to granular systems:
The fix style freeze zeroes both the force and torque of frozen atoms, and should be used for granular systems instead of the fix style setforce.
To model heat conduction, one must add the temperature and heatflow atom variables with:
plus a temperature integration fix
and a heat conduction option defined in both these commands:
For computational efficiency, you can eliminate needless pairwise computations between frozen atoms by using this command:
neigh_modify exclude
Note
By default, for 2d systems, granular particles are still modeled as 3d spheres, not 2d discs (circles), meaning their moment of inertia will be the same as in 3d. If you wish to model granular particles in 2d as 2d discs, see the note on this topic on the Howto 2d doc page, where 2d simulations are discussed.