# param.yaml project: "LGPS" # 1. 初始文件定义 (对应 data/ 目录) files: poscar: "LGPS.vasp" potcar: "POTCAR" initial_pot: "nep89.txt" # 第一轮 MD 用的势函数 label: "Li Ge P S" # 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: "distance" params: [0.012, 60, 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: - 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, 120] - name: "02.scf" executor: "vasp_std" - name: "03.train" executor: "nep_local" - name: "04.predict" # 定义温度和时间列表 conditions: - {T: 700, time: "1ns"} - {T: 800, time: "1ns"} # 支持不同温度不同时长 - {T: 900, time: "1ns"}