pymatgen.io.zeopp module
Module implementing classes and functions to use Zeo++ by Maciej Haranczyk.
If using this module, cite the following paper on Zeo++: T.F. Willems, C.H. Rycroft, M. Kazi, J.C. Meza, and M. Haranczyk, Algorithms and tools for high-throughput geometry-based analysis of crystalline porous materials, Microporous and Mesoporous Materials, 149 (2012) 134-141.
Zeo++ Installation Steps:
A stable version of Zeo++ can be obtained from http://zeoplusplus.org. Instructions can be found at http://www.zeoplusplus.org/download.html
Zeo++ Post-Installation Checking:
Go to pymatgen/io/tests and run “python test_zeoio.py” If Zeo++ python bindings are properly installed, the tests should pass. One or two tests will be skipped.
Go to pymatgen/analysis/defects/tests and run “python test_point_defects.py”. Lots of tests will be skipped if GULP is not installed. But there should be no errors.
- class ZeoCssr(structure)[source]
Bases:
Cssr
ZeoCssr adds extra fields to CSSR sites to conform with Zeo++ input CSSR format. The coordinate system is rotated from xyz to zyx. This change aligns the pivot axis of pymatgen (z-axis) to pivot axis of Zeo++ (x-axis) for structural modifications.
- Parameters:
structure – A structure to create ZeoCssr object
- class ZeoVoronoiXYZ(mol)[source]
Bases:
XYZ
Class to read Voronoi Nodes from XYZ file written by Zeo++. The sites have an additional column representing the voronoi node radius. The voronoi node radius is represented by the site property voronoi_radius.
- Parameters:
mol – Input molecule holding the voronoi node information
- get_free_sphere_params(structure, rad_dict=None, probe_rad=0.1)[source]
Analyze the void space in the input structure using voronoi decomposition Calls Zeo++ for Voronoi decomposition.
- Parameters:
structure – pymatgen.core.structure.Structure
rad_dict (optional) – Dictionary of radii of elements in structure. If not given, Zeo++ default values are used. Note: Zeo++ uses atomic radii of elements. For ionic structures, pass rad_dict with ionic radii
probe_rad (optional) – Sampling probe radius in Angstroms. Default is 0.1 A
- Returns:
voronoi nodes as pymatgen.core.structure.Structure within the unit cell defined by the lattice of input structure voronoi face centers as pymatgen.core.structure.Structure within the unit cell defined by the lattice of input structure
- get_high_accuracy_voronoi_nodes(structure, rad_dict, probe_rad=0.1)[source]
Analyze the void space in the input structure using high accuracy voronoi decomposition. Calls Zeo++ for Voronoi decomposition.
- Parameters:
structure – pymatgen.core.structure.Structure
rad_dict (optional) – Dictionary of radii of elements in structure. If not given, Zeo++ default values are used. Note: Zeo++ uses atomic radii of elements. For ionic structures, pass rad_dict with ionic radii
probe_rad (optional) – Sampling probe radius in Angstroms. Default is 0.1 A
- Returns:
voronoi nodes as pymatgen.core.structure.Structure within the unit cell defined by the lattice of input structure voronoi face centers as pymatgen.core.structure.Structure within the unit cell defined by the lattice of input structure
- get_void_volume_surfarea(structure, rad_dict=None, chan_rad=0.3, probe_rad=0.1)[source]
Computes the volume and surface area of isolated void using Zeo++. Useful to compute the volume and surface area of vacant site.
- Parameters:
structure – pymatgen Structure containing vacancy
rad_dict (optional) – Dictionary with short name of elements and their radii.
chan_rad (optional) – Minimum channel Radius.
probe_rad (optional) – Probe radius for Monte Carlo sampling.
- Returns:
floating number representing the volume of void
- Return type:
volume
- get_voronoi_nodes(structure, rad_dict=None, probe_rad=0.1)[source]
Analyze the void space in the input structure using voronoi decomposition Calls Zeo++ for Voronoi decomposition.
- Parameters:
structure – pymatgen.core.structure.Structure
rad_dict (optional) – Dictionary of radii of elements in structure. If not given, Zeo++ default values are used. Note: Zeo++ uses atomic radii of elements. For ionic structures, pass rad_dict with ionic radii
probe_rad (optional) – Sampling probe radius in Angstroms. Default is 0.1 A
- Returns:
voronoi nodes as pymatgen.core.structure.Structure within the unit cell defined by the lattice of input structure voronoi face centers as pymatgen.core.structure.Structure within the unit cell defined by the lattice of input structure