计算化学公社

 找回密码 Forget password
 注册 Register
Views: 7474|回复 Reply: 0
打印 Print 上一主题 Last thread 下一主题 Next thread

[粗粒化/DPD] 求助:拟合粗粒化势函数,其中的粒子之间相互作用怎么计算?

[复制链接 Copy URL]

6

帖子

0

威望

61

eV
积分
67

Level 2 能力者

跳转到指定楼层 Go to specific reply
楼主
用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()



本版积分规则 Credits rule

手机版 Mobile version|北京科音自然科学研究中心 Beijing Kein Research Center for Natural Sciences|京公网安备 11010502035419号|计算化学公社 — 北京科音旗下高水平计算化学交流论坛 ( 京ICP备14038949号-1 )|网站地图

GMT+8, 2026-2-23 04:18 , Processed in 0.146562 second(s), 20 queries , Gzip On.

快速回复 返回顶部 返回列表 Return to list