CFD Online Discussion Forums

CFD Online Discussion Forums (https://www.cfd-online.com/Forums/)
-   OpenFOAM Meshing & Mesh Conversion (https://www.cfd-online.com/Forums/openfoam-meshing/)
-   -   [mesh manipulation] Problem with stitchMesh: it does not work in meshes with several common patches (https://www.cfd-online.com/Forums/openfoam-meshing/119614-problem-stitchmesh-does-not-work-meshes-several-common-patches.html)

arnau1985 June 20, 2013 11:32

Problem with stitchMesh: it does not work in meshes with several common patches
 
1 Attachment(s)
Hello,

I am using mergeMeshes and stitchMesh to merge several meshes and to get rid of internal faces, as they are not supported by OpenFOAM. Everything works fine since the patches I am stitching are perfectly conformal and the geometries very simple. However, when I try to stitch more than one pair of patches in the same merged mesh I get the following error (please see the explanatory chart I have attached):

Code:

--> FOAM FATAL ERROR:
Face 73125 reduced to less than 3 points.  Topological/cutting error B.
Old face: 2(7938 7982) new face: 2(7938 7982)

    From function void slidingInterface::coupleInterface(polyTopoChange& ref) const
    in file slidingInterface/coupleSlidingInterface.C at line 1795.

FOAM aborting

#0  Foam::error::printStack(Foam::Ostream&) in "/home/arnau/OpenFOAM/OpenFOAM-2.1.0/platforms/linux64GccDPOpt/lib/libOpenFOAM.so"
#1  Foam::error::abort() in "/home/arnau/OpenFOAM/OpenFOAM-2.1.0/platforms/linux64GccDPOpt/lib/libOpenFOAM.so"
#2  Foam::slidingInterface::coupleInterface(Foam::polyTopoChange&) const in "/home/arnau/OpenFOAM/OpenFOAM-2.1.0/platforms/linux64GccDPOpt/lib/libdynamicMesh.so"
#3  Foam::polyTopoChanger::topoChangeRequest() const in "/home/arnau/OpenFOAM/OpenFOAM-2.1.0/platforms/linux64GccDPOpt/lib/libdynamicMesh.so"
#4  Foam::polyTopoChanger::changeMesh(bool, bool, bool, bool) in "/home/arnau/OpenFOAM/OpenFOAM-2.1.0/platforms/linux64GccDPOpt/lib/libdynamicMesh.so"
#5 
 in "/home/arnau/OpenFOAM/OpenFOAM-2.1.0/platforms/linux64GccDPOpt/bin/stitchMesh"
#6  __libc_start_main in "/lib/libc.so.6"
#7 
 in "/home/arnau/OpenFOAM/OpenFOAM-2.1.0/platforms/linux64GccDPOpt/bin/stitchMesh"
Aborted

Just for the record, I delete all the pointZones, faceZones, cellZones and meshModifiers files after running stitchMesh every time. The OpenFOAM version I am using is 2.1.0 and the meshes were originally created with Salome and converted using ideasUnvToFoam.

Thank you very much for your time.

Kind regards,


Arnau.


Chart of mergeMeshes and stitchMesh process: Attachment 22858

cutter June 25, 2013 08:20

Hi,

unfortunately I can't help you yet. Just for your information, the same thing has lately been observed and discussed in other threads:


http://www.cfd-online.com/Forums/ope...tml#post183551

http://www.cfd-online.com/Forums/ope...tml#post418651

http://www.cfd-online.com/Forums/ope...mesh-used.html


Maybe you could provide your test case or a minimal working example too.

Good luck!

Cutter

arnau1985 June 25, 2013 08:49

Solution
 
Thank you very much, Cutter!

I found a way to work around this problem a couple of days ago (it works at least in OpenFOAM 2.1). I post it in case anybody else experiences the same problem:

Do not ask my why, but for some reason, you have to run stitchMesh with the "-perfect" option. E.g.:

Code:

stitchMesh -case {case_name} -overwrite -perfect {master_patch} {slave_patch}
If anybody knows why this happens, please explain it.

By the way, the files *Zones and meshModyfiers in ./constant/polyMesh can be the source of other errors, so do not forget to delete them after every stitchMesh. Besides I have observed that in some OpenFOAM versions all patches, both internal and boundary conditions, have to be defined in ./0 when you stitch meshes.

Good luck!


All times are GMT -4. The time now is 06:10.