GROMACS 中,温控参数是一个 “组合套餐”,主要包括 4 个核心参数:tcoupl(温控算法)、tc-grps(控温分组)、tau_t(温控弛豫时间)、ref_t(参考温度),必须配套设置,缺一不可。
tcoupl = V-rescale ; 新手首选,控温稳定、不易发散,适配90%常规模拟tcoupl = Nose-Hoover ; 强耦合算法,精度高,但是容易造成体系崩溃tcoupl = Berendsen ; 控温速度快,可用于快速预平衡
✅ 关键说明:
新手首选:全程用tcoupl = V-rescale,无论平衡还是生产模拟,稳定第一,无需纠结精度;
进阶选择:高精度模拟时,换用Nose-Hoover,控温更精准;
避坑点:不要用Berendsen做生产模拟,其控温精度不足,会导致模拟数据无法用于论文。
控温分组决定 “哪些原子一起控温”,分组不合理会导致局部温度失衡(如蛋白温度过高、溶剂温度过低)。
tc-grps = Protein SOL ; 最通用分组:蛋白(Protein)和溶剂(SOL)分开控温(推荐)tc-grps = System ; 整体控温:整个体系统一控温,适用于小分子纯体系(如纯溶剂)tc-grps = Protein LIG SOL ; 复杂分组:蛋白+配体(LIG)+溶剂,适用于蛋白-配体复合物
✅ 关键说明:
核心原则:“性质相近的原子分为一组”,蛋白和溶剂必须分开控温(二者热运动差异大);
新手用法:常规蛋白 - 水溶液体系,直接用tc-grps = Protein SOL,无需修改;
避坑点:不要将蛋白和溶剂设为同一组(System),会导致蛋白局部过热、结构破坏。
tau_t 决定体系温度偏离参考值后,恢复到目标温度的速度,单位是 ps,直接影响控温稳定性。
tau_t = 0.1 0.1 ; 通用值:对应tc-grps = Protein SOL,两组分别设置,必须一一对应tau_t = 0.1 ; 对应tc-grps = System,整体控温只需设置1个值tau_t = 0.1 0.1 0.1 ; 对应tc-grps = Protein LIG SOL,三组分别设置,与分组数量一致
✅ 关键说明:
通用标准:tau_t = 0.1 ps 控温速度快且稳定,新手直接套用;
修改原则:在预平衡常用 0.1 到 1.0 ps 之间的较小值,以快速将系统温度驱动至目标值;数据生产阶段常用 0.5 到 2.0 ps 之间的值,以温和地维持温度,同时允许系统产生正确的系综波动;但是具体的tau_t值和所用的温度控制算法相关。
避坑点:常用值通常在 0.1 到 2.0 ps 之间。需要注意的是,它是一个周期,因此设置过小会导致温度剧烈振荡,设置过大则耦合太弱。
ref_t 是模拟的目标温度,单位是 K,根据科研需求设置,与tau_t一样,需和控温分组一一对应。
ref_t = 300 300 ; 通用值:蛋白和溶剂均设为300 Kref_t = 298 298 ; 生理温度:适配生物体系ref_t = 310 310 ; 高温模拟:适用于热稳定性研究ref_t = 300 298 ; 特殊需求:蛋白300 K、溶剂298 K
新手通用:全程用ref_t = 298 298,常温模拟最稳定,适配绝大多数生物体系;
修改建议:根据自己体系所需温度做出相应修改;
验证标准:运行模拟后,使用gmx energy命令调用edr文件计算温度,温度曲线在ref_t±5 K内波动,即为稳定。
结合前 3 篇的积分器、时间步,给大家 3 套可直接复 制的温控搭配方案,覆盖不同场景:
; 积分器+时间步(延续上一篇通用设置)integrator = md ; 动力学通用积分器dt = 0.002 ; 2 fs,无氢约束通用值; 温控参数(核心搭配)tcoupl = V-rescale ; 新手首选控温算法tc-grps = Protein SOL ; 蛋白+溶剂分开控温tau_t = 0.1 0.1 ; 控温弛豫时间,与分组对应ref_t = 300 300 ; 常温300 K,与分组对应
方案 2:高精度版(适配论文级模拟)integrator = md ; 动力学通用积分器dt = 0.002 ; 2 fs,保证计算精度tcoupl = Nose-Hoover ; 高精度控温算法tc-grps = Protein SOLtau_t = 0.1 0.1ref_t = 298 298 ; 生理温度,适配论文需求
integrator = mddt = 0.002tcoupl = V-rescaletc-grps = System ; 整体控温,无需分组tau_t = 0.1 ; 仅1个值,与分组对应ref_t = 298 ; 仅1个值,与分组对应
tau_t、ref_t 的数量与 tc-grps 不匹配(如分组 2 个,tau_t 只设 1 个)→ 直接报错,解决:严格对应分组数量;Berendsen做生产模拟 → 数据精度不足,无法用于论文,解决:新手全程用V-rescale;tc-grps = Protein SOL。温控参数是模拟稳定的 “关键一环”,掌握通用搭配能应对常规模拟,但想要根据自身科研需求(如高温稳定性、低温结晶模拟)精准调参,避免温漂、体系崩溃,还需要系统的实战指导。