Overview of Characterization Steps

  1. Pre-processing
    The symmetry operations in the CIF file are applied to generate the positions of all atoms within a unit cell. Solvent molecules and disorder sites are removed. Bonds are inserted between nearby atoms to construct a periodic molecular graph of the structure.
  2. Identifying portals
    Rings are identified within the structure's molecular graph though which molecules can pass using an algorithm based on k-cycle enumeration. These rings are known as "isometric cycles," a property that is checked using Dijkstra's shortest path algorithm.
  3. Building channels
    A non-linear optimization model is used to find the largest void cylinder linking each pair of portals. A sufficiently large cylinder indicates the presence of a channel. Delaunay triangulation is used to better approximate the shape of each channel as the union of several overlapping cylinders.
  4. Finding cages
    Large pockets of void space within the structure, known as cages, are identified using three-dimensional Delaunay triangulation. The shape of each cage is approximated by the union of several overlapping spheres.
  5. Determining connectivity
    Places within the structure where a guest molecule can change its direction of travel are located by intersecting the geometric objects that represent channels and cages. A connectivity graph is constructed to describe how channels and cages connect to one another.
  6. Calculating accessibility
    Given the characteristic size of a guest molecule, the connectivity graph is pruned using breadth-first search to remove channels and cages not reachable from afar.
  7. Computing total volume
    The total pore volume is found by calculating the volume of the union of all cylinders and spheres within a unit cell using an octree decomposition and Monte Carlo integration. A pore size distribution is generated by tracking the contribution of each feature to the total volume.
  8. Computing accessible volume
    The volume calculation is repeated using the pruned connectivity graph to determine the accessible pore volume as a function of characteristic guest molecule size.
  9. Computing accessible surface area
    The accessible surface area is estimated as a function of characteristic guest molecule size by approximating each channel by a single cylinder and each cage by a single sphere and finding the geometric surface area.
  10. Generating results output
    A three-dimensional visualization of channels and cages is generated to be viewed through our interactive Java applet.

For a more detailed description of each of these steps, please refer to our publications below.


First, E. L., Floudas, C. A. MOFomics: Computational pore characterization of metal-organic frameworks. Microporous and Mesoporous Materials, 165:32–39, 2013.

First, E. L., Gounaris, C. E., Wei, J., and Floudas, C. A. Computational characterization of zeolite porous networks: an automated approach. Physical Chemistry Chemical Physics, 13(38):17339–17358, 2011.

Gounaris, C. E., Wei, J., Floudas, C. A., Ranjan, R., and Tsapatsis, M. Rational design of shape selective separations and catalysis: Lattice relaxation and effective aperture size. AIChE Journal, 56(3):611–632, 2009.

Gounaris, C. E., Wei, J., and Floudas, C. A. Rational design of shape selective separation and catalysis–II: Mathematical model and computational studies. Chemical Engineering Science, 61(24):7949–7962, 2006.

Gounaris, C. E., Floudas, C. A., and Wei, J. Rational design of shape selective separation and catalysis–I: Concepts and analysis. Chemical Engineering Science, 61(24):7933–7948, 2006.