Particle properties

Definition

Particle properties are attributes (typically numerical information) associated with each particle. They play a central role in the data model of OVITO. Common examples for particle properties are position, chemical type or velocity. In OVITO's data model, all particles in a dataset uniformly possess the same set of properties (but their values may be different). In other words, it is not possible for only some particles to have a certain attribute while others do not. The set of properties associated with all particles can dynamically change though.

Note that this concept of uniform properties is very general and applies to other entity classes as well. For instance, in OVITO the interatomic bonds may be associated with bond properties, e.g. bond type or bond color. So keep in mind that, even though the following introduction primarily focuses on particle properties, it applies to other classes of properties in the same manner.

OVITO allows you to associate an arbitrary number of properties with the particles. Each property is identified by its unique name, for example Position or Potential Energy. OVITO has a built-in list of commonly-used property names including the mentioned two, but you are free to define properties with other names as needed. The Position property plays a special role though, because it is always present. Clearly, there cannot be any particles without a position. Other standard properties such as Color, Radius or Selection have a special meaning to the program as well, because their values affect how OVITO renders the particles. By assigning values to these properties, you control the visual appearance of particles.

In OVITO, per-particle property values can have different data types (real or integer) and dimensionality (e.g. scalar, vector, tensor), depending on the property at hand. The Position property, for instance, is a vector property with three components per particle, referred to as Position.X, Position.Y and Position.Z within OVITO's user interface.

How are properties assigned?

An initial set of properties is automatically created by OVITO whenever you open a simulation data file. The values of standard properties such as Position, Particle Type and Velocity are typically initialized from the data in the loaded file. Some file formats such as LAMMPS dump and the extended XYZ format can store an arbitrary number of extra data columns with additional per-atom attributes. These attributes from the input file are automatically mapped to corresponding particle properties during import.

To find out which properties are currently associated with the particles, you can open OVITO's Data Inspector, which is shown in the screenshot. Alternatively, you can simply position the mouse cursor over a particle in the viewports, and OVITO will display the values of all its properties in the status bar.

OVITO provides a rich set of functions for modifying the assigned properties of particles. These so-called modifiers will be introduced in more detail in a following section of this manual. But to already give you an idea: The Assign color modifier function lets you assign a uniform color of your choice to all currently selected particles. It does that by setting the Color property of the particles to the given RGB value (if the Color property doesn't exist yet, it is automatically created). Which of the particles are currently selected is determined by the value of their Selection property (convention: 0=unselected, 1=selected).

Fittingly, OVITO provides a number of particle selection modifiers, which allow you to set the value of the Selection property. For example, the Select type modifier inspects the Particle Type property of each particle to decide whether or not to select the particle, allowing you to pick all atoms of a particular chemical type, for example.

Another typical modifier is the Coordination Analysis modifier. It computes the number of neighbors of each particle within a given cutoff range and stores the computation results in a new particle property named Coordination. Subsequently, you can refer to the values of this property, for example to select particles having a coordination number in a certain range or to color particles based on their coordination number (see Color Coding modifier).

Of course it is possible to export the particle property values to an output file. OVITO supports a variety of output formats for that (see the data export section of this manual). For instance, the XYZ format is a simple table format supporting an arbitrary set of output columns.

Special particle properties

As mentioned above, certain particle properties play a special role in OVITO, because their values control the visual appearance of the particles as well as other aspects. The following table lists these properties and describes their function:

Particle propertyData type / ComponentsDescription
PositionReal (X, Y, Z)

The particle coordinates. For 2-dim. systems, Z will be 0.

ColorReal (R, G, B)

If present, this property controls the display color of particles. Red, green and blue components are in the range [0,1].

RadiusReal

If present, this property controls the display size of particles.

Particle TypeInteger

Stores the type identifier of each particle. This also determines the display size and color if the Radius or Color property are not present.

Particle IdentifierInteger

Stores the unique ID of each particle. This information will be used by some modifiers to track particles over time even if the storage order changes.

TransparencyReal

A value in the range [0,1] controlling the particle's transparency. If not present, particles are rendered fully opaque.

SelectionInteger

Stores the current selection state of particles (1 for selected particles; 0 otherwise).

Special bond properties

Bond propertyData type / ComponentsDescription
TopologyInteger (A, B)

This bond property is always present and holds the indices of the two particles connected by a bond.

Bond TypeInteger

Stores the type identifier of each bond. The bond type determines the display color if the Color property is not present.

ColorReal (R, G, B)

If present, this property controls the display color of individual bonds. Red, green and blue components are in the range [0,1].

TransparencyReal

A value in the range [0,1] controlling the bonds's transparency. If not present, bonds are rendered fully opaque.

SelectionInteger

Stores the current selection state of bonds (1 for selected bonds; 0 otherwise).