|
对,就是按这个做的
例子的CV是chi torsion,我的CV是键长差,所以自己修改了代码。
改代码时,我比较没把握的地方就是correlation time的计算,因为搞不清楚这个东西的计算原理。例子是用torsion的cos和sin来求算的,我就直接用键长差代入函数求算了。
例子的代码:
# Compute correlation times for potential energy and chi
# timeseries. If the temperatures differ, use energies to determine samples; otherwise, use the cosine of chi
if (DifferentTemperatures):
【略】
else:
chi_radians = chi_kn[k,0:N_k[k]]/(180.0/numpy.pi)
g_cos = timeseries.statisticalInefficiency(numpy.cos(chi_radians))
g_sin = timeseries.statisticalInefficiency(numpy.sin(chi_radians))
print "g_cos = %.1f | g_sin = %.1f" % (g_cos, g_sin)
g_k[k] = max(g_cos, g_sin)
print "Correlation time for set %5d is %10.3f" % (k,g_k[k])
indices = timeseries.subsampleCorrelatedData(chi_radians, g=g_k[k])
# Subsample data.
我修改之后:
if (DifferentTemperatures):
【略】
else:
chi_radians = chi_kn[k,0:N_k[k]] # Read the CV values of frame n of simulation k to chi_radians
g_k[k] = timeseries.statisticalInefficiency(chi_radians) #### 这句代码不知道是否合理
print("Correlation time for set %5d is %10.3f" % (k,g_k[k]))
indices = timeseries.subsampleCorrelatedData(chi_radians, g=g_k[k])
# Subsample data.
请您看看这样改合理吗?多谢多谢
|
|