13613529432 发表于 2020-8-28 11:05:19

请教关于刚性球重叠的处理

如题,刚性球在运动过程中不能出现重叠现象,现系统中有多个刚性球,在随机力作用下运动,且球间距离小于一定距离有排斥力存在。在每一步运动前判断球是否重叠,如果重叠了(如果不处理让它继续运动,这不符合实际)该怎么处理呢?让它退回到之前的位置吗?谢谢大佬

necrohan 发表于 2020-8-28 16:35:30

按碰撞处理

13613529432 发表于 2020-8-28 18:19:32

necrohan 发表于 2020-8-28 16:35
按碰撞处理

系统中很多个粒子,碰撞处理的话如何考虑它和周围粒子的作用情况呢?

风平老涡 发表于 2020-8-28 20:47:11

每一个粒子都建立一个表(List),这个表中包涵所有邻近粒子。对每一个粒子的碰撞就是所有另邻近粒子碰撞的总和。

13613529432 发表于 2020-8-29 09:48:53

风平老涡 发表于 2020-8-28 20:47
每一个粒子都建立一个表(List),这个表中包涵所有邻近粒子。对每一个粒子的碰撞就是所有另邻近粒子碰撞的 ...

前辈,您的意思是每一步都判断每一个球给定距离范围内包含的球是吧。每一个粒子所受的碰撞是这些粒子的总和,那求出这些碰撞后怎么处理呢?让粒子在运动一步还是怎么处理呢

风平老涡 发表于 2020-8-29 11:42:56

13613529432 发表于 2020-8-29 09:48
前辈,您的意思是每一步都判断每一个球给定距离范围内包含的球是吧。每一个粒子所受的碰撞是这些粒子的总 ...

你这个应该和刚性分子运动模拟很相近,可以查一下这方面的资料。中心思想就是在任一时间 t 每一个粒子都有一组位置,速度和邻近粒子表。根据邻近粒子与中心粒子的距离,用牛顿定律算出中心粒子所受力的总和及加速度。这样就能算出中心粒子在 t + dt 时的位置,速度及新的邻近粒子表。

13613529432 发表于 2020-8-29 12:56:02

风平老涡 发表于 2020-8-29 11:42
你这个应该和刚性分子运动模拟很相近,可以查一下这方面的资料。中心思想就是在任一时间 t 每一个粒子都 ...

前辈,我已经算到这一步了,算出一时刻t每个粒子受周围的邻近粒子影响的速度,然后每个粒子按照他自己的速度运动一步,但是运动完后,会有些粒子重叠,刚性分子不允许重叠,这个重叠后怎么处理呢?

风平老涡 发表于 2020-8-29 22:18:05

13613529432 发表于 2020-8-29 12:56
前辈,我已经算到这一步了,算出一时刻t每个粒子受周围的邻近粒子影响的速度,然后每个粒子按照他自己的 ...

刚性分子间距离很短时排拆力是无限大,所以不应发生重叠。可能原因是 dt 取得太大,模拟失真。一般的分子动力学模拟 dt 取值在 10^(-15) ~ 10^(-14) 秒。

13613529432 发表于 2020-9-21 10:27:38

风平老涡 发表于 2020-8-29 22:18
刚性分子间距离很短时排拆力是无限大,所以不应发生重叠。可能原因是 dt 取得太大,模拟失真。一般的分子 ...

前辈,这个临近粒子表我现在不明白怎么去建立这个表

风平老涡 发表于 2020-9-21 11:01:08

13613529432 发表于 2020-9-21 10:27
前辈,这个临近粒子表我现在不明白怎么去建立这个表

在分子动力模拟中叫邻近列表法,是很经典的办法,都有现成的算法和程序。这里提供个链接,http://blog.sciencenet.cn/blog-3415915-1186528.html,自己百度一下吧,应该有很多的。
页: [1] 2
查看完整版本: 请教关于刚性球重叠的处理