3.3. yaml文件¶
yaml文件主要是一个和计算进度相关的文件,主要用来展示当前的计算进度。 文件会随着计算进行不断更新,当前的计算的进度会写在文件最下方。 不同类型的计算任务的yaml文件内容不同。
3.3.1. scf计算¶
scf计算输出的yaml文件包括任务类型和设置、每个电子步的收敛情况、最终状态。 Hylanemos每计算完成一个电子步,yaml文件会更新最新的电子步的信息。
job: "scf" #任务类型
settings: #任务设置
elec_max_steps: 100 #最大电子步
elec_conv: 5.0e-7 #电子步收敛标准
estep-1: #第几个电子步
i_step: 0 #第0个离子步(在scf计算中无作用)
e_diff: 0.6494265872234264 #当前收敛情况
E: -23.617430451436988 #当前体系能量
index: 1 #第几个电子步
estep-2:
i_step: 0
e_diff: 253.97424407132652
E: -18.429620833576198
index: 2
#中间省略
estep-56:
i_step: 0
e_diff: 4.960247479449109e-7
E: -24.05014572983372
index: 56
result: #最终状态
status: 0 #0表示正常结束;1表示warning;2表示电子步未收敛;3表示离子步未收敛(仅在结构优化、过渡态和分子动力学计算中可能出现)
3.3.2. 结构优化计算¶
结构优化计算输出的yaml文件包括任务类型和设置、每个离子步的收敛情况、晶格参数和原子位置。 Hylanemos每计算完成一个离子步,yaml文件会更新最新的离子步的信息。
job: "vc_relax" #任务类型
settings:
elec_max_steps: 100 #每个离子步的最大电子步
elec_conv: 5.0e-13 #电子步收敛标准
ion_max_steps: 60 #最大离子步
estep-1: #当前离子步中的第几个电子步
i_step: 0 #第几个离子步
e_diff: 0.17679751587929302 #当前收敛情况
E: -24.073224978606365 #当前体系能量
index: 1 #当前离子步中的第几个电子步
estep-2:
i_step: 0
e_diff: 0.002229612577535474
E: -24.093201908337715
index: 2
#中间省略
estep-10:
i_step: 0
e_diff: 4.5382611451879066e-14
E: -24.093939254550044
index: 10
tolerance: #收敛标准
F_conv: 0.05 #力的收敛标准
S_conv: 0.1 #应力的收敛标准
D_conv: 0.002 #位移的收敛标准
E_conv: 4.0e-5 #能量的收敛标准
iteration-1: #第一个离子步
convergence: #当前是否满足各个收敛标准
Energy: false
Force: false
Displacement: false
Stress: false
lattice: #当前离子步的晶格参数
-
- 6.3612315
- 0.0
- 3.67266035
-
- 2.10949923
- 5.96656808
- 3.65376264
-
- 0.0
- 0.0
- 7.30752373
value: #当前离子步的体系的应力、原子受力、与上一步的能量差、原子位移
S_value: 1.0777274000303876
F_value: 0.46737759468380724
E_value: 0.0
D_value: 2.3487014961111927
positions: #当前离子步体系的原子位置
-
- 0.0
- 0.0
- 0.0
-
- 0.74
- 0.76
- 0.75
iteration-2:
#中间省略
iteration-5:
convergence: #所有收敛标准都已经满足
Energy: true
Force: true
Displacement: true
Stress: true
lattice:
-
- 6.34182440050702
- 0.008903395166645118
- 3.6750935932421087
-
- 2.1057050845559644
- 5.988751131489356
- 3.6660800111917244
-
- -0.011143815863784276
- 0.00428171215627444
- 7.331547872234744
value:
S_value: 0.08948669483217972
F_value: 0.007252312255113721
E_value: 1.2548851203612728e-5
D_value: 0.00023189076785717593
positions:
-
- -0.004953997723870534
- 0.004926480545849262
- 1.32074841024369e-5
-
- 0.7449539977238705
- 0.7550735194541508
- 0.7499867925158976
3.3.3. 能带和态密度计算¶
能带和态密度计算输出的yaml文件包括任务类型和设置、当前k点、最终状态。 Hylanemos每计算完成一个k点,yaml文件会更新最新的k点的信息。
job: "band" #任务类型,能带是band、态密度是dos、投影态密度是pdos
settings: #计算设置
n_kpts: 241 #k点总数
n_spin: 1 #是否为自旋极化计算
current_k: 1 #当前计算到第几个k点
current_k: 2
current_k: 3
current_k: 4
#中间省略
current_k: 239
current_k: 240
current_k: 241
result: #最终状态
status: 0 #0表示正常结束;1表示warning;2表示电子步未收敛;
#3表示离子步未收敛(仅在结构优化、过渡态和分子动力学计算中可能出现)
3.3.4. 分子动力学计算¶
分子动力学计算输出的yaml文件有两个,其中 PROGRESS.yaml
包括任务类型和设置、每个离子步的电子步收敛情况、最终状态。
Hylanemos每计算完成一个电子步, PROGRESS.yaml
文件会更新最新的电子步的信息。
另一个为在DATA文件夹中的 MD.yaml
文件。
PROGRESS.yaml
文件如下:
job: "md" #任务类型
settings: #任务设置
md_steps: 500 #分子动力学总步数
elec_max_steps: 100 #电子步最大步数
elec_conv: 5.0e-7 #电子步收敛标准
estep-1: #第几个电子步
i_step: 1 #第几个离子步
e_diff: 0.14849035368774138 #当前收敛情况
E: -7.835447731776123 #当前体系能量
index: 1 #第几个电子步
#中间省略
estep-6:
i_step: 1
e_diff: 1.8500851284530155e-7
E: -7.841152861747508
index: 6
istep-1: #第几个离子步
index: 1 #第几个离子步
estep-1:
i_step: 2
e_diff: 4.3922278596391674e-5
E: -7.841104704194318
index: 1
#中间省略
estep-4:
i_step: 500
e_diff: 3.0382194730896903e-7
E: -7.840901798833726
index: 4
istep-500:
index: 500
result: #最终状态
status: 0 #0表示正常结束;1表示warning;2表示电子步未收敛;3表示离子步未收敛
MD.yaml
文件如下:
element_names: #元素名称
- "Si"
settings: #分子动力学的基本参数
init_temp: 298.0
ensemble: nve
thermostat: "none"
barostat: "none"
dt: 41.34137333518211
max_step: 500
lattice: #晶格常数
- 6.32850049
- 0.0
- 3.65376308
- 2.10949923
- 5.96656808
- 3.65376264
- 0.0
- 0.0
- 7.30752373
element_nums: #每种元素的原子数目
- 2
step-0: #第几个离子步
e_tot: 0.0014155647704172333 #当前体系总能量
vel:
- -7.78942399558249e-7
- 0.0002356110304426609
- -0.00014254770377114656
- 7.811778107020377e-5
- -4.988032556808724e-5
- 0.00013674239959425986
temp: 298.0 #当前体系温度
force: #当前原子受力
- 0.0
- 0.0
- 0.0
- 0.0
- 0.0
- 0.0
e_int: 0.0 #当前体系内能
pos: #当前原子位置
- 0.0
- 0.0
- 0.0
- 0.75
- 0.75
- 0.75
e_free: 0.0 #当前体系自由能
index: 0 #第几个离子步
e_kin: 0.0014155647704172333 #当前体系动能
step-1:
#中间省略
step-500:
e_tot: -7.838293948629088
vel:
- -1.13384315410302e-6
- 0.00023429653035435258
- -0.00014155303609824065
- 7.847268182474863e-5
- -4.856582547977912e-5
- 0.00013574773192135398
temp: 548.9959747676902
force:
- -0.0026057391989771843
- 0.008216688800812687
- -0.00827837759367716
- 0.0026057391989771843
- -0.008216688800812687
- 0.00827837759367716
e_int: -7.840901798833726
pos:
- 0.020019244265207556
- 0.32026870334308055
- -0.17716133005675627
- 0.7681086039226833
- 1.073180119085068
- 0.5699515402201812
e_free: -7.840901798833726
index: 500
e_kin: 0.0026078502046376194
3.3.5. 过渡态计算¶
NEB计算输出的yaml文件有两个,其中 PROGRESS.yaml
包括任务类型和设置、每个NEB步的收敛情况、最终状态。
Hylanemos每计算完成一个NEB步, PROGRESS.yaml
文件会更新最新的NEB步的信息。
另一个为在DATA文件夹中的 NEB_x.yaml
文件。
PROGRESS.yaml
文件如下:
job: "neb" #任务类型
settings: #任务设置
neb_max_steps: 100 #NEB最大步数
neb_num_images: 3 #image数目
neb_conv: 0.05 #收敛标准
neb_step-1: #第一个NEB步
error: #当前的收敛情况
- 0.0
- 9.990743564100217e-15
- 0.0
energy: #当前每个image的能量
- -1.407000739332336
- -1.401077637993131
- -1.5125526014038664
index: 1 #当前第几个NEB步
#中间省略
status: 0 #最终状态
NEB_x.yaml
文件如下:
step-1: #第几个NEB步
errors: #每个image的收敛情况
- 0.11627651757157995
- 0.6910564992425028
- 0.3955969208333837
- 0.6910434243741493
- 0.1158688865619584
ea1: 0.8118614486232993 #从初态到过渡态的能垒
path_length: 4.443808324712739 #路径长度
ea2: 0.8118420041741673 #从末态到过渡态的能垒
energy: #每个image当前的能量
- -27.478983034454135
- -27.466225521479235
- -27.44914767648396
- -27.46622558085228
- -27.47898231988381
index: 1
positions: [0.0 0.0 0.0 0.0 0.0; 5.131267865 5.131267865 5.131267865 5.131267865 5.131267865; 5.131267865 5.131267865 5.131267865 5.131267865 5.131267865; 5.131267865 5.131267865 5.131267865 5.131267865 5.131267865; 5.131267865 5.131267865 5.131267865 5.131267865 5.131267865; 0.0 0.0 0.0 0.0 0.0; 5.131267865 5.131267865 5.131267865 5.131267865 5.131267865; 0.0 0.0 0.0 0.0 0.0; 5.131267865 5.131267865 5.131267865 5.131267865 5.131267865; 7.6969017975 7.6969017975 7.6969017975 7.6969017975 7.6969017975; 2.5656339325 2.5656339325 2.5656339325 2.5656339325 2.5656339325; 7.6969017975 7.6969017975 7.6969017975 7.6969017975 7.6969017975; 2.5656339325 1.9242254493749997 1.2828169662499997 0.6414084831249998 0.0; 2.5656339325 1.9242254493749997 1.2828169662499997 0.6414084831249998 0.0; 2.5656339325 1.9242254493749997 1.2828169662499997 0.6414084831249998 0.0; 2.5656339325 2.5656339325 2.5656339325 2.5656339325 2.5656339325; 7.6969017975 7.6969017975 7.6969017975 7.6969017975 7.6969017975; 7.6969017975 7.6969017975 7.6969017975 7.6969017975 7.6969017975; 7.6969017975 7.6969017975 7.6969017975 7.6969017975 7.6969017975; 7.6969017975 7.6969017975 7.6969017975 7.6969017975 7.6969017975; 2.5656339325 2.5656339325 2.5656339325 2.5656339325 2.5656339325]
#每个原子在每个image中的坐标