Fortran Coder

查看: 31187|回复: 16
打印 上一主题 下一主题

[通用算法] 请教关于刚性球重叠的处理

[复制链接]

17

帖子

3

主题

0

精华

入门

F 币
73 元
贡献
45 点

规矩勋章

跳转到指定楼层
楼主
发表于 2020-8-28 11:05:19 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式
2F 币
如题,刚性球在运动过程中不能出现重叠现象,现系统中有多个刚性球,在随机力作用下运动,且球间距离小于一定距离有排斥力存在。在每一步运动前判断球是否重叠,如果重叠了(如果不处理让它继续运动,这不符合实际)该怎么处理呢?让它退回到之前的位置吗?谢谢大佬

分享到:  微信微信
收藏收藏 点赞点赞 点踩点踩

17

帖子

3

主题

0

精华

入门

F 币
73 元
贡献
45 点

规矩勋章

沙发
 楼主| 发表于 2020-8-28 18:19:32 | 显示全部楼层

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

使用道具 举报

17

帖子

3

主题

0

精华

入门

F 币
73 元
贡献
45 点

规矩勋章

板凳
 楼主| 发表于 2020-8-29 09:48:53 | 显示全部楼层
风平老涡 发表于 2020-8-28 20:47
每一个粒子都建立一个表(List),这个表中包涵所有邻近粒子。对每一个粒子的碰撞就是所有另邻近粒子碰撞的 ...

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

使用道具 举报

17

帖子

3

主题

0

精华

入门

F 币
73 元
贡献
45 点

规矩勋章

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

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

使用道具 举报

17

帖子

3

主题

0

精华

入门

F 币
73 元
贡献
45 点

规矩勋章

5#
 楼主| 发表于 2020-9-21 10:27:38 | 显示全部楼层
风平老涡 发表于 2020-8-29 22:18
刚性分子间距离很短时排拆力是无限大,所以不应发生重叠。可能原因是 dt 取得太大,模拟失真。一般的分子 ...

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

使用道具 举报

17

帖子

3

主题

0

精华

入门

F 币
73 元
贡献
45 点

规矩勋章

6#
 楼主| 发表于 2020-9-21 13:16:11 | 显示全部楼层
风平老涡 发表于 2020-9-21 11:01
在分子动力模拟中叫邻近列表法,是很经典的办法,都有现成的算法和程序。这里提供个链接,http://blog.sc ...

好的前辈,我查一查
回复

使用道具 举报

17

帖子

3

主题

0

精华

入门

F 币
73 元
贡献
45 点

规矩勋章

7#
 楼主| 发表于 2020-9-24 10:04:42 | 显示全部楼层
风平老涡 发表于 2020-9-21 11:01
在分子动力模拟中叫邻近列表法,是很经典的办法,都有现成的算法和程序。这里提供个链接,http://blog.sc ...

前辈,这个紧邻列表我看了,是在和粒子判断距离的基础上画每一个粒子的紧邻列表,这样在判断距离的时候,得遍历,感觉也挺费时间的。
回复

使用道具 举报

17

帖子

3

主题

0

精华

入门

F 币
73 元
贡献
45 点

规矩勋章

8#
 楼主| 发表于 2020-9-24 14:33:22 | 显示全部楼层
风平老涡 发表于 2020-9-24 11:49
没错。当粒子数大到一定数目时(>100), 96%的计算时间是用在粒子间的计算。 ...

其实我还查到对于这种遍历系统划分近邻表的计算问题,说是通过系统划分大格子,这样每个格子里的粒子只需要和周围临近格子的粒子计算距离就好了。但是这个说的很笼统,前辈对这方面有更深的理解嘛?
回复

使用道具 举报

17

帖子

3

主题

0

精华

入门

F 币
73 元
贡献
45 点

规矩勋章

9#
 楼主| 发表于 2020-10-21 09:29:19 | 显示全部楼层
caiqingdong 发表于 2020-10-13 10:17
需要修改位移的计算方法。只所以发生这种情况,是因为假设在一个小的时间间隔内,球的运动速度或者受力是常 ...

前辈,我目前用的是一个粒子运动后如果和另一个粒子重叠,则粒子的这步运动作废,看作没有运动,前辈是这类意思嘛
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 极速注册

本版积分规则

捐赠本站|Archiver|关于我们 About Us|小黑屋|Fcode ( 京ICP备18005632-2号 )

GMT+8, 2024-5-4 17:53

Powered by Tencent X3.4

© 2013-2024 Tencent

快速回复 返回顶部 返回列表