ZeoGen是一个先进的计算工具,用于生成沸石分子筛结构。本项目包含多个版本的沸石生成算法,从基础的傅里叶曲面生成到高级的双重排斥力场优化。
- 双重排斥力场实现
- 物种特异性截断距离
- 务实的边数平衡策略
- 完全面向对象的重构版本
- 参数与计算分离
- 模块化设计,易于扩展和维护
- 支持多种配置方式
- 🔬 科学准确:基于真实的物理力场
- 🎛️ 高度可配置:支持多种参数调节
- 🏗️ 模块化设计:易于扩展和定制
- 📊 多种拓扑:支持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个详细的使用示例:
- 默认配置生成
- 自定义参数配置
- 预设生成器使用
- 参数研究
- 拓扑结构对比
- 批量生成
- 高级自定义
欢迎提交Issue和Pull Request来改进这个项目!
请查看项目许可证文件。
如有问题或建议,请通过GitHub Issues联系。