CFD Online Logo CFD Online URL
www.cfd-online.com
[Sponsors]
Home > Forums > Software User Forums > OpenFOAM > OpenFOAM Meshing & Mesh Conversion

[blockMesh] Problem with face matching

Register Blogs Community New Posts Updated Threads Search

Like Tree1Likes
  • 1 Post By aow

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   February 14, 2019, 10:00
Default Problem with face matching
  #1
New Member
 
Alejandro
Join Date: Oct 2018
Posts: 1
Rep Power: 0
Alejandro_Dominguez is on a distinguished road
Hello, first of all this is my first question in the forum so I apologise for any mistake I can make.
I am trying to create a 3D C-grid with blockMesh to use it as background mesh in snappyHexMesh, and I have almost succeeded except for a problem with face matching. To create it, I have divided the domain in 2 quarters of cylinders and 1 prism, but the problem is that blockMesh sets as defaultFaces the face between the prism and the two quarters and this is a face I expected that blockMesh would ignore. When I tried to use mergePatchPairs as an alternative I got an error message about no cell neighbours faces.
I attatch the blockMeshDict and an Image of the C-grid side with the problematic face outlined in red.

Does anyone know how to remove that defaultFace or how to correct my blockMeshDict so this problem does not appear?

HTML Code:
/*--------------------------------*- C++ -*----------------------------------*\
| =========                 |                                                 |
| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
|  \\    /   O peration     | Version:  v1812                                 |
|   \\  /    A nd           | Web:      www.OpenFOAM.com                      |
|    \\/     M anipulation  |                                                 |
\*---------------------------------------------------------------------------*/
FoamFile
{
    version     2.0;
    format      ascii;
    class       dictionary;
    object      blockMeshDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

convertToMeters 1;

vertices
(
    (74 844.8 0)//0
	(-770.8 0 0)//1
	(74 -844.8 0)//2
	(74 844.8 30)//3
	(-770.8 0 30)//4
	(74 -844.8 30)//5
	(74 0 0)//6
	(74 0 30)//7
	(844.8 -844.8 0)//8
	(844.8 844.8 0)//9
	(844.8 844.8 30)//10
	(844.8 -844.8 30)//11

	
);

blocks
(
    hex (1 2 6 6 4 5 7 7) (20 20 2) simpleGrading (1 1 1) //cuarto de cilindro
	hex (0 1 6 6 3 4 7 7) (20 20 2) simpleGrading (1 1 1) //cuarto de cilindro
	hex (0 2 8 9 3 5 11 10) (30 15 2) simpleGrading (1 1 1) //cubo (30 celdas en y 15 en x )
);

edges
(
	arc 1 2 (-523.3638087 -597.3638087 0)
	arc 0 1 (-523.3638087 597.3638087 0)
	arc 4 5 (-523.3638087 -597.3638087 30)
	arc 3 4 (-523.3638087 597.3638087 30)
);

boundary
(
    inlet
    {
        type patch;
        faces
        (
            (5 4 1 2)
			(4 3 0 1)
        );
    }
    outlet
    {
        type patch;
        faces
        (
            (8 9 10 11)
        );
    }
    
    frontAndBack
    {
        type symmetry;
        faces
        (
			(3 4 7 7)
			(4 5 7 7)
			(5 11 10 3)
			(2 1 6 6)
			(1 0 6 6)
			(0 9 8 2)
        );
    }
	
	topAndBottom
    {
        type wall;
        faces
        (
            (3 10 9 0)
			(5 2 8 11)
        );
    }
	
);

mergePatchPairs
(
	//(  ) merge patch pair 0 
);

// ************************************************************************* //
blockMeshDict.txt

Thank you!!
Attached Images
File Type: png pregunta.PNG (6.2 KB, 30 views)

Last edited by Alejandro_Dominguez; February 14, 2019 at 11:08.
Alejandro_Dominguez is offline   Reply With Quote

Old   March 2, 2019, 15:08
Default
  #2
aow
Member
 
Andrew O. Winter
Join Date: Aug 2015
Location: Seattle, WA, USA
Posts: 78
Rep Power: 11
aow is on a distinguished road
I would try splitting the third hex you’re trying to create into two separate hexes along the line y = 0. As far as I know, you can’t create a hex that has a face connected to 2 faces of 2 different hexes.

So you would need to add an additional pair of vertices...

(844.8 0 0) //12
(844.8 0 30) //13

split the third hex into...
hex(0 6 12 9 3 7 13 10)
hex(6 2 8 12 7 5 11 13)

Of course you would also need to edit the boundaries appropriately too. Note I have not actually run your blockMeshDict to check my edits (I’m using my phone to write to you), but I believe this approach is the correct one to take. Good luck!
aow is offline   Reply With Quote

Reply

Tags
blockmesh, facematching, mergepatchpairs


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are Off
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
[ICEM] Error in mesh writing helios ANSYS Meshing & Geometry 21 August 19, 2021 15:18
Problem with 'Mapped Face Meshing' RobertW FLUENT 0 November 19, 2016 16:39
[snappyHexMesh] Error while running SnappyHex in parallel mg.mithun OpenFOAM Meshing & Mesh Conversion 1 February 10, 2016 14:13
[Commercial meshers] Face ordering problem for nonrectangular cyclic boundary conditions cfdmarkus OpenFOAM Meshing & Mesh Conversion 3 August 17, 2011 16:07
gmsh2ToFoam sarajags_89 OpenFOAM 0 November 24, 2009 23:50


All times are GMT -4. The time now is 13:57.