计算化学公社
标题:
CHARMM里使用浮动电荷模型,蛋白质的温度很低是怎么回事?
[打印本页]
作者Author:
退休老干部
时间:
2024-10-23 20:05
标题:
CHARMM里使用浮动电荷模型,蛋白质的温度很低是怎么回事?
我在CHARMM里使用浮动电荷模型,它是在extended lagrange下,把电荷当做一个自由度来处理,双nose hoover热浴分别更新电荷和原子位置,跑了2ns,取最后一帧计算蛋白质的温度发现温度为85多K,而水和整个体系的温度为300多K,我想请问一下各位大佬这是出现热溶剂冷溶质现象了吗?还是说在这种模型下是正常的?或者是我计算温度的方法有问题?
这是我计算温度的python代码(最后一帧的原子速度和质量在附件中)):
vel_x = []
vel_y = []
vel_z = []
mass = []
Ek_prot = 0
Ek_wat = 0
Ek_tot = 0
kB = 0.00198716
freedom_prot = 1277
freedom_wat = 36984
with open("1fsv_vel_frame19999.crd") as fp:
for line in fp:
words = line.strip().split()
if (len(words) == 10):
vel_x.append(float(words[4]))
vel_y.append(float(words[5]))
vel_z.append(float(words[6]))
with open("1fsv_npt.psf") as fp:
for line in fp:
value = line.strip().split()
if (len(value) == 11):
mass.append(float(value[7]))
for j in range(513):
Ek_prot += mass[j]*(vel_x[j] ** 2 + vel_y[j] ** 2 + vel_z[j] ** 2)
for j in range(513,25169):
Ek_wat += mass[j]*(vel_x[j] ** 2 + vel_y[j] ** 2 + vel_z[j] ** 2)
for j in range(25169):
Ek_tot += mass[j]*(vel_x[j] ** 2 + vel_y[j] ** 2 + vel_z[j] ** 2)
temp_prot = Ek_prot / kB / freedom_prot
temp_wat = Ek_wat / kB / freedom_wat
temp_tot = Ek_tot / kB / (freedom_wat + freedom_prot)
复制代码
欢迎光临 计算化学公社 (http://bbs.keinsci.com/)
Powered by Discuz! X3.3