计算化学公社

标题: 求助:拟合粗粒化势函数,其中的粒子之间相互作用怎么计算? [打印本页]

作者
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