- Which feature do you need?
blockMesh utility as implemented in OpenFOAM but with SimScale’s easy to use graphical charm.
- What is the problem that you want to address with this feature?
Sometimes, I am willing to put in extra work to get the mesh I desire for more simple geometry. Take the below mesh:
The level of refinement at the trailing edge, I have yet to be able to reproduce in the current hex-dominant meshing algorithm. The above mesh has a sub 100k cell count and sufficiently captures the flow and will hopefully provide valid results against experimental results when it is finished.
However, C meshing isn’t the only application. In the electronics industry, it is common to use basic models to ensure that the best thermal design can be accomplished before too much effort is put into the electrical device itself. This is usually in the form of very cartesian geometry which lends itself to block meshing. Not only can thin layers be easily controlled in block meshing for solid parts (such as conductive and substrate layers in PCB design) but the interfaces between the solids or between the solid and fluid making a mesh that is perfect for CHT, with fast convergence.
Eventually, it might be nice to be able to mix the techniques, allowing complex geometry to be auto meshed whilst the base mesh is created from basic blocks, particularly useful for meshing aircraft, where the aerofoil example is still an issue but to block mesh an entire plane would be impractical, instead block meshing the wings and snapping the body would give the most accurate results.
- What is the expected outcome?
I expect to be able to upload a geometry like that below:
Where I upload the blocks, and define these things:
- The number of divisions and the expansion ratio of each edge by creating a refinement with these options and applying all edges that I wish to assign to that geometry.
- block interfaces, i.e. where multi-blocks are joined into a single block because sometimes we need multiple blocks made of multi-blocks, for example, a heatsink will consist of many blocks as does the fluid domain around it. Alternatively, we could say we want of the blocks to belong to a solid and do this via a refinement. An example of this would be where we create a unification refinement selecting all blocks that belong to the heat sink, all other blocks should be assumed to assign to a single block that isn’t the heatsink. By default, all block should be joined as a single mesh.
The meshing algorithm should define the edges from the geometry, so if it is an arc or a spline the appropriate information should be pulled. If no explicit information is given about a blocks divisions or expansion ratio it should be assumed based upon block size, and the neighbouring cell size.
This might be a long way off but I think it would give us a great opportunity to create meshes with the ultimate, optional control.