||February 17, 2010 05:27
unv mesh corrupted after createPatch
I am facing problems after running createPatch in OF 1.6 with a unv mesh compound created in Salome:
- I generate 4 tetra mesh in Salome and build a mesh compound;
- Save the mesh as UNV and copy on the case folder;
- Run ideasUnvMeshToFoam. The following problem is reported:
Starting reading points at line 3.
--> FOAM Warning :
From function readPoints(IFstream&, label&, DynamicList<point>, DynamicList<label>&)
in file ideasUnvToFoam.C at line 215
Points not in order starting at point 5463 at line 10924
Read 406227 points.
- Run paraFoam to check the mesh: everything seems fine. See initialMesh.png attached.
- Increase the writePrecision to 12 in controlDict;
- Modify the createPatchDict to match my case;
- Run createPatch utility. The following problem is reported:
--> FOAM Serious Error :
From function cyclicPolyPatch::Order(const primitivePatch&, labelList&, labelList&) const
in file meshes/polyMesh/polyPatches/constraint/cyclic/cyclicPolyPatch.C at line 1547
Patch:cyclicSides : Cannot match vectors to faces on both sides of patch
Perhaps your faces do not match? The obj files written contain the current match.
Continuing with incorrect face ordering from now on!
- Increase the relativeTolerance up to 10 to get createPatch work.
- Check the mesh in paraFoam: one of the cyclic patch is corrupted. Check corruptedMesh.png attached.
I guess that the mixing up of points during the mesh conversion is the cause of the createPatch problem, since I read somewhere that them have to be in a well defined order. Can the mixing up be due to the way the mesh has been created in Salome (not using submeshes but using mesh compound)? Unfortunately, I have no other choice for mesh creation. The only solution is to modify the imported mesh in OpenFoam, but how do that?
Or am I wrong and the problem lays somewhere else? Thanks for your help...