pair_style body/rounded/polygon command
pair_style body/rounded/polygon c_n c_t mu delta_ua cutoff c_n = normal damping coefficient c_t = tangential damping coefficient mu = normal friction coefficient during gross sliding delta_ua = multiple contact scaling factor cutoff = global separation cutoff for interactions (distance units), see below for definition
pair_style body/rounded/polygon 20.0 5.0 0.0 1.0 0.5 pair_coeff * * 100.0 1.0 pair_coeff 1 1 100.0 1.0
Style body/rounded/polygon is for use with 2d models of body particles of style rounded/polygon. It calculates pairwise body/body interactions which can include body particles modeled as 1-vertex circular disks with a specified diameter. See the Howto body doc page for more details on using body rounded/polygon particles.
This pairwise interaction between rounded polygons is described in Fraige, where a polygon does not have sharp corners, but is rounded at its vertices by circles centered on each vertex with a specified diameter. The edges of the polygon are defined between pairs of adjacent vertices. The circle diameter for each polygon is specified in the data file read by the read data command. This is a 2d discrete element model (DEM) which allows for multiple contact points.
Note that when two particles interact, the effective surface of each polygon particle is displaced outward from each of its vertices and edges by half its circle diameter (as in the diagram below of a gray and yellow square particle). The interaction forces and energies between two particles are defined with respect to the separation of their respective rounded surfaces, not by the separation of the vertices and edges themselves.
This means that the specified cutoff in the pair_style command is the cutoff distance, r_c, for the surface separation, delta_n (see figure below). This is the distance at which two particles no longer interact. If r_c is specified as 0.0, then it is a contact-only interaction. I.e. the two particles must overlap in order to exert a repulsive force on each other. If r_c > 0.0, then the force between two particles will be attractive for surface separations from 0 to r_c, and repulsive once the particles overlap.
Note that unlike for other pair styles, the specified cutoff is not the distance between the centers of two particles at which they stop interacting. This center-to-center distance depends on the shape and size of the two particles and their relative orientation. LAMMPS takes that into account when computing the surface separation distance and applying the r_c cutoff.
The forces between vertex-vertex, vertex-edge, and edge-edge overlaps are given by:
Note that F_n and F_t are functions of the surface separation delta_n = d - (R_i + R_j). In this model, when (R_i + R_j) < d < (R_i + R_j) + r_c, that is, 0 < delta_n < r_c, the cohesive region of the two surfaces overlap and the two surfaces are attractive to each other.
In Fraige, the tangential friction force between two particles that are in contact is modeled differently prior to gross sliding (i.e. static friction) and during gross-sliding (kinetic friction). The latter takes place when the tangential deformation exceeds the Coulomb frictional limit. In the current implementation, however, we do not take into account frictional history, i.e. we do not keep track of how many time steps the two particles have been in contact nor calculate the tangential deformation. Instead, we assume that gross sliding takes place as soon as two particles are in contact.
- k_n (energy/distance^2 units)
- k_na (energy/distance^2 units)
Effectively, k_n and k_na are the slopes of the red lines in the plot above for force versus surface separation, for delta_n < 0 and 0 < delta_n < r_c respectively.
Mixing, shift, table, tail correction, restart, rRESPA info:
This pair style does not support the pair_modify mix, shift, table, and tail options.
This pair style does not write its information to binary restart files. Thus, you need to re-specify the pair_style and pair_coeff commands in an input script that reads a restart file.
This pair style can only be used via the pair keyword of the run_style respa command. It does not support the inner, middle, outer keywords.