SimScale CAE Forum

How to generate good CFD meshes for very small models

The other day I was giving @hannes_seifart’s model from this project a quick spin on SimScale: . While doing so, I ran into a small hurdle during meshing, where there is actually a simple fix, that I wanted to share here (thanks @Ali_Arafat!):

The model characteristics are that it’s overall very small (a few centimeters) and that it additionally contains very small, but important features. Especially these small pipe-structures, that are crucial for the flow and therefore need to be resolved by the mesh properly as if there are not enough cells across the diameter, this will lead to an artificial blockage of those small pipes.

So I used the manual snappyHexMesh operation to generate a mesh for a CFD simulation. I added a refinement region in the mesh setup to “throw some more cells” into those small pipes.

However the first mesh I got back, overall looked okay, but especially around those small pipes, the mesh was not satisfying. You can see in the screenshot below, that the mesh still looks castellated, the cell faces are not snapped/aligned to the CAD surface and additional layer cells were not generated.

The reason for this is, that this meshing operation contains a parameter that prevents the mesher from generating too small pyramid cells, that might be disadvantageous in certain situation. The parameter is called minVol and is set to 1e-13 by default.

In my case, having a very small geometry + very small features, this “lower limit” actually turned out in a worse mesh. So I lowered the limit to 1e-21 and got this result:

Nice clean mesh, snapped to the surface + having layer cells in there. Also the meshing log says the mesh is okay:

We’re working on an automatic way of adapting this parameter, as the meshing operation contains too many exposed options as of right now. But for the time being - this might come in handy if you’re meshing small CFD features!




FYI: Just ran into this again. Same parameter change did the trick again:

We’re looking into a way how to automate this / make it more intelligent / adaptive.