这个说的有点问题
排序之后不是下标乱了而是值乱了。
所以其实应该不能用数组。
大概应该用哈希表,键为PID 值为CID。
按照值排序,按照键直接索引得到值。
北斗
帖子
-
粒子与网格归属问题 -
粒子与网格归属问题另外,假如你的问题只是邻域搜索的话,即
知道一个粒子编号,想求它所在的网格的其他粒子的编号,
那么还可以用最小堆实现。PS:最小堆是一个自动按照从小到大排列的数组。(可以在每个时间步开始的时候排序)
我们建立这样一个数组:
这个数组的下标为粒子编号,而存储的值是网格编号。这个数组总是按照网格编号进行排序。
(我们称之为数组a吧。网格编号记作CID,粒子编号记作PID)由于这个数组是从小到大排序好的,所以它应该大概是这样的
24 35 2 31 42 57
0 0 0 1 1 1
上面的代表粒子编号即下标,下面的是网格编号即值。
总之粒子编号是乱的但网格编号是排好的假如我知道某个粒子的编号是31,那么直接通过索引粒子编号就知道它在1号网格,即
a[31]=1
那么搜索所在网格的其他粒子的时候呢,只需要同时向前和向后搜索就行了。直到搜索得到的
网格编号和当前粒子的网格编号不等为止,即CID!=1即可。这就避免了搜索所有的粒子。
-
粒子与网格归属问题这题我会!
可以建立两个数组(实际上是两个哈希表)。
一个是以粒子编号为下标,存储的是网格编号。一个是以网格编号为下标,存储的是粒子编号(因为一个网格可以有很多例子,所以这是个二维不等长数组,第二维可以用std::vector)。每次粒子移动以后,更新这两个数组。
假如知道粒子编号想找所在网格,那个就第一个数组;假如知道网格编号想知道它里面有哪些网格,就用第二个数组。
-
求流体凝固为固体的算法@李东岳 好啊。我先研究下。
这个问题是属于生物流体力学的,凝血和血栓现象的应用前景也挺明确的,应该挺值得深入研究的。 -
求流体凝固为固体的算法@李东岳 好的。谢谢李博士。我读下这篇论文。
-
求流体凝固为固体的算法@李东岳 如果说前人的工作。有的文献说用LBM有的用IBM。各种模型多种多样。
-
求流体凝固为固体的算法@李东岳
血小板聚集形成血栓。
另外伴有一系列复杂的级联反应。这是内源性的。也就是说无需任何触发机制都能凝血。正常状态不凝血的原因是血液中同时存在抗凝的化学物质,与凝血机制形成动态平衡。如果非要说有什么触发机制,那就是破损的血管壁释放组织因子引发了一系列的凝血反应。 -
求流体凝固为固体的算法@李东岳 我要算血液凝固,形成血栓。可以是体外血液的凝固,比如浸了血的手术刀。也可以是体表有个小伤口愈合。还有就是体内血管破损了愈合。最后就是病理性的血栓,比如形成了栓塞。
现在初步打算,先做体表小伤口愈合或者体内血管破损愈合的。
-
求流体凝固为固体的算法@李东岳
温度触发凝固的那个,愿闻其详。
话说添加区域源项可以使流体变为固体?这是什么算法? -
求流体凝固为固体的算法@李东岳
李老师,你好
这也分单相和多相吗?之前没思考过。
现在想想,假如模拟血液凝固形成血栓的话,血栓只是附着在血管壁上堵住伤口,貌似就是单相+固体发生形变。如果形成的栓块随着血液流动,成为病理性的栓塞的话,貌似就是多相。
单相和多相的算法都能说说吗?想开开眼界。 -
求流体凝固为固体的算法各位大佬,
请问有流体逐渐凝固为固体的算法吗?
我想做一个逐步流体凝固为固体的模拟。比如血液凝固,油漆凝固,牛奶凝固之类的。