修改meshtaichi以支持六面体网格

大家好,我在尝试使用taichi进行科学计算编程。在我的领域内,一个常用的空间划分方法是将空间分割成密铺的六面体,这些六面体网格不一定是按照ijk索引排列,或者被称为更为人熟知的非结构六面体网格。我想基于@meshtaichi进行此类计算,但是由于目前meshtaichi仅支持非结构四面体网格,我没有办法直接进行。于是我希望对代码进行修改以支持非结构六面体网格。请问:1、开发团队是否有这类的工作。2、若没有,能否给出一些coding的指导?比如需要修改哪些文件、哪些数据结构需要更改以及潜在的问题等等。十分感谢!

By the way,考虑过将六面体分割成5个四面体。但是这样将对计算结果产生影响:例如在进行流体物理仿真时,壁面附近的网格的纵横比将非常大,再进行分割的话,将产生异常畸形的四面体网格,因此不考虑进行此操作。

自己进行了探索,初步实现了六面体支持。在此简单记录一下关键点:
1、patcher_mesh.h中对网格cell-vertex之间各个order层级的命名需要改动。对于六面体网格MeshElementType { Vertex = 0, Edge = 1, Face = 3, Cell = 7 };
2、在get_relation()函数中,建立Cell-Face/Face-Edge的过程中需要进行剪枝操作,去除实际中不存在的关系;
3、meshpatcher.py中MeshPatcher需要手动初始化Face与Vertex的关系;
4、在taichi库本身上,mesh.py需要消除多余的order层级关系;