|
[Sponsors] |
[blockMesh] mergePatchPairs problem when using two master and slave combination |
|
LinkBack | Thread Tools | Search this Thread | Display Modes |
September 22, 2021, 10:35 |
mergePatchPairs problem when using two master and slave combination
|
#1 |
New Member
Ali
Join Date: Aug 2021
Posts: 3
Rep Power: 5 |
I have read some related issues on the forum, but the problem could not be passed despite my longtime efforts. I would like to merge circumferential faces and one of two caps of a cylinder with faces of a bigger box, separately. For this goal, I have created 18 blocks using blockMesh. There is no problem when I merge only circumferential faces or only the cap, as it is obvious in the following picture:
Main.jpg The problem is for when I want to merge both of the circumferential faces and the cap. In someway it shows an error as the following picture, which, I guess, is related to the changes in allocated vertices by first combination of master and slave patches. 333333.PNG I have tried various ways such as defining some same duplicated coordinates with different numbers or adding some duplicated blocks and etc., which are recommended by some other CFD users. But the problem is still remains. I would be very appreciated if anyone could help me to find out how to do that. I have seen somewhere that it is recommended by a CFD experienced expert to don't using duplicated vertices, which may confuse the OpenFOAM "Face reduced to less than 3 points (simple cubic blocks)", but there are various problems on the forum that recommend to use this method. Is there any problem with defining some duplicated vertices? My used blockMesh is as: Code:
/*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: v3.0+ | | \\ / A nd | Web: www.OpenFOAM.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile { version 2.0; format ascii; class dictionary; object blockMeshDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // convertToMeters 1; IR__ 0.5; Ranx__ #calc "$IR__-$IR__/2.0"; pnt__ #calc "$IR__+ 2*($IR__- sqrt(pow($IR__,2.0)-pow($Ranx__,2.0)))"; vertices ( // Rectangle (-2.0 -5.0 -2.0) //0 (-2.0 -5.0 2.0) //1 (2.0 -5.0 2.0) //2 (2.0 -5.0 -2.0) //3 (-2.0 5.0 -2.0) //4 (-2.0 5.0 2.0) //5 (2.0 5.0 2.0) //6 (2.0 5.0 -2.0) //7 // Perforation corresponding reservoir (-0.5 1.0 -0.5) //8 (-0.5 1.0 0.5) //9 (0.5 1.0 0.5) //10 (0.5 1.0 -0.5) //11 (-0.5 5.0 -0.5) //12 (-0.5 5.0 0.5) //13 (0.5 5.0 0.5) //14 (0.5 5.0 -0.5) //15 // Reservoir Inlet (-2.0 -5.0 -0.5) //16 (-2.0 -5.0 0.5) //17 (-0.5 -5.0 2.0) //18 (0.5 -5.0 2.0) //19 (2.0 -5.0 0.5) //20 (2.0 -5.0 -0.5) //21 (0.5 -5.0 -2.0) //22 (-0.5 -5.0 -2.0) //23 (-0.5 -5.0 -0.5) //24 (-0.5 -5.0 0.5) //25 (0.5 -5.0 0.5) //26 (0.5 -5.0 -0.5) //27 // Center XZ plane of the reservoir without perforation corresponding reservoir (-2.0 1.0 -2.0) //28 (-2.0 1.0 -0.5) //29 (-2.0 1.0 0.5) //30 (-2.0 1.0 2.0) //31 (-0.5 1.0 2.0) //32 (0.5 1.0 2.0) //33 (2.0 1.0 2.0) //34 (2.0 1.0 0.5) //35 (2.0 1.0 -0.5) //36 (2.0 1.0 -2.0) //37 (0.5 1.0 -2.0) //38 (-0.5 1.0 -2.0) //39 // Outer XZ plane of the reservoir without perforation corresponding reservoir (-2.0 5.0 -0.5) //40 (-2.0 5.0 0.5) //41 (-0.5 5.0 2.0) //42 (0.5 5.0 2.0) //43 (2.0 5.0 0.5) //44 (2.0 5.0 -0.5) //45 (0.5 5.0 -2.0) //46 (-0.5 5.0 -2.0) //47 /////////////////////// FOR MERGING: // Perforation (-0.5 1.0 -0.5) //48 (-0.5 1.0 0.5) //49 (0.5 1.0 0.5) //50 (0.5 1.0 -0.5) //51 (-0.5 5.0 -0.5) //52 (-0.5 5.0 0.5) //53 (0.5 5.0 0.5) //54 (0.5 5.0 -0.5) //55// /* Behind perforation (-0.5 1.0 -0.5) //56 (-0.5 1.0 0.5) //57 (0.5 1.0 0.5) //58 (0.5 1.0 -0.5) //59*/ /*(-0.5 -5.0 -0.5) //60 (-0.5 -5.0 0.5) //61 (0.5 -5.0 0.5) //62 (0.5 -5.0 -0.5) //63*/ ); blocks ( hex (0 23 39 28 16 24 8 29) (15 30 15) simpleGrading (1 1 1) // behind left down hex (16 24 8 29 17 25 9 30) (15 30 10) simpleGrading (1 1 1) hex (17 25 9 30 1 18 32 31) (15 30 15) simpleGrading (1 1 1) hex (23 22 38 39 24 27 11 8) (10 30 15) simpleGrading (1 1 1) // behind middle down hex (24 27 11 8 25 26 10 9) (10 30 10) simpleGrading (1 1 1) // CENTER //hex (24 27 59 56 25 26 58 57) (10 30 10) simpleGrading (1 1 1) // CENTER if behind perforation specified for merging //hex (60 63 59 56 61 62 58 57) (10 30 10) simpleGrading (1 1 1) // CENTER if behind perforation specified for merging hex (25 26 10 9 18 19 33 32) (10 30 15) simpleGrading (1 1 1) hex (22 3 37 38 27 21 36 11) (15 30 15) simpleGrading (1 1 1) // behind right down hex (27 21 36 11 26 20 35 10) (15 30 10) simpleGrading (1 1 1) hex (26 20 35 10 19 2 34 33) (15 30 15) simpleGrading (1 1 1) hex (28 39 47 4 29 8 12 40) (15 20 15) simpleGrading (1 1 1) // front left down hex (29 8 12 40 30 9 13 41) (15 20 10) simpleGrading (1 1 1) hex (30 9 13 41 31 32 42 5) (15 20 15) simpleGrading (1 1 1) hex (39 38 46 47 8 11 15 12) (10 20 15) simpleGrading (1 1 1) // front middle down //hex (8 11 15 12 9 10 14 13) (10 20 10) simpleGrading (1 1 1) // CENTER hex (48 51 55 52 49 50 54 53) (10 20 10) simpleGrading (1 1 1) // CENTER if perforation specified for merging hex (9 10 14 13 32 33 43 42) (10 20 15) simpleGrading (1 1 1) hex (38 37 7 46 11 36 45 15) (15 20 15) simpleGrading (1 1 1) // front right down hex (11 36 45 15 10 35 44 14) (15 20 10) simpleGrading (1 1 1) hex (10 35 44 14 33 34 6 43) (15 20 15) simpleGrading (1 1 1) ); edges ( arc 24 25 (#calc "-$pnt__" -5.0 0.0) arc 25 26 (0.0 -5.0 $pnt__) arc 26 27 ($pnt__ -5.0 0.0) arc 27 24 (0.0 -5.0 #calc "-$pnt__") arc 8 9 (#calc "-$pnt__" 1.0 0.0) arc 9 10 (0.0 1.0 $pnt__) arc 10 11 ($pnt__ 1.0 0.0) arc 11 8 (0.0 1.0 #calc "-$pnt__") /*///// arc 56 57 (#calc "-$pnt__" 1.0 0.0) arc 57 58 (0.0 1.0 $pnt__) arc 58 59 ($pnt__ 1.0 0.0) arc 59 56 (0.0 1.0 #calc "-$pnt__")*/ /*arc 60 61 (#calc "-$pnt__" -5.0 0.0) arc 61 62 (0.0 -5.0 $pnt__) arc 62 63 ($pnt__ -5.0 0.0) arc 63 60 (0.0 -5.0 #calc "-$pnt__")*/////// // arc 48 49 (#calc "-$pnt__" 1.0 0.0) arc 49 50 (0.0 1.0 $pnt__) arc 50 51 ($pnt__ 1.0 0.0) arc 51 48 (0.0 1.0 #calc "-$pnt__")// arc 12 13 (#calc "-$pnt__" 5.0 0.0) arc 13 14 (0.0 5.0 $pnt__) arc 14 15 ($pnt__ 5.0 0.0) arc 15 12 (0.0 5.0 #calc "-$pnt__") // arc 52 53 (#calc "-$pnt__" 5.0 0.0) arc 53 54 (0.0 5.0 $pnt__) arc 54 55 ($pnt__ 5.0 0.0) arc 55 52 (0.0 5.0 #calc "-$pnt__")// ); boundary ( inlet { type patch; faces ( (0 23 24 16) (16 24 25 17) (17 25 18 1) (23 22 27 24) (24 27 26 25) //(60 63 62 61) (25 26 19 18) (22 3 21 27) (27 21 20 26) (26 20 2 19) ); } perf_op_outlet { type inletOutlet; faces ( //(12 13 14 15) (52 53 54 55) ); } wall_res_outlet { type patch; faces ( (8 12 13 9) (9 13 14 10) (10 14 15 11) (11 15 12 8) //(8 9 10 11) ); } wall_perf_outlet { type patch; faces ( (48 49 53 52) (49 50 54 53) (51 55 54 50) (48 52 55 51) //(51 50 49 48) ); } ///* tip_res { type wall; faces ( (8 9 10 11) //(56 57 58 59) ); } tip_perf { type wall; faces ( (51 50 49 48) ); } //*/ reservoir { type patch; faces ( (3 37 36 21) (37 7 45 36) (21 36 35 20) (36 45 44 35) (20 35 34 2) (35 44 6 34) (16 29 28 0) (29 40 4 28) (17 30 29 16) (30 41 40 29) (1 31 30 17) (31 5 41 30) ); } boundaries { type wall; faces ( (0 28 39 23) (28 4 47 39) (23 39 38 22) (39 47 46 38) (22 38 37 3) (38 46 7 37) (2 34 33 19) (34 6 43 33) (19 33 32 18) (33 43 42 32) (18 32 31 1) (32 42 5 31) ); } csg_cmt { type wall; faces ( (4 40 12 47) (40 41 13 12) (41 5 42 13) (13 42 43 14) (14 43 6 44) (15 14 44 45) (46 15 45 7) (47 12 15 46) ); } ); mergePatchPairs ( //(wall_res_outlet wall_perf_outlet) (wall_perf_outlet wall_res_outlet) //(tip_perf tip_res) //(tip_res tip_perf) ); // ************************************************************************* // Please help to understand this challenging issue. Last edited by Ali_Sh; September 23, 2021 at 11:39. Reason: Adding another need |
|
Tags |
blockmesh, blockmeshmerge, master slave, mergepatchpairs, stitchmesh |
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Radiation in semi-transparent media with surface-to-surface model? | mpeppels | CFX | 11 | August 22, 2019 08:30 |
big difference between clockTime and executionTime | LM4112 | OpenFOAM Running, Solving & CFD | 21 | February 15, 2019 04:05 |
foam-extend-3.2 Pstream: "MPI_ABORT was invoked" | craven.brent | OpenFOAM Running, Solving & CFD | 5 | November 18, 2015 08:55 |
Integer stack memory insufficient | mactech001 | CFX | 1 | May 15, 2014 07:22 |
Conjugate heat transfer | sunilpatil | CFX | 1 | January 25, 2013 12:42 |