小编M. *_*uer的帖子

使用scipy.integrate将布朗运动纳入粒子轨迹积分

我想在简单的线性粒子交互模型之上添加热波动.到目前为止(没有布朗运动)一切都是使用scipy.integrate.odeint完成并且工作得很好.因此,通过使用scipy.integrate metods之一找到一种包含随机运动的方法会很好.问题如下:使用Langevin热浴我必须更新粒子位置(x)和速度(v),如下所示:

x = x + v*dt

v = v +(interaction_force*dt + random_force*dt)/ mass

其中:random_force = sqrt(constant/dt)*random_number

我认为有两个问题:

  1. 步骤大小dt出现在random_force中.但我不知道在运行期间通过自适应步长控制改变的当前步长.

  2. 步长控制将遇到麻烦,因为只要使用两个不同的random_number来比较不同的步长,就会有相对大的差异.(我不确定是否使用了两个不同的random_numbers)

我唯一的想法是使用固定步长的方法.但我没有发现任何喷气式飞机.任何更好的想法如何解决这个问题?

python numpy

7
推荐指数
1
解决办法
339
查看次数

标签 统计

numpy ×1

python ×1