Transfinite Curve Progression for two Lines
Hi
I’m trying to simulate a nozzle flow into a box for an axisymmetric case. I want to create a structured mesh with higher density near the nozzle (Progression). To get the correct boundary conditions, I must define two lines near the nozzle. Is there a way to make GMSH behave like the two lines are one when using the transfinite progression command? I have tried the Compound line but can't get it to work. I have attached a picture of my domain. And this is my code:
// Gmsh project created on Tue Feb 20 10:09:58 2024
SetFactory("OpenCASCADE");
//+
Point(1) = {0, 400, 0, 1.0};
//+
Point(2) = {1400, 400, 0, 1.0};
//+
Point(3) = {1400, 0, 0, 1.0};
//+
Point(4) = {1400, 6.65, 0, 1.0};
//+
Point(5) = {1425.3, 12.65, 0, 1.0};
//+
Point(6) = {1425.3+22+45+34.95, 12.65, 0, 1.0};
//+
Point(7) = {1425.3+22+45+34.95, 0, 0, 1.0};
//+
Point(8) = {1400+2.53*1, 6.70136001, 0, 1.0};
//+
Point(9) = {1400+2.53*2, 6.99751999, 0, 1.0};
//+
Point(10) = {1400+2.53*3, 7.62848, 0, 1.0};
//+
Point(11) = {1400+2.53*4, 8.554639999, 0, 1.0};
//+
Point(12) = {1400+2.53*5, 9.65, 0, 1.0};
//+
Point(13) = {1400+2.53*6, 10.74536, 0, 1.0};
//+
Point(14) = {1400+2.53*7, 11.67152, 0, 1.0};
//+
Point(15) = {1400+2.53*8, 12.30248, 0, 1.0};
//+
Point(16) = {1400+2.53*9, 12.59864, 0, 1.0};
//+
Point(17) = {0, 0, 0, 1.0};
//+
Point(18) = {0, 40, 0, 1.0};
//+
Point(19) = {1400+25.3, 0, 0, 1.0};
//+
Point(20) = {0, 6.65, 0, 1.0};
//+
Point(21) = {1400, 40, 0, 1.0};
//+
Line(1) = {5, 6};
//+
Line(2) = {6, 7};
//+
Line(3) = {3, 19};
//+
Line(4) = {4, 3};
//+
Line(5) = {1, 2};
//+
Line(6) = {2, 21};
//+
Spline(7) = {4, 8, 9, 10, 11, 12, 13, 14, 15, 16, 5};
//+
Line(8) = {1, 18};
//+
Line(9) = {19, 5};
//+
Line(10) = {7, 19};
//+
Line(11) = {17, 3};
//+
Line(12) = {18, 20};
//+
Line(13) = {21, 4};
//+
Line(14) = {20, 17};
//+
Curve Loop(1) = {5, 6, 13, 4, -11, -14, -12, -8};
//+
Plane Surface(1) = {1};
//+
Curve Loop(2) = {3, 9, -7, 4};
//+
Plane Surface(2) = {2};
//+
Curve Loop(3) = {1, 2, 10, 9};
//+
Plane Surface(3) = {3};
//+
Transfinite Surface {1} = {17, 3, 2, 1};
//+
Transfinite Surface {3} = {19, 7, 6, 5};
//+
Transfinite Curve {8, 12} = 20 Using Progression 1;
//+
Transfinite Curve {6, 13} = 20 Using Progression 0.6;
//+
Recombine Surface {1};
//+
Recombine Surface {3};
//+
Transfinite Curve {4, 14} = 10 Using Progression 1;
//+
Transfinite Curve {11, 5} = 700 Using Progression 0.999;
It is line 8 and 12, and 6 and 13, that I want GMSH to consider as one line when using Transfinite Curve
Edited by Christophe Geuzaine