Find rings pro
Added in version 3.14.0.
This modifier identifies and visualizes ring structures formed by bonds between particles.
You can either load the bonds needed by this modifier from a file or generate them within OVITO using the Create bonds modifier.
Definition of a ring
A ring is a closed path made of bonds. Rings identified by the algorithm must not contain bridges. This means the shortest path between any two particles within the same ring must be a section of the same ring, i.e., the path cannot be a shortcut. This is shown in the following schematic. The 10-ring is not a valid ring, because a shortcut exists between two of its atoms. Instead, the modifier finds two 6-rings.
The modifier has two parameters specifying the rings to be identified:
- Minimum ring size
Minimum size of the rings identified by the modifier (inclusive). It must be at least 3.
- Maximum ring size
Maximum size of the rings identified by the modifier (inclusive). It must be greater than the minimum ring size and at most 36, the maximum ring size supported by this modifier.
Outputs
- List of rings
For each ring size \(N\) in the specified range, the modifier outputs a data table, named
N-rings, listing each detected ring of that size. Each row in the table contains the 0-based indices of the particles forming a ring; the first and last particles listed are implicitly connected. TheParticle Indicescolumn is a reference property pointing to the particles container, so the indices stay valid when particles are subsequently deleted or reordered, and a ring is automatically removed from the table when one of its particles gets deleted.- Ring size histogram
Additionally, a data table with the histogram of ring sizes is produced, summarizing the distribution. You can open this histogram by clicking Show histogram in data inspector.
- Ring polygons
The modifier also creates a surface mesh to visualize the rings as polygons. Each ring forms one face and one region of the mesh. The
Ring Sizeproperty of the mesh regions stores the size of each ring; by default, the Surface mesh visual element maps it to a color, as in the example below. TheParticleregion property refers to the first particle of each ring (the one with the smallest index). It is an element reference, which stays valid when particles get deleted or reordered further down the pipeline, and it anchors the ring polygon to that particle when virtual periodic images of the particles are rendered: the polygon is then drawn as a whole wherever the particle appears, e.g. on both sides of a periodic boundary cutting through a molecule.
See also
ovito.modifiers.FindRingsModifier (Python API)