100 lines
3.2 KiB
YAML
100 lines
3.2 KiB
YAML
# param.yaml
|
||
|
||
project: "LYC_model1"
|
||
|
||
# 1. 初始文件定义 (对应 data/ 目录)
|
||
files:
|
||
poscar: "model1.vasp"
|
||
potcar: "POTCAR"
|
||
initial_pot: "nep89.txt" # 第一轮 MD 用的势函数
|
||
label: "Li Y Cl"
|
||
|
||
# 2. 迭代流程控制
|
||
iterations:
|
||
# --- 第一轮 ---
|
||
- id: 0
|
||
steps:
|
||
# Step 1: MD (预热 + 采样)
|
||
# 逻辑:会把 nep.txt (来自 initial_pot) 和 model.xyz 准备好
|
||
- name: "00.md"
|
||
sub_tasks:
|
||
# 你提到可能有预热,也可能有加工,这里支持串行执行
|
||
- template_sub: "preheat" # 使用 template/00.md/preheat/run.in
|
||
- template_sub: "production" # 使用 template/00.md/production/run.in
|
||
executor: "gpumd" # 对应 machine.yaml
|
||
|
||
# Step 2: 筛选
|
||
- name: "01.select"
|
||
method: "random"
|
||
params: [90, 120]
|
||
|
||
# Step 3: SCF (VASP)
|
||
# 逻辑:cp template/02.scf/INCAR; check KPOINTS; cp data/POTCAR
|
||
- name: "02.scf"
|
||
executor: "vasp_std" # 对应 machine.yaml (可能调用 vasp_std.sh)
|
||
|
||
# Step 4: 训练
|
||
# 逻辑:cp template/03.train/nep.in
|
||
- name: "03.train"
|
||
executor: "nep_local"
|
||
- id: 1
|
||
steps:
|
||
# Step 1: MD (预热 + 采样)
|
||
# 逻辑:会把 nep.txt (来自 initial_pot) 和 model.xyz 准备好
|
||
- name: "00.md"
|
||
sub_tasks:
|
||
# 你提到可能有预热,也可能有加工,这里支持串行执行
|
||
- template_sub: "preheat" # 使用 template/00.md/preheat/run.in
|
||
- template_sub: "production" # 使用 template/00.md/production/run.in
|
||
executor: "gpumd" # 对应 machine.yaml
|
||
|
||
# Step 2: 筛选
|
||
- name: "01.select"
|
||
method: "distance"
|
||
params: [90, 120]
|
||
|
||
# Step 3: SCF (VASP)
|
||
# 逻辑:cp template/02.scf/INCAR; check KPOINTS; cp data/POTCAR
|
||
- name: "02.scf"
|
||
executor: "vasp_std" # 对应 machine.yaml (可能调用 vasp_std.sh)
|
||
|
||
# Step 4: 训练
|
||
# 逻辑:cp template/03.train/nep.in
|
||
- name: "03.train"
|
||
executor: "nep_local"
|
||
# --- 第二轮 ---
|
||
- id: 2
|
||
steps:
|
||
- name: "00.md"
|
||
sub_tasks:
|
||
- template_sub: "preheat"
|
||
- template_sub: "production" # 第二轮可能只需要 sampling
|
||
# 注意:这一轮的 nep.txt 会自动指向 iter_00/03.train/nep.txt
|
||
|
||
- name: "01.select"
|
||
method: "distance"
|
||
params: [0.01, 60, 90]
|
||
|
||
- name: "02.scf"
|
||
executor: "vasp_std"
|
||
|
||
- name: "03.train"
|
||
executor: "nep_local"
|
||
- name: "04.predict"
|
||
# [新增] 自定义模型文件 (位于 data/ 目录下),不填则使用当前训练结果
|
||
# custom_nep: "nep_final_best.txt"
|
||
|
||
# [新增] 自定义预测结构 (位于 data/ 目录下),不填则使用 00.md 的结果
|
||
# 注意:这里填写 .vasp 文件,程序会自动转化为 model.xyz
|
||
custom_poscar: "model1_supercell.vasp"
|
||
|
||
conditions:
|
||
- {T: 375, time: "15ns"}
|
||
- { T: 400, time: "5ns" }
|
||
- { T: 425, time: "2ns" }
|
||
- { T: 450, time: "1ns" }
|
||
- { T: 500, time: "1ns" }
|
||
- { T: 600, time: "1ns" }
|
||
- { T: 700, time: "1ns" }
|
||
- { T: 800, time: "1ns" }
|
||
- { T: 900, time: "1ns" } |