A general overview
Zeo++ is a open source software for performing high-throughput geometry-based analysis of porous materials and their voids. The main code provides capabilities to calculate the following:
- Pore diameters – The typical parameters describing pore sizes are the diameters describing: (1) the largest included sphere (Di), (2) the largest free sphere (Df), and (3) the largest included sphere along the free sphere path (Dif). See the illustration on the right.
- Surface area and volume – The code can calculate probe-accessible surface area and probe-accessible volume using Monte Carlo sampling approach.
- Probe-occupiable volume – Zeo++ code can use an alternative definition to the above probe-accessible volume.
- "Per channel" analysis – The probe-accessible part of the void space can be analyzed to identify independent channel systems, their dimensionality as well as the corresponding Di, Df and Dif parameters.
- Pore Size Distribution (PSD) – PSD gives information on how much of the void space corresponds to certain pore sizes.
- Hologram representations Hologram, a histogram representing the probe-accessible void space, can be calculated and then used to perform structure-(dis)similarity analysis for a large set of material structures.
- Stochastic ray approaches – Zeo++ can generate histogram representations of the void space by shooting random rays inside the unit cell, and measuring their lenghts. The resulting histogram is a fingerprint of the void space, and it can be used to compare structures.
- Distance grid calculations – The code can calculate the grid representation of the material. The grid points are assigned the corresponding distance to their nearest atoms. The grids are saved in either Gaussian Cube or BOV file formats for an easy visualization.
- Aid to Molecular Simulations – The code can calculate "blocking spheres" to be used in Monte Carlo simluations of adsorption to exclude inaccessible regions.
- Structure analysis – The code can identify molecules and frameworks present in the provided materials. For the latter, dimensionality can be determined. Similarly, Open Metal Sites (OMS) can be detected in MOF structures and counted automatically.
- File format conversion and visualization aids – The code can perform basic operaction on files with structures and generate data for visualization: generation of supercells, ploting unit cells in VisIT and VMD etc.
The structure of the code makes it particularly well-suited to many problems in physics and materials science, where Voronoi cells can be a useful method of analyzing particle packings.
Development
Zeo++ was written by researchers of the Computational Research Division of the
Lawrence Berkeley National laboratory: Maciej Haranczyk,
Chris H. Rycroft (now at Harvard), Thomas F. Willems (now at MIT) and Richard L. Martin (now at IBM).
Zeo++ is further-developed and maintained by Maciej Haranczyk and his group.
Many functionalities were developed by collaborating students and interns: Marielle Pinheiro, Christopher Oustrouchov, Ismael Garcia Gomez, Daniele Ongari, Sandeep Subramanian, Andrew Jones.
Bharat Medasani and Nils Zimmermann have been working on Python interface to Zeo++.
Many functions of Zeo++ were developed after suggestions from our collaborators: Berend Smit and his group (multiple contributions over the years), Daniel Holden and Kim Jelfs (grid-based analysis, improved outputs, time-dependent analysis), and Michael Deem ("per channel analysis").
Acknowledgement
Zeo++ has been developed with generous support from the US Department of Energy. In particular, it was funded in major parts by the U.S. Department of Energy, Office of Basic Energy Sciences, Division of Chemical Sciences, Geosciences and Biosciences through the Nanoporous Materials Genome Center under award DE-FG02- 17ER16362 (and previously Award DE-FG02-12ER16362) as well as the Center of Advanced Mathematics for Energy Research Applications (CAMERA).