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中的坐标