Skip to content

Phorbol/Chemical-Space-Random-Sampling

Repository files navigation

ZeoGen - 沸石结构生成器

项目简介

ZeoGen是一个先进的计算工具,用于生成沸石分子筛结构。本项目包含多个版本的沸石生成算法,从基础的傅里叶曲面生成到高级的双重排斥力场优化。

版本说明

v7.1 (Dual Repulsion Edition)

  • 双重排斥力场实现
  • 物种特异性截断距离
  • 务实的边数平衡策略

v8.0 (Refactored Object-Oriented Edition)

  • 完全面向对象的重构版本
  • 参数与计算分离
  • 模块化设计,易于扩展和维护
  • 支持多种配置方式

核心特性

  • 🔬 科学准确:基于真实的物理力场
  • 🎛️ 高度可配置:支持多种参数调节
  • 🏗️ 模块化设计:易于扩展和定制
  • 📊 多种拓扑:支持P、D、G、I-WP、Neovius等TPMS结构
  • 高效优化:使用FIRE优化器进行几何优化

快速开始

使用默认配置

from zeogen_v8_refactored import ZeoliteGeneratorFactory

generator = ZeoliteGeneratorFactory.create_default_generator()
atoms, message = generator.generate(0)

if atoms:
    atoms.write("zeolite.cif")
    print(f"生成成功: {message}")

自定义配置

from zeogen_v8_refactored import ZeoliteGenerationConfig, ZeoliteGenerator

config = ZeoliteGenerationConfig()
config.structure.density_range = (20.0, 40.0)  # 大孔道结构
generator = ZeoliteGenerator(config)

文件结构

├── zeogen_new2.py                 # v7.1 原始版本
├── zeogen_v8_refactored.py        # v8.0 重构版本
├── zeogen_v8_examples.py          # 使用示例
├── zeogen_new2_documentation.md   # 英文文档
├── zeogen_new2_中文文档.md         # 中文详细文档
├── zeogen_v8_重构说明.md           # 重构说明文档
└── *.cif                          # 生成的沸石结构文件

依赖库

  • numpy
  • scipy
  • ase (Atomic Simulation Environment)
  • random (Python标准库)
  • collections (Python标准库)

参数配置指南

结构大小控制

  • base_length_range: 晶胞基础边长范围
  • density_range: 原子密度范围
  • anisotropy_range: 各向异性程度

拓扑控制

  • weight_sampling_mode: 权重采样模式
  • weight_alpha: Dirichlet分布参数
  • threshold_range: 等值面阈值范围

力场参数

  • si_o_bond_length: Si-O键长目标
  • repulsion_force_constant: 排斥力强度
  • si_si_cutoff: Si-Si截断距离

使用示例

查看 zeogen_v8_examples.py 获取7个详细的使用示例:

  1. 默认配置生成
  2. 自定义参数配置
  3. 预设生成器使用
  4. 参数研究
  5. 拓扑结构对比
  6. 批量生成
  7. 高级自定义

贡献指南

欢迎提交Issue和Pull Request来改进这个项目!

许可证

请查看项目许可证文件。

联系方式

如有问题或建议,请通过GitHub Issues联系。

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages