Official Resources
- Source Repository: https://github.com/SUNCAT-Center/CatKit
- Documentation: https://catkit.readthedocs.io/
- License: Open source (MIT)
Overview
CatKit (Catalysis Kit) is a Python library for surface generation and catalysis simulations. It provides tools for generating surface slabs, adsorption sites, and surface structures for heterogeneous catalysis research, integrated with the SUNCAT Center workflow.
Scientific domain: Surface generation, catalysis, adsorption sites, slab construction
Target user community: Researchers studying surface catalysis with DFT
Theoretical Methods
- Surface slab generation (Miller indices)
- Adsorption site identification (ontop, bridge, hollow)
- Surface structure enumeration
- Symmetry analysis for surfaces
- Bulk to surface workflow
- Coordination-based site finding
Capabilities (CRITICAL)
- Surface slab generation from bulk
- Adsorption site enumeration
- Surface structure construction
- Miller index handling
- Symmetry-preserving surface generation
- Adsorbate placement
Sources: GitHub repository, ReadTheDocs
Key Strengths
Surface Generation:
- Automated slab construction
- Miller index support
- Symmetry-preserving surfaces
- Multiple terminations
Adsorption Sites:
- Ontop, bridge, hollow sites
- Coordination-based identification
- All unique sites
- Adsorbate placement
Catalysis Workflow:
- Bulk to surface pipeline
- Adsorbate-surface combinations
- Enumeration of configurations
- SUNCAT integration
Inputs & Outputs
-
Input formats:
- Bulk structures (ASE, pymatgen)
- Miller indices
- Adsorbate structures
-
Output data types:
- Surface slabs
- Adsorption sites
- Adsorbed structures
- Surface enumerations
Interfaces & Ecosystem
- ASE: Structure handling
- pymatgen: Structure handling
- NumPy: Numerical computation
- Python: Core language
Performance Characteristics
- Speed: Fast (structure generation)
- Accuracy: Symmetry-preserving
- System size: Any surface
- Memory: Low
Computational Cost
- Generation: Seconds
- DFT pre-requisite: Hours (separate)
- Typical: Very efficient
Limitations & Known Constraints
- Catalysis focused: Not general purpose
- Limited documentation: Could be more extensive
- Python 3.6+: Required
- Research code: Limited support
Comparison with Other Codes
- vs ASE surface: CatKit has adsorption sites, ASE has basic slab generation
- vs pymatgen surface: CatKit is catalysis-specific, pymatgen is general
- vs surfx: CatKit is surface generation, surfx is surface analysis
- Unique strength: Automated adsorption site enumeration and surface generation for catalysis
Application Areas
Heterogeneous Catalysis:
- Surface slab generation
- Adsorption site identification
- Adsorbate placement
- Catalyst screening
Surface Science:
- Surface structure enumeration
- Multiple terminations
- Symmetry analysis
- Surface reconstruction
High-Throughput:
- Automated surface generation
- Adsorption configuration enumeration
- Catalyst screening workflows
- Database construction
Best Practices
Surface Generation:
- Use appropriate Miller indices
- Check slab convergence
- Verify surface symmetry
- Compare terminations
Adsorption:
- Identify all unique sites
- Check adsorbate-surface distances
- Validate with known systems
- Use consistent settings
Community and Support
- Open source (MIT)
- Developed at SUNCAT Center (Stanford/SLAC)
- ReadTheDocs documentation
- Research community
Verification & Sources
Primary sources:
- GitHub: https://github.com/SUNCAT-Center/CatKit
Confidence: VERIFIED
Verification status: ✅ VERIFIED
- Source code: ACCESSIBLE (GitHub)
- Documentation: ACCESSIBLE (ReadTheDocs)
- Specialized strength: Automated adsorption site enumeration and surface generation for catalysis