ZZPolyCalc: An open-source code with fragment caching for determination of Zhang-Zhang polynomials of carbon nanostructures

Published: 7 May 2024| Version 1 | DOI: 10.17632/vmnr5xfb6t.1


Determination of topological invariants of graphene flakes, nanotubes, and fullerenes constitutes a challenging task due to its time-intensive nature and exponential scaling. The invariants can be organized in a form of a combinatorial polynomial commonly known as the Zhang-Zhang (ZZ) polynomial or the Clar covering polynomial. We report here a computer program, ZZPolyCalc, specifically designed to compute ZZ polynomials of large carbon nanostructures. The curse of the exponential scaling is avoided for a broad class of nanostructures by employing a sophisticated bookkeeping algorithm, in which each fragment appearing in the recursive decomposition is stored in the cache repository of molecular fragments indexed by a hash of the corresponding adjacency matrix. Although exponential scaling persists for the remaining nanostructures, the computational time is reduced by a few orders of magnitude owing to efficient use of hash-based fragment bookkeeping. The provided benchmark timings show that ZZPolyCalc allows for treating much larger carbon nanostructures than previously envisioned.



Physical Chemistry, Computational Physics, Carbon Nanostructure