计算化学公社
标题:
求助:拟合粗粒化势函数,其中的粒子之间相互作用怎么计算?
[打印本页]
作者Author:
abite
时间:
2021-7-17 17:50
标题:
求助:拟合粗粒化势函数,其中的粒子之间相互作用怎么计算?
用lammps做晶体的粗粒化模拟,全原子模型和粗粒化模型之间映射关系确定了,势函数想用Morse。全原子模型的势函数可以通过如下脚本拟合,xydata距离-能量的数据可以由vasp等软件算出。粗粒化粒子代表一个超胞,目前不清楚这些粒子之间的相互作用怎么计算?可以通过算不同界面间距的粘附功得到吗?
网上找到的python拟合Morse势函数脚本如下:
#!/bin/python
from scipy.optimize import curve_fit
import numpy as np
import matplotlib.pyplot as plt
xdata2=np.array([ ])
ydata2=[ ]
t=np.linspace(0.1,7)
tstart = [1.e+3, 1, 3, 0]
def morse(x, d, a, r0, v):
return (d * (np.exp(-2*a*(x-r0))-2*np.exp(-a*(x-r0))) + v)
popt, pcov = curve_fit(morse, xdata2, ydata2, p0 = tstart, maxfev=40000000)
yfit = morse(t, popt[0], popt[1], popt[2], popt[3])
print (popt)
plt.plot(xdata2, ydata2,"ro")
plt.plot(t, yfit)
plt.show()
欢迎光临 计算化学公社 (http://bbs.keinsci.com/)
Powered by Discuz! X3.3