Fortran Coder

楼主: 13613529432
打印 上一主题 下一主题

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

[复制链接]

17

帖子

3

主题

0

精华

入门

F 币
73 元
贡献
45 点

规矩勋章

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

好的前辈,我查一查
回复

使用道具 举报

17

帖子

3

主题

0

精华

入门

F 币
73 元
贡献
45 点

规矩勋章

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

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

使用道具 举报

213

帖子

2

主题

0

精华

宗师

F 币
2126 元
贡献
875 点

规矩勋章

13#
发表于 2020-9-24 11:49:16 | 只看该作者
13613529432 发表于 2020-9-24 10:04
前辈,这个紧邻列表我看了,是在和粒子判断距离的基础上画每一个粒子的紧邻列表,这样在判断距离的时候, ...

没错。当粒子数大到一定数目时(>100), 96%的计算时间是用在粒子间的计算。
回复

使用道具 举报

17

帖子

3

主题

0

精华

入门

F 币
73 元
贡献
45 点

规矩勋章

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

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

使用道具 举报

213

帖子

2

主题

0

精华

宗师

F 币
2126 元
贡献
875 点

规矩勋章

15#
发表于 2020-9-25 08:22:43 | 只看该作者
13613529432 发表于 2020-9-24 14:33
其实我还查到对于这种遍历系统划分近邻表的计算问题,说是通过系统划分大格子,这样每个格子里的粒子只需 ...

近邻表是最简单的。事实上并不是每一步都要计算近邻表。因为粒子运动在短时间内移动距离很短,近邻表并没有变化。一般每10~15步才重新计算近邻表。那个格子索引,算法比较复杂。
回复

使用道具 举报

2

帖子

0

主题

0

精华

新人

F 币
29 元
贡献
9 点
16#
发表于 2020-10-13 10:17:27 | 只看该作者
需要修改位移的计算方法。只所以发生这种情况,是因为假设在一个小的时间间隔内,球的运动速度或者受力是常数,发生重叠的情况下,这种假设是不成立的,做适当的模型修改后,需要无穷大的时间,球体才能碰撞。
回复

使用道具 举报

17

帖子

3

主题

0

精华

入门

F 币
73 元
贡献
45 点

规矩勋章

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

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-26 22:49

Powered by Tencent X3.4

© 2013-2024 Tencent

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