介绍
在过去的 5 天内,我能够使用 Fortran、C++ 和 Python 的组合生成块结构的笛卡尔网格生成系统。
我正在对导入的几何图形与它所包围的边界框进行相交测试,如果相交测试成功,那么我将父边界框细分为 4 个子边界框。
正如对于这个 2D 案例可以理解的那样,我正在使用四叉树分解。
现在我打算为它编写一个 FVM / FEM 求解器。
问题
但是,我想不出一种算法可以帮助我快速识别出固体(即体内)和流体(即体外)的细胞。
我可以通过从所有单元中投射两条相反的光线来运行双光线相交测试,并查看两条光线是否与几何边界相交,以识别实体域。然而,在我们将四叉树分解到某个网格级别之后,这样的测试在计算上运行起来会非常昂贵。
下图有 40,577 个四边形元素,所以不是很高。但未来的网格将有更多的元素。因此,这个特定问题可能成为性能瓶颈。
问题
i) 我可以执行任何类型的初始测试来减少我的计算负载吗?
ii) 有没有更适合这个问题的其他算法?