这更像是一个更高级别的算法问题。我正在研究等离子体物理的“粒子在细胞”模拟。每个“粒子”都有位置和速度(两个2XN粒子阵列都有)。到目前为止,我一直在进行模拟以保存粒子数,因此这些阵列的大小保持不变。我现在希望能够在模拟过程中添加和丢失粒子(例如当它们退出域时)。这将涉及向阵列添加新粒子并删除已退出的粒子的条目。我现在正在做一个文献调查,但我想我也可以在这里钓鱼,以获得有效算法的建议。我想避免搜索操作,因为N_particle通常是一个非常大的数字(~10 ^ 8)。我已经看到了基于链表的方法,但这可能需要对现有代码进行大量重组。
是否有其他方法可以做到以下建议 -
在时间步骤结束时:
检查哪些粒子离开了域 - >从中移除这些 粒子列表 - >从入口注入固定数量 - >调整大小 粒子数组
谢谢!
亚洲时报Siddharth