Files
screen/readme.md
2025-12-07 14:02:24 +08:00

72 lines
1.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 高通量筛选
## 版本
calc
## 配置需求
需要两个conda环境名字分别为**screen**,**zeo**
### zeo
#### 运行库需求
``` 2018.12.12
python == 2
pymatgen == 2018.12.12
Numpy = 1.16.6
os
argparse = 1.4.0
PrettyTable = 1.01
monty = 1.0.0
future = 1.0.0
```
#### zeo++软件需求
需要编译后放入python库中
### screen
```
python == 3.11.4
pymatgen == 2024.11.13
```
## 使用说明
如果配置的conda环境同名运行**main.sh**即可
当数据来源为MP时需要将数据放在input_pre中
如果数据来源为ICSD仅需将数据放在input中即可
# 扩胞
## 以下为每一步的分解
### Step1
读取cif文件
### Step2
统计Occupation情况将具有相同Occupation值的记为一类用Occupation值作为Key创建字典该字典的一个项为atom_serial,是一个列表记录相同Ocupation值的原子序号
将上述字典输入一个列表Occupation_list字典预留分子与分母两个参数
需要函数为
```angular2html
def process_cif_file(struct)
return Occupation_list
```
### step3
根据Occupation_list来计算扩大倍数\\
首先逐一计算每个字典的分子与分母根据key来计算例如第一个key值为0.5,此时其对应分子为1分母为2
合并没一个字典,探索每一个分数的情况并求出公约数与对应的分子,更新每一个字典的值
### step4
根据分子与分母情况生成structure_list其中Occupation_list中的元素的number处的和为分子总共个数为分母
### step5
根据材料结构决定对称性,对不同对称性得到不同等效情况
根据对称性与最终扩胞生成三个方向扩胞列表,其中每个元素是字典,遵循格式为{["x":1,"y":2,"z":1]}
### step5
根据structure_list与Occupation_list生成新的cif并保存
### 一些假设
只考虑两个原子在同一位置上,暂不考虑三个原子以上的情况
不考虑Li原子的共占位情况对Li原子不做处理