我想用Lennard-Jones势计算两个原子之间的最小距离。 我想使用的公式是:
V(r) = C12/r^12 - C6/r^6 where C12 = 1 and C6 = 10
下面已经给出了包含变量的函数构造,本例的解应为0.764724
我的想法是使用“最小”函数,但我完全不知道如何使用它。甚至在阅读了SciPy手册之后。 我该怎么开始
import numpy as np
from scipy.optimize import minimize, leastsq, least_squares, curve_fit
def get_minimum_energy_distance(C12, C6):
my code
您需要做的第一件事是定义函数以优化:
最后,我们调用scipy的
minimze
,传入我们定义的函数。我们还需要传入与最小y对应的r位置的猜测,我选择了r=1.5:这是你的结果。我建议阅读scipy minimize documentation以熟悉一些优化参数,然后与它们玩一玩,看看该方法如何响应x0(对应于min y的r值)的不同初始猜测
相关问题 更多 >
编程相关推荐