18个稳定版本
2.1.3 | 2023年9月19日 |
---|---|
2.1.1 | 2022年12月20日 |
2.0.7 | 2022年11月30日 |
0.1.2 | 2022年10月17日 |
#130 in 数学
40 每月下载量
54KB
1.5K SLoC
Castep-model-generator-backend
用于编辑和生成与CASTEP
和Materials Studio
兼容的晶格3D模型的Rust后端库。
相关项目
简介
此库100%使用rust
编写。目前,它具有以下功能
- 将任何分子放入晶格,并提供必要的信息
- 用于与晶格协调的原子数量和身份。
- 用于确定3D空间中分子方向的几何信息。
- 导出CASTEP任务的种子文件,由
castep-model-core
支持 - 并行批量处理模型编辑、分子放置到晶格和导出,由
rayon
支持。- 迭代的具体工作流程由你自己实现。
- 可通过
YAML
格式文件进行配置。
使用YAML
文件进行配置
此库旨在通过特定的YAML
文件进行控制。您也可以在您的crate中硬编码必要的信息。
项目级别:用于项目级别控制的YAML文件提供以下字段
base_model_loc
:基本模型msi
文件的路径。此晶格模型用于随后的批量编辑和吸附剂放置。element_table_loc
:元素表YAML
文件的路径。它将包含项目中涉及到的元素。adsorbate_table_loc
:吸附剂信息YAML
文件的路径。它记录处理吸附剂放置所需的信息。potentials_loc
:CASTEP势文件的目录路径。export_loc
:导出结果的位置。coord_sites
:一个记录将用于晶格模型的目标配位位点的数组。例如,其格式如下
《coord_sites: - name: c1 atom_id: 41 - name: c2 atom_id: 42
name
》字段用于为导出的模型命名。《atom_id
》字段与《msi
》文件中的id一致,且从1开始编号。coord_cases
:您将描述晶格和吸附剂之间可能的配位情况。目前,该库设计用于处理最多有两个配位原子的案例。例如coord_cases: - name: double cases: [[41,42], [42,54], [54,53], [53,52], [41, 40], [41, 73], [42, 73]] - name: single cases: [[41, null], [42, null], [54, null], [53, null], [52, null], [40, null], [73, null]]
吸附剂信息
此《YAML
》文件描述了关于吸附剂的必要信息,这对于吸附剂在晶格上的放置工作流程至关重要。
示例结构
directory: C2_pathways_ads
Adsorbates:
- name: CO
coordAtomIds: [1]
stemAtomIds: [1,2]
# planeAtomIds missing since it has only two atoms
# plane_angle missing since it has only two atoms
stem_coord_angle: 90.0
bSym: false
upperAtomId: 2
atomNums: 2
pathName: ethylene
- name: CHO
coordAtomIds: [1]
stemAtomIds: [2, 3]
planeAtomIds: [1, 2, 3]
plane_angle: 90.0
stem_coord_angle: 90.0
bSym: false
upperAtomId: 2
atomNums: 3
pathName: ethylene
directory
字段告知代码在哪里定位吸附剂的《msi
》文件。《pathName
》字段帮助代码找到吸附剂:目前,这个库设计为根据以下路径查找吸附剂:./{directory}/{pathName}_path/{adsorbate_name}.msi
。
依赖项
~9.5MB
~194K SLoC