pair_style line/lj command¶
Examples¶
pair_style line/lj 3.0
pair_coeff * * 1.0 1.0 1.0 0.8 1.12
pair_coeff 1 2 1.0 2.0 1.0 1.5 1.12 5.0
pair_coeff 1 2 1.0 0.0 1.0 1.0 2.5
Description¶
Style line/lj treats particles which are line segments as a set of small spherical particles that tile the line segment length as explained below. Interactions between two line segments, each with N1 and N2 spherical particles, are calculated as the pairwise sum of N1*N2 Lennard-Jones interactions. Interactions between a line segment with N spherical particles and a point particle are treated as the pairwise sum of N Lennard-Jones interactions. See the pair_style lj/cut doc page for the definition of Lennard-Jones interactions.
The set of non-overlapping spherical sub-particles that represent a line segment are generated in the following manner. Their size is a function of the line segment length and the specified sub-particle size for that particle type. If a line segment has a length L and is of type I, then the number of spheres N that represent the segment is calculated as N = L/sizeI, rounded up to an integer value. Thus if L is not evenly divisibly by sizeI, N is incremented to include one extra sphere. The centers of the spheres are spaced equally along the line segment. Imagine N+1 equally-space points, which include the 2 end points of the segment. The sphere centers are halfway between each pair of points.
The LJ interaction between 2 spheres on different line segments (or a sphere on a line segment and a point particles) is computed with sub-particle epsilon, sigma, and cutoff values that are set by the pair_coeff command, as described below. If the distance bewteen the 2 spheres is greater than the sub-particle cutoff, there is no interaction. This means that some pairs of sub-particles on 2 line segments may interact, but others may not.
For purposes of creating the neighbor list for pairs of interacting line segments or lines/point particles, a regular particle-particle cutoff is used, as defined by the cutoff setting above in the pair_style command or overridden with an optional argument in the pair_coeff command for a type pair as discussed below. The distance between the centers of 2 line segments, or the center of a line segment and a point particle, must be less than this distance (plus the neighbor skin; see the neighbor command), for the pair of particles to be included in the neighbor list.
Note
This means that a too-short value for the cutoff setting can exclude a pair of particles from the neighbor list even if pairs of their sub-particle spheres would interact, based on the sub-particle cutoff specified in the pair_coeff command. E.g. sub-particles at the ends of the line segments that are close to each other. Which may not be what you want, since it means the ends of 2 line segments could pass through each other. It is up to you to specify a cutoff setting that is consistent with the length of the line segments you are using and the sub-particle cutoff settings.
For style line/lj, the following coefficients must be defined for each pair of atom types via the pair_coeff command as in the examples above, or in the data file or restart files read by the read_data or read_restart commands:
- sizeI (distance units)
- sizeJ (distance units)
- epsilon (energy units)
- sigma (distance units)
- subcutoff (distance units)
- cutoff (distance units)
The sizeI and sizeJ coefficients are the sub-particle sizes for line particles of type I and type J. They are used to define the N sub-particles per segment as described above. These coefficients are actually stored on a per-type basis. Thus if there are multiple pair_coeff commmands that involve type I, as either the first or second atom type, you should use consistent values for sizeI or sizeJ in all of them. If you do not do this, the last value specified for sizeI will apply to all segments of type I. If typeI or typeJ refers to point particles, the corresponding sizeI or sizeJ is ignored; it can be set to 0.0.
The epsilon, sigma, and subcutoff coefficients are used to compute an LJ interactions between a pair of sub-particles on 2 line segments (of type I and J), or between a sub particle/point particle pair. As discussed above, the subcutoff and cutoff params are different. The latter is only used for building the neighbor list when the distance between centers of two line segments or one segment and a point particle is calculated.
The cutoff coefficient is optional. If not specified, the global cutoff is used.
Mixing, shift, table, tail correction, restart, rRESPA info:
For atom type pairs I,J and I != J, coeffiecients must be specified. No default mixing rules are used.
This pair style does not support the pair_modify shift, table, and tail options.
This pair style does not write its information to binary restart files.
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.
Restrictions¶
This style is part of the ASPHERE package. It is only enabled if LAMMPS was built with that package. See the Making LAMMPS section for more info.
Defining particles to be line segments so they participate in line/line or line/particle interactions requires the use the atom_style line command.