CFD Online Discussion Forums

CFD Online Discussion Forums (
-   OpenFOAM Native Meshers: blockMesh (
-   -   mergePatchPairs Misbehaving (

dancfd July 19, 2011 23:24

mergePatchPairs Misbehaving
2 Attachment(s)
Hello all,

I am having trouble using blockMesh & mergePatchPairs to generate a C-grid for an airfoil. I was unable to use the grading to get sufficient resolution (y+ = 30), therefore I created a "layer" of blocks around the airfoil to get the proper number of cells and expansion ratio. That led to a problem, which was cells that were too skinny in the wake. I addressed that by using mergePatchPairs to terminate the layer blocks at the trailing edge, however mergePatchPairs appears to join the wake and forward blocks improperly, leading to additional orthogonality errors and poor convergence.

I have attached my blockMeshDict and an image of the discrepant cells. What is shown is the block interface along the line that runs vertically from the trailing edge.

I would appreciate any assistance at all. Thanks in advance,


dancfd July 19, 2011 23:49

To follow up, I commented out the patches in mergePatchPairs, then ran stitchMesh internalRight internalLeft. I am left with this error:


keyword internalRight is undefined in dictionary "/home/dan/OpenFOAM/dan-1.7.0/run/thesis/cases/VISN017fix2/0/p::boundaryField"

file: /home/dan/OpenFOAM/dan-1.7.0/run/thesis/cases/VISN017fix2/0/p::boundaryField from line 27 to line 43.

    From function dictionary::subDict(const word& keyword) const
    in file db/dictionary/dictionary.C at line 461.

FOAM exiting

Is it possible to stitch the faces together and make them internal? That could be another approach to solving the same problem.


dancfd July 20, 2011 00:08

2 Attachment(s)
Last one for now... I got around the stitchMesh issue by temporarily emptying the /0 directory. Now stitchMesh runs, but it produces the same nonOrthogonality issue that blockMesh did.

Another way forward would be to split the wake from two blocks (top and bottom) to four (the thickness of the layer). To make this work, I would have to reduce the number of nodes in the y-direction, meaning it would not match the neighbouring block around the airfoil. I duplicated the vertices at the interfaces in question, and defined the left and right blocks that meet at the interface according to the separate set of duplicate vertices. It looks like the mergePatchPairs is completed successfully on the top, but not on the bottom of the wake (see pic of trailing edge). Any ideas on how I could fix this? New BlockMeshDict attached.


All times are GMT -4. The time now is 08:28.