CFD Online Discussion Forums

CFD Online Discussion Forums (https://www.cfd-online.com/Forums/)
-   Main CFD Forum (https://www.cfd-online.com/Forums/main/)
-   -   Which GPL Mesh Generator? (https://www.cfd-online.com/Forums/main/65298-gpl-mesh-generator.html)

mikebb June 10, 2009 23:33

Which GPL Mesh Generator?
 
Hi All,

Looking for a GPL mesh generator for unstructured grids, with the following features:
* handles complicated geometries.
* robust (rarely/never crashes).
* imports at least IGES and STL formats.
* runs in a script mode (with all GUI options available in the script mode).

Ideally, it should also have an active developer team, so there is good user-support and on-going debugging/improvements to the code.

There are several mesh generators on the CFD Online Wiki (for example, gmsh, netgen, salome) but I was hoping users can share their real-world experiences with any of the GPL meshers.

Thanks,
Mike.

ogloth June 11, 2009 09:55

Hello Mike,

We are working on an open-source mesher for CFD and I have tried all three examples you have mentioned in your post. Of course my comments might be biased towards our own developments ... ;)

Our own meshing software ENGRID (see http://engits.com/engrid) was started out of desperation about the lack of an open-source or low cost mesher that could handle prismatic boundary layers reliably (NETGEN is used internally for tet-meshing).

GMSH and NETGEN are excellent pieces of software but when it comes to boundary layers there was nothing available at the time. My experience with SALOME is a bit limited but I think it serves mainly as a front-end to NETGEN and GMSH or other, possibly commercial, programs. Feel free to correct me if I am wrong.

At the moment I don't think you will get an open-source solution fulfilling all your requirements -- but let me go through them step by step:

handles complicated geometries
I think NETGEN, GMSH, and ENGRID handle complicated geometries. ENGRID does have the option to create prismatic boundary layers. We have had some feedback hinting that maybe the boundary layer support could be better than that of a popular commercial tool ... user friendliness might not be the same, though. We are, however, willing to take comments and work on improving the GUI and usability.

robust (rarely/never crashes)
Hard to say -- try for yourself. I, personally, had little to no crashes with NETGEN or GMSH.

imports at least IGES and STL formats
At the moment ENGRID requires a surface mesh as input. Hence you will have to use NETGEN or GMSH for that task. Both import IGES and STEP and NETGEN also has some STL support which I haven't tried myself. In the near future we plan to offer our own surface meshing within ENGRID, based on imported STL files (IGES and STEP support will come later). At the moment we use GMSH for surface meshing but my personal opinion is that it can be a bit tedious to get the required resolution, because the edge-length can be defined at points of the geometry; if you don't have a point you need to artificially introduce a point with your CAD program. Again, I can only speak about my experiences and maybe there is a better way of doing this.

runs in a script mode (with all GUI options available in the script mode)
GMSH does; NETGEN I don't know. ENGRID does not at the moment, but that is definitely something we will implement -- also for testing purposes.


Another good tool worth mentioning is snappyHexMesh which is part of the OpenFOAM distribution. It is an all hex unstructured tool with support for boundary layers. Input is an STL geometry and it will only run in a script/batch mode.

I hope this was helpful.

Best regards,
Oliver

mikebb June 14, 2009 22:24

Dear Oliver,

Thank you for the detailed reply.

Based on searching online and on your reply the options are Gmsh and snappyHexMesh. It seems that Gmsh uses Netgen (as one option) for 3D meshes. I'd be happy to experiment with Engrid when it supports a script mode.

Cheers,
Mike.

phsieh2005 June 15, 2009 11:25

conformal mesh?
 
Hi, Oliver,

Your mesher looked interesting. I would like to use OpenFOAM for conjugate heat transfer cases (has both solids and fluids in the domain). Can your mesher mesh both solids and fluid at the same time, especially, has conformal mesh at the solid/fluid interfaces?

phsieh2005

claco September 30, 2011 03:39

Quote:

Originally Posted by ogloth (Post 218989)
Hello Mike,

We are working on an open-source mesher for CFD and I have tried all three examples you have mentioned in your post. Of course my comments might be biased towards our own developments ... ;)

Our own meshing software ENGRID (see http://engits.com/engrid) was started out of desperation about the lack of an open-source or low cost mesher that could handle prismatic boundary layers reliably (NETGEN is used internally for tet-meshing).

GMSH and NETGEN are excellent pieces of software but when it comes to boundary layers there was nothing available at the time. My experience with SALOME is a bit limited but I think it serves mainly as a front-end to NETGEN and GMSH or other, possibly commercial, programs. Feel free to correct me if I am wrong.

At the moment I don't think you will get an open-source solution fulfilling all your requirements -- but let me go through them step by step:

handles complicated geometries
I think NETGEN, GMSH, and ENGRID handle complicated geometries. ENGRID does have the option to create prismatic boundary layers. We have had some feedback hinting that maybe the boundary layer support could be better than that of a popular commercial tool ... user friendliness might not be the same, though. We are, however, willing to take comments and work on improving the GUI and usability.

robust (rarely/never crashes)
Hard to say -- try for yourself. I, personally, had little to no crashes with NETGEN or GMSH.

imports at least IGES and STL formats
At the moment ENGRID requires a surface mesh as input. Hence you will have to use NETGEN or GMSH for that task. Both import IGES and STEP and NETGEN also has some STL support which I haven't tried myself. In the near future we plan to offer our own surface meshing within ENGRID, based on imported STL files (IGES and STEP support will come later). At the moment we use GMSH for surface meshing but my personal opinion is that it can be a bit tedious to get the required resolution, because the edge-length can be defined at points of the geometry; if you don't have a point you need to artificially introduce a point with your CAD program. Again, I can only speak about my experiences and maybe there is a better way of doing this.

runs in a script mode (with all GUI options available in the script mode)
GMSH does; NETGEN I don't know. ENGRID does not at the moment, but that is definitely something we will implement -- also for testing purposes.


Another good tool worth mentioning is snappyHexMesh which is part of the OpenFOAM distribution. It is an all hex unstructured tool with support for boundary layers. Input is an STL geometry and it will only run in a script/batch mode.

I hope this was helpful.

Best regards,
Oliver





Dear Sir,

have You implemented the batch-mode run of EnGrid?

Your Sincerely,


Claudio Comis


All times are GMT -4. The time now is 15:03.