Skip to content

agrgroup/StableNanopores

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

62 Commits
 
 
 
 
 
 

Repository files navigation

StableNanopores

This GitHub repository is a library of all possible stable nanopores in graphene, generated using Redelmeier's algorithm. We also allow for searching through the stable nanopore structures based on their geometrical properties, such as the major and minor axes lengths and the shape factor.

stable_nanopores_parallel.m generates a .mat file that contains data of all possible stable nanopores of a particular size, N, quantified as the number of carbon atoms removed from the graphene lattice in a contiguous fashion.

In other words, N is the number of triangles in the polyiamond or number of atoms that are missing in the nanopore.

stable_nanopores_parallel.m generates spreadsheets that sort and record geometrical properties (major axis, minor axis, shape factor) of these stable nanopores. stable_nanopores_serial.m is the serial version of the same code. It also creates an XYZ file that saves the coordinates of the nanopores.

The validity of the algorithm can be checked using the code itself by generating fixed and free polyiamonds, and matching their count with the OEIS data (https://oeis.org/A070765).

All the other .m files given in the main folder are functions that are used by stable_nanopores_parallel.m.

The function search.m facilitates the searching of nanopores based on their properties (major axis, minor axis, shape factor).

The word 'parallel' denotes to the use of parallel computing. The program requires the Mapping Toolbox and the Parallel Computing Toolbox from MATLAB.

The folder Nanopore_xyz_Library contains coordinate files of the nanopores as a library to facilitate future theoretical studies of these nanopores. Due to its excessive size, coordinate files for greater N are saved as zipped files after dividing them into different parts. For example, for N=20, The whole xyz library is divided into 30 parts and saved as stable_nanopores_20_1.xyz, stable_nanopores_20_2.xyz and so on.

The Supplementary_Codes folder contains program files that can be used to extract and visualize further details of the data generated by stable_nanopores_parallel.m.

figs_min_max.m creates figures of nanopore rims with maximum and minimum properties along with the properties. min_max_xyz.m creates xyz files of nanopores with maximum and minimum properties.

The functions min_max_plotrimedge, xyz_A.m and xyz_num.m are improvised versions of functions from the main folder.

Polyiamond_polyhex.m plots polyiamonds and polyhexes in figures and helps in their visualization.

Before using the files in Supplementary_Codes folder, make sure that the folder contains the data generated by stable_nanopores_parallel.m.

Reference: Thomas, S.; Silmore, K. S.; Sharma, P.; Govind Rajan, A. Enumerating Stable Nanopores in Graphene and Their Geometrical Properties Using the Combinatorics of Hexagonal Lattices. J. Chem. Inf. Model. 2023, 63, 870–881.

About

A library of all possible stable nanopores in graphene, generated using Redelmeier's algorithm, that allows searching based on their geometrical properties

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages