关于verlet快速排序算法实例讲解,有人可以简单地讲解下吗

有人对九章算法有了解吗?可以介绍一下吗? - 知乎57被浏览11367分享邀请回答0添加评论分享收藏感谢收起分子动力学中的蛙跳算法? - 知乎32被浏览1733分享邀请回答edam.uhp-nancy.fr/images/articles/Chinese.pdf我晚上下班后来把这个答案补充完整。–––––––––––––––––––––––––––––补充的分割线––––––––––––––––––––––––––––––––––上面那个讲义里面有详细提及分子动力学积分的三种算法:Verlet算法,蛙跳算法,速度-Verlet算法。题主既然问的是蛙跳法,那就把这个算法单独拎出来说一说。蛙跳法这个名字好听但让人不知所云。实际上如果你观察这个算法的步骤原理,就会发现这个命名从何而来。要用一张图解释的话,就是下面这张图(我直接从上面的讲义里面copy)过来的:积分的起点是t时刻的坐标x(t),和时刻的速度。第一跳:青蛙(积分计算者的目光焦点)首先站在x(t)的位置上,根据坐标计算出粒子受力,自然推出t时刻的加速度a(t),完成第一跳。第二跳:根据a(t)算出时刻的速度。。第二跳完成。第三跳:根据时刻的速度计算t时刻的位置:,第三跳完成。而t时刻的速度则用和时刻的速度的平均即可。所谓的蛙跳法,就是像上面这个图所表示的那样,跳来跳去,跟青蛙在水面的荷叶间跳跃似的。每一步的积分都近似认为加速度是恒定不变的。实际上观察上面的积分步骤,就会发现,这完全符合高中讲均加速直线运动时得到的一些推论。然而我想起了在久远的年代之前,某个青蛙跳来跳去的打字游戏……(暴露年龄)然而我忍着困写到最后才发现,题主困惑的是那个“没有初始速度”的的问题……我先吐口血……在分子模拟中,初始速度是随机生成的(往往是均匀概率),但当体系演化一段时间后,速度的分布会自发地变成Boltzmann分布。但由于初始的速度分布并不合理,这就导致了分子模拟初期往往需要必要的人为干预,将粒子位置进行限定,只让粒子的动能在体系中进行交换,最终达到Boltzmann分布后再逐渐解开限制,以避免初始的不合理的速度分布推动体系演化到不合理的状态而无法恢复。那么,对于题主的困惑,答案其实就是:初始速度是人为任意随机给定的,当然要符定一定的限制条件(比如体系的温度)。2010 条评论分享收藏感谢收起01 条评论分享收藏感谢收起耗散粒子动力学的优化修正Velocity Verlet算法;;
  在Groot和Warren耗散粒子动力学的修正VelocityVerlet算法的基础上引入优化方法获得一个简单的计算λ的表达式,提出一种自洽获取该值的优化修正VelocityVerlet算法.模拟结果表明,这种通过优化来获得参数的修正VerlocityVerler算法具有运算量小、温度稳定的优点,可以在耗散粒子动力学模拟中使用.……
[关键词]:;;
[文献类型]:期刊
[文献出处]:《》
中国知网客户端
海量文章,一站下载
万千书刊,个性订阅小木虫 --- 600万学术达人喜爱的学术科研平台
热门搜索:
&&关于蛙跳算法的问题
关于蛙跳算法的问题
根据分子模拟:从算法到应用,这本书的附带程序写了用蛙跳算法来求解粒子运动方程的程序。图中为书中抄过来的子程序。但看蛙跳算法的讲解里面,开始运动时需要半个时间步长前的初始速度。但看程序里并没有发现扰动初始速度呐,不知道我理解的是不是有误,希望有人能可以讲解下:arm:
smutaooxox6085
谢谢,我一开始想的也是这样,不过看前面初始化的过程,是给定粒子随机速度,然后对速度进行标定,使总动量为零。并没有发现第三步。
哦好的,谢谢,我是初学者,刚接触这方面的编程。好像记得Verlet算法不容易和热浴连用,所以就先看leap frog的了
没有这个说法。verlet是最好的,很容易与热浴结合。我有一个精华的帖子,你看到没有?我在介绍分子动力学模拟的编程。
哦,看到了,谢谢!
谢谢,这个程序是我从第二本书看到的。但不太清楚这样是否合理。不过想了想,可能初始速度不是1/2个时间步长之前的并不太影响结果,
学术必备与600万学术达人在线互动!
扫描下载送金币

我要回帖

更多关于 dp算法讲解 的文章

 

随机推荐