我试图弄清楚如何将一段代码从 Velocity Verlet 转换为 Runge-Kutta,同时正确处理热噪声的时间步长依赖性。
我的系统的朗之万方程读数为
其中是一些相互作用势,是阻尼,而是具有和的高斯噪声项。
我可以将 Velocity Verlet 与 Langevin 动力学一起使用
定性地说,朗之万方程在这里所做的是,它通过向加速度添加随机冲击来模拟热波动,同时用恒定阻尼项来抵消它们以稳定能量。那么我的问题是,这如何转化为四阶龙格-库塔(RK4)?
在 RK4 中,我们计算速度为
其中是在 RK4 步骤中计算的部分加速度。
我不清楚在哪里介绍朗之万动力学。我最好的猜测是它应该应用于每个单独的 RK 步骤?例如对于
当然,我们必须在一个时间步中对所有才有意义。这意味着我们在每个时间步开始时生成一个,然后我们将其用于该时间步的每个计算。
尽管如此,这里还是缺少了一些东西......因为现在噪音不依赖于时间步长,而且应该是!这在 Velocity Verlet 中不是问题,因为我们只是在每个时间步将噪声项与相乘,但这里不是这种情况。在我看来,时间步长必须包含在 Langevin 方程的项中的某处,但我真的不知道如何......
编辑1:更改为更明智的符号。
编辑2:我意识到,要使 RK4 工作,您可能必须在噪声项中添加一个时间步长,如以使单位正确输出。