gmshToFoam problem: not the same mesh in Gmsh vs. paraview
I am a new user of OpenFOAM and I have some problems using gmshToFoam. When I convert an .msh file for using in OpenFOAM the resulting mesh is not the same. There might be some problems with boundaries linked (I have to create 'defaultFaces' boundaries, otherwise paraFoam fails).
I use 64bit Ubuntu 10.04 with OpenFoam 1.7.0, ParaView 3.8.0 and Gmsh 2.4.2. I write down my very simple example so anyone can reproduce this problem.
1. I created an empty directory:
2. I created a text file for the geometry:
gmsh cuboid.geo -3
4. I created three files as follows.
mkdir system 0
cp $FOAM_TUTORIALS/incompressible/icoFoam/elbow/system/controlDict system/
At this point I noticed a warning message:
--> FOAM Warning :
From function polyMesh::polyMesh(... construct from shapes...)
in file meshes/polyMesh/polyMeshFromShapeMesh.C at line 576
Found 372 undefined faces in mesh; adding to default patch.
6. I copied some files for solving the model:
cp $FOAM_TUTORIALS/incompressible/icoFoam/elbow/system/fvS* system/
cp $FOAM_TUTORIALS/incompressible/icoFoam/elbow/constant/transportProperties constant/
7. I studied the mesh in ParaView using paraFoam command and I noticed that the mesh is not the same and the boundary definitions are not correct.
8. I tried to run icoFoam and it solved the model without problems, but the solution is not realistic.
I think the problem comes from gmshToFoam, the OpenFOAM mesh is not the same as Gmsh mesh. Can you help me using a Gmsh mesh in OpenFOAM? If you can share any (tutorial) model for creating an OpenFOAM model using a Gmsh mesh, it would be also highly appreciated.
I'm not familiar with gmsh, but I had a similar problem:
I once notized with an other CAD tool (SALOME) that I can either export the geometry (usually very coarse) or the mesh I built for the geometry. Maybe you exported the geometry and not the mesh?
A'm trying to make a simple example using gmsh and OpanFOAM. I have got a question for you: how did you make named physical surfaces as inlet, outlet and noslipwall? I have some troubles with it...
Chris, thank you for your reply. I will try Salome. I think .geo is for geomety and .msh is for the mesh in Gmsh.
Arina, I used Gmsh GUI to create this example, so it gave numbers as 'Physical Surface' index. I noted which index is for which boundary, then I used a text editor to modify the numbers in the .geo file to "inlet", "outlet" and "noslipwall". That's the trick.
I figured out that there was no problem with the conversion. It works!
Recent paraFoam has some problem with localization, so I started "LC_ALL=C paraFoam". After this, the mesh was the same as in Gmsh and the solution generated by icoFoam was also realistic.
So one may try the instructions in the first post of this thread as a tutorial for gmshToFoam.
Thanks for quick reply. But I have one more question: did you open .geo and just replace for example Surface (50) to Surface ("inlet")?
I've been trying to get the physical surfaces into the boundary file, but with no success. I copied your exact file above, meshed it in gmsh, then used gmshToFoam, but those surfaces do not come across - I just get patch0 and defaultFaces. Any idea what I might be doing wrong?
I've managed to sort the problem by downloading the latest (nightly) build of gmsh (2.5.1). All patches now come through to OpenFOAM properly.
|All times are GMT -4. The time now is 17:15.|