Ring analysis
A common topological measure of amorphous systems is a statistics of shortest-path (SP) rings. matscipy
has a C-implementation of a backtracking algorithms that computes sp-rings according to the algorithm by Franzblau. The function ring_statistics
accept a cutoff for neighbor search and a maximum ring length as arguments.
%matplotlib inline
import numpy as np
import matplotlib.pyplot as plt
from ase.io import read
from matscipy.rings import ring_statistics
# Load a disordered configuration (amorphous silicon)
a = read('../../tests/aSi.cfg')
# Identify rings
r = ring_statistics(a, cutoff=3.0, maxlength=6)
# Plot statistics
plt.plot(r)
plt.xlabel('Number of atoms in ring')
plt.ylabel('Number of rings')
Text(0, 0.5, 'Number of rings')