Spent four days in figuring out how to construct an OpenFOAM polyMesh manually, it is more complicated than I thought, the difficult part is how to construct a multi-block mesh. One of the annoying issues in a multi-block polymesh construction is how to handle its internal lines/surfaces, where two lines become one. And then the points indices and the face indices all have to change accordingly. There may be many approaches to address this, but I, after many days’ thought, decided to use a brutal force search and match approach. In a double precision, I hope it won’t have any problem.
This issue, of cause, is just a tip of the iceberg. You have also to consider the face orientation, owner and neighbour cell ordering, etc. More than that, the cell ordering seems to be critical for CFD simulation. I am not sure at this moment should I use CuthillMcKee algorithm or not. I got lots of questions…
Again, there is an interesting phenomenon, everything could be very easy, but once you want to make it (such as your method or your code) general, it will become complicated.
Today, the mesh exporter to OpenFOAM format start working. I need to get rid of some bugs and think about the boundary patches issue in the next step. When the boundary export is finished, I will release it. So for 2D cases, it is apparently a good alternative to OpenFOAM’s native blockMesh utility.