Skip to content

v1.3.0 —— 新增: 新建项目自由能目录优化 + US 窗口清单规则更新 | 修复: 不绑核时命令双空格、改名器外来路径判据

Latest

Choose a tag to compare

@Boki-Lee Boki-Lee released this 10 Oct 07:48

[2026-10-10] 同步参考库 10-10 改动:自由能目录带步骤号 & US 窗口规则②重写

✨ 新增

  • 新建项目(new_project.sh --with-free-energy)里自由能四目录带步骤号:2smd/3extract/4us/5pmf,和 2min/3eq/4prod 对齐看;库里模板保持不编号(自由能四步是步骤 5 的子步骤)
  • 生成时自动改写脚本内部的兄弟目录引用(../smd/→../2smd/、../us/→../4us/,注释里的 us/windows.txt、pmf/wham.py 一起改),并自检每个 ../xxx/ 是否都指到已建目录 —— 实测 5 个文件、10 行引用被改写,自检通过
  • 只加 --with-free-energy 时不再建空的 2min/3eq:最小化+平衡本来就在 2smd/eq.conf 里(minimize 5000 + 1 ns NVT),产物 eq_output.coor/.vel/.xsc 直接交给 SMD 续跑;建空目录只会让人以为漏跑步骤
  • new_project.sh 的 usage() 改用 awk 打印头部注释,以后加注释不会再错位

🔧 修复

  • 并行参数在「不绑核」时命令行多出一个双空格(+p16 +devices 0 → +p16 +devices 0)—— 这是用户会照着抄的命令,显示要干净
  • 改名器里写死的 "/mnt/share" 判据换成通用判断(行内出现绝对路径就整行跳过),行为不变,但库里不再残留任何外来路径

📖 规则说明

  • US 窗口清单规则②重写:从「弹簧常数必须统一」改为「混用弹簧可以,但每个接头都要验算重叠」。必要判据是相邻两窗 ±3σ 相交(Δz ≤ 3(σi+σj),σ = sqrt(RT/k)),但判据过了不代表采得到 —— 要按实测直方图数空隙区每 0.01 Å bin 还剩几个样本(≳5 才算稳)
  • 实测反例(CNT5,2026-10-10):孔区 k=50(σ=0.11) 接体相 k=10(σ=0.245)、间距 1.0 Å 时,±3σ 判据报「余量 6%、刚过」,但空隙区每 bin 只剩 1.6 个样本 → 约 40% 概率冒 1 个 NaN;改成 k=5(σ=0.346) + 间距 1.5 Å 后最薄接头 9.4 样本/bin,而且 5 个窗口就覆盖 +6~+12(比 k=10/步长 1.0 的 7 个更省)
  • windows_bulk_to_tube.txt 的「已知脆弱点」补上同一条教训(那份 47 窗口方案正是强/弱弹簧混用的典型)
  • 新增「版本号先问」铁律(AGENTS.md §7):动手改库前先确认目标版本号,收尾更新 VERSION + 写台账 + 给 Release title/note

📦 涉及文件

  • 修改:new_project.sh、free_energy/us/windows.txt、free_energy/us/windows_bulk_to_tube.txt、README.md、free_energy/README.md、WORKFLOW.md、AGENTS.md、VERSION(0.1.0 → 1.3.0)、bench_namd.sh、free_energy/us/run_all.sh、free_energy/smd/run_smd.sh、logs/CHANGELOG.md
  • 未动:../WORKFLOW(参考库,只读);上游自己的 logs/CHANGELOG.md 不复制(各记各的台账)