atom_style command

Syntax

atom_style style args
  • style = bond or charge or ellipsoid or full or line or molecular or tri or hybrid or sphere or granular or bond/gran or superquadric or convexhull or sph

args = none for any style except hybrid
hybrid args = list of one or more sub-styles, each with their args

Examples

atom_style bond
atom_style sphere
atom_style superquadric (not available yet in the PUBLIC version)
atom_style hybrid sphere bond

Description

Define what style of atoms to use in a simulation. This determines what attributes are associated with the atoms. This command must be used before a simulation is setup via a read_data, read_restart, or create_box command.

Once a style is assigned, it cannot be changed, so use a style general enough to encompass all attributes. E.g. with style bond, angular terms cannot be used or added later to the model. It is OK to use a style more general than needed, though it may be slightly inefficient.

The choice of style affects what quantities are stored by each atom, what quantities are communicated between processors to enable forces to be computed, and what quantities are listed in the data file read by the read_data command.

These are the additional attributes of each style and the typical kinds of physical systems they are used to model. All styles store coordinates, velocities, atom IDs and types. See the read_data, create_atoms, and set commands for info on how to set these various quantities.

bond

bonds

bead-spring polymers

bond/gran

number of bonds and bond information

granular bond models

charge

charge

atomic system with charges

convexhull

mass, angular velocity, quaternion

granular models

ellipsoid

shape, quaternion, angular momentum

aspherical particles

line

end points, angular velocity

rigid bodies

molecular

bonds, angles, dihedrals, impropers

uncharged molecules

sph

q(pressure), density

SPH particles

sphere or granular

diameter, mass, angular velocity

granular models

superquadric

semi-axes, blockiness parameters, mass, angular velocity, quaternion

granular models

tri

corner points, angular momentum

rigid bodies AWPMD

Warning

It is possible to add some attributes, such as a molecule ID, to atom styles that do not have them via the fix property/atom command. This command also allows new custom attributes consisting of extra integer or floating-point values to be added to atoms. See the fix property/atom doc page for examples of cases where this is useful and details on how to initialize, access, and output the custom values.

All of the styles assign mass to particles on a per-type basis, using the mass command, except for sphere or granular styles. They assign mass to individual particles on a per-particle basis.

For the sphere style, the particles are spheres and each stores a per-particle diameter and mass. If the diameter > 0.0, the particle is a finite-size sphere. If the diameter = 0.0, it is a point particle. This is typically used for granular models. Instead of sphere, keyword granular can be used.

For the bond/gran style, this is deprecated. An example for the syntax is given below:

atom_style bond/gran n_bondtypes 1 bonds_per_atom 6

For the ellipsoid style, the particles are ellipsoids and each stores a flag which indicates whether it is a finite-size ellipsoid or a point particle. If it is an ellipsoid, it also stores a shape vector with the 3 diameters of the ellipsoid and a quaternion 4-vector with its orientation.

For the line style, the particles are idealized line segments and each stores a per-particle mass and length and orientation (i.e. the end points of the line segment).

For the tri style, the particles are planar triangles and each stores a per-particle mass and size and orientation (i.e. the corner points of the triangle).


Typically, simulations require only a single (non-hybrid) atom style. If some atoms in the simulation do not have all the properties defined by a particular style, use the simplest style that defines all the needed properties by any atom. For example, if some atoms in a simulation are charged, but others are not, use the charge style. If some atoms have bonds, but others do not, use the bond style.

The only scenario where the hybrid style is needed is if there is no single style which defines all needed properties of all atoms. For example, if you want dipolar particles which will rotate due to torque, you would need to use “atom_style hybrid sphere dipole”. When a hybrid style is used, atoms store and communicate the union of all quantities implied by the individual styles.

Restrictions

This command cannot be used after the materials definition.