I am having problems with stitchMesh command in OF 2.1.x. My case a centrifugal pump which has 2 interfaces between the rotating part and the stationary part. I want to run a case with MRFSimpleFoam solver. Mesh was in .msh format, and i converted it to openFoam by using fluent3DMeshToFoam. after that, i used topoSet and i obtained the constant>polyMesh>sets directory with rotor file in it. afterwards, what i know is, i need to stitch the interfaces, which indicates the connection between rotating and the stationary parts, but the problem is, the number of the faces of two patches are not identical, i think because of that the stitchMesh command gives me the following error message:
#0 Foam::error::printStack(Foam::Ostream&) in "/home/gulacd2k/OpenFOAM/OpenFOAM-2.1.x/platforms/linux64Gcc46DPOpt/lib/libOpenFOAM.so"
#1 Foam::error::abort() in "/home/gulacd2k/OpenFOAM/OpenFOAM-2.1.x/platforms/linux64Gcc46DPOpt/lib/libOpenFOAM.so"
#2 Foam::enrichedPatch::calcCutFaces() const in "/home/gulacd2k/OpenFOAM/OpenFOAM-2.1.x/platforms/linux64Gcc46DPOpt/lib/libdynamicMesh.so"
#3 Foam::enrichedPatch::cutFaces() const in "/home/gulacd2k/OpenFOAM/OpenFOAM-2.1.x/platforms/linux64Gcc46DPOpt/lib/libdynamicMesh.so"
#4 Foam::slidingInterface::coupleInterface(Foam::poly TopoChange&) const in "/home/gulacd2k/OpenFOAM/OpenFOAM-2.1.x/platforms/linux64Gcc46DPOpt/lib/libdynamicMesh.so"
#5 Foam::polyTopoChanger::topoChangeRequest() const in "/home/gulacd2k/OpenFOAM/OpenFOAM-2.1.x/platforms/linux64Gcc46DPOpt/lib/libdynamicMesh.so"
#6 Foam::polyTopoChanger::changeMesh(bool, bool, bool, bool) in "/home/gulacd2k/OpenFOAM/OpenFOAM-2.1.x/platforms/linux64Gcc46DPOpt/lib/libdynamicMesh.so"
#8 __libc_start_main in "/lib64/libc.so.6"
i couldn't find what should i do,
thanks in advance for your helps
stitchMesh error message
i am working on a centrifugal pump geometry, and i want to stitch two interfaces with the stitchMesh command. the master interface is GEOM-SIDE-2 has 5481 faces, and the slave interface has 3248 faces.
once i run the command "stitchMesh GEOM-SIDE-2 GEOM-SIDE-1" the following error message comes up:
Create mesh for time = 0
Coupling partially overlapping patches GEOM-SIDE-2 and GEOM-SIDE-1
Resulting internal faces will be in faceZone GEOM-SIDE-2GEOM-SIDE-1CutFaceZone
Any uncovered faces will remain in their patch
Adding pointZone GEOM-SIDE-2GEOM-SIDE-1CutPointZone at index 0
Adding faceZone GEOM-SIDE-2GEOM-SIDE-1MasterZone at index 0
Adding faceZone GEOM-SIDE-2GEOM-SIDE-1SlaveZone at index 1
Adding faceZone GEOM-SIDE-2GEOM-SIDE-1CutFaceZone at index 2
Sliding interface parameters:
pointMergeTol : 0.05
edgeMergeTol : 0.01
nFacesPerSlaveEdge : 5
edgeFaceEscapeLimit : 10
integralAdjTol : 0.05
edgeMasterCatchFraction : 0.4
edgeCoPlanarTol : 0.8
edgeEndCutoffTol : 0.0001
Reading all current volfields
Reading volScalarField p
Reading volScalarField nut
Reading volScalarField k
Reading volScalarField omega
Reading volVectorField U
--> FOAM FATAL ERROR:
Duplicate point found in cut face. Error in the face cutting algorithm for global face 4(476034 466684 466686 476036) local face 4(0 1 2 3)
Slave size: 3248 Master size: 5481 index: 0.
Face: 5(476034 466684 466686 338175 476036)
Those interfaces indicates the connection between rotor and stator of the pump, and my aim is to run a simulation with MRFSimpleFoam after stitching them. I am using OF 2.1.x. I tried whatever i know, but i couldn't find a solution. i hope some of you can help me in this matter.
Without a test case, I can't figure this out myself. But my suggesting is that you try using the "-partial" option with stitchMesh.
There are a few examples given in the following thread and the respective solution for those examples: http://www.cfd-online.com/Forums/ope...mesh-used.html
From it you should be able to derive some information that might help you get closer to the solution.
If you're still not able to figure it out, please create a simple case that can lead to a similar error that you are having and share it with us! This way I or anyone else can help you figure this out!
Please inform us if you have found a solution,I have exactly same problem with stitches for same case.
unfortunately i couldn't manage to get rid of this error message. So i mean, in my case, stitchMesh command didn't work. I definitely believe that it is because of the inappropriate mesh quality.
In my case, i had 2 interfaces needed to be stitched, but stitching didn't work so instead of that, to couple that interfaces i used GGI algorithm which is available in O.F.1.6 ext version.
if you need more info, please ask, i will try to help
First I would thank you for your reply. My main case is to analyse a self-propelled case that means a hull of ship model includes the rudder and propeller.This mesh is generated coreectly and we have exact results for AMI.
But to consider the case with MRF ,I need to remove and stitch AMI surfaces .
For a simple case,just a propller arranged with 2AMI surfaces, I could remove and stitch two surfcaes by stitchMeshes -perfect AMI1 AMI2, where the number of cells for each AMI boundary was identical.
However,in self-propelled case I have problem altough the number of cells are not identical.
I would like to know what you did to handle with GGI.
In addition, I am nterested to handle this with OF2.1x otherwise I have to resolve the errors about the classes of cells.
as far as i know, for an MRF case, you can keep your AMI or GGI interface, and you can just apply the MRF solver. If your case is already giving correct results with AMI, here what i understand is that you ran it as transient, you can also run it as steady state. but be aware of that, you must have "MRFZones" dictionary in the constant folder which describes the moving and the stationary faces.
in your case, if you already managed to run it with AMI once, then you don't need to try it with GGI. GGI is only needed when there exist an overlapping problem between the neighbor interfaces. So you can just keep using AMI.
I am not sure , keeping AMI surfaces results well solutions . I did already for the simple propeller case but the results was not Ok however I approaches good results with removing and stitches AMI surfaces and updating MRF solver
normally the way to set up MRF for O.F. is to stitch the meshes, and this is also what i tried in the first place. but it is for sure stitching procedure has problems, and it is not working properly.
on the other hand, in the description of GGI (or AMI), it is said that it is used for both steady state and transient simulations.
anyway, good luck with your work. i hope you find a solution to stitch the meshes.
As Bruno has said, we are not able to help you, unless you give us a test case.
Nevertheless, if you want to use stitchMesh, which is basically a static sliding interface, you should be certain, that your interface is completely planar. Under this condition, it should be possible to force the stitchMesh to work. From the error log it looks like a cross penetration of intefaces.
Parameters of the sliding interface are placed in etc/controlDict. Try to "play" around with these parameters together with an increasing of the mesh resolution. These steps have always worked for me.
I have read the post related this matter and tested all tricks that may help to stitch two surfaces and resolve this problem but the error is same.
I don't understand what you mean exactly about the but I attached two surfaces in 3 views that must be stitched ,the surfaces are AMI ones and overlapped on each other .
More specifically,I want to investigate again that keeping AMI would results solution with updating the set-up corresponding MRFSimpleFoam.
I keep AMI surfaces and define MRFzones but the result is not Ok.
Try to use attachMesh. If it doesn't work, you could use the manual preparation that is described here:
Please let me know if it is possible not to merge rotor and stator.
I mean that the entire of the domain is exported to OPenFoam that lead not to create to parts of stator and rotor.
following this subject ,we can employ AMI interface and update MRFZones as:
Just a small doubt , for rotor stator simulations if the rotor mesh and stator mesh are created separately which one do you suggest
1.merge both the meshes in ICEM and then convert the merged mesh to Openfoam using fluent3DMeshToFoam or
2.import the 2 meshes separately and then use mergeMesh and stitchMesh in openfoam
Merge meshes, no stitching required. Have a look at this post of mine: http://www.cfd-online.com/Forums/ope...tml#post446517 post #184
|All times are GMT -4. The time now is 07:40.|