Гм sh экспорт в .su2 меш - PullRequest
       38

Гм sh экспорт в .su2 меш

1 голос
/ 23 апреля 2020

В настоящее время я использую скрипт python, чтобы построить меня sh вокруг аэродинамического профиля. Тем не менее, как только m sh завершено, и пришло время экспортировать из формата Gm sh в .su2 me sh, возникает одна ошибка go неправильно. Файл me sh, созданный для SU2. Файл .su2 имеет точки, которые используются в процессе построения геометрии. Я пытался создать физические группы, а затем экспортировать, не нажимая сохранить все, но это было бесполезно. Текущий файл .geo выглядит следующим образом:

Point(1)={0.99655,0.00159,0,1};
Point(2)={0.98706,0.0065,0,1};
Point(3)={0.97304,0.01434,0,1};
Point(4)={0.9553,0.02381,0,1};
Point(5)={0.93358,0.03376,0,1};
Point(6)={0.90734,0.044,0,1};
Point(7)={0.87671,0.05481,0,1};
Point(8)={0.84221,0.0662,0,1};
Point(9)={0.80436,0.07803,0,1};
Point(10)={0.76373,0.0901,0,1};
Point(11)={0.7209,0.10215,0,1};
Point(12)={0.67644,0.11391,0,1};
Point(13)={0.63092,0.12506,0,1};
Point(14)={0.58491,0.13524,0,1};
Point(15)={0.53893,0.1441,0,1};
Point(16)={0.49347,0.15116,0,1};
Point(17)={0.4487,0.15593,0,1};
Point(18)={0.40464,0.15828,0,1};
Point(19)={0.36149,0.15824,0,1};
Point(20)={0.31947,0.1559,0,1};
Point(21)={0.27885,0.15138,0,1};
Point(22)={0.23987,0.14485,0,1};
Point(23)={0.20286,0.13657,0,1};
Point(24)={0.16816,0.12676,0,1};
Point(25)={0.13611,0.11562,0,1};
Point(26)={0.107,0.10337,0,1};
Point(27)={0.08106,0.09023,0,1};
Point(28)={0.05852,0.07646,0,1};
Point(29)={0.03953,0.06232,0,1};
Point(30)={0.02421,0.04812,0,1};
Point(31)={0.01262,0.03419,0,1};
Point(32)={0.00481,0.02093,0,1};
Point(33)={0.00071,0.00879,0,1};
Point(34)={2e-05,0.00088,0,1};
Point(35)={0.00033,-0.00192,0,1};
Point(36)={0.00071,-0.00362,0,1};
Point(37)={0.00125,-0.00518,0,1};
Point(38)={0.00157,-0.0059,0,1};
Point(39)={0.00194,-0.00656,0,1};
Point(40)={0.00237,-0.00717,0,1};
Point(41)={0.00288,-0.00771,0,1};
Point(42)={0.00348,-0.00823,0,1};
Point(43)={0.00415,-0.00874,0,1};
Point(44)={0.00571,-0.00969,0,1};
Point(45)={0.00751,-0.01057,0,1};
Point(46)={0.01065,-0.01177,0,1};
Point(47)={0.01365,-0.01266,0,1};
Point(48)={0.02892,-0.01485,0,1};
Point(49)={0.04947,-0.01482,0,1};
Point(50)={0.07533,-0.01236,0,1};
Point(51)={0.1067,-0.0074,0,1};
Point(52)={0.14385,-2e-05,0,1};
Point(53)={0.18727,0.00922,0,1};
Point(54)={0.23688,0.01913,0,1};
Point(55)={0.29196,0.02865,0,1};
Point(56)={0.35163,0.03687,0,1};
Point(57)={0.41449,0.04283,0,1};
Point(58)={0.47867,0.04626,0,1};
Point(59)={0.54275,0.0476,0,1};
Point(60)={0.60579,0.04715,0,1};
Point(61)={0.6669,0.04501,0,1};
Point(62)={0.72503,0.04126,0,1};
Point(63)={0.77912,0.03625,0,1};
Point(64)={0.82836,0.0305,0,1};
Point(65)={0.87219,0.02444,0,1};
Point(66)={0.91012,0.01844,0,1};
Point(67)={0.94179,0.01286,0,1};
Point(68)={0.96692,0.00794,0,1};
Point(69)={0.98519,0.0039,0,1};
Point(70)={0.99629,0.00106,0,1};
Point(71)={0.99655,0.25159,0,1};
Point(72)={0.67644,0.36391,0,1};
Point(73)={0.20286,0.38656999999999997,0,1};
Point(74)={-0.75,0,0,1};
Point(75)={0.23688,-0.23087,0,1};
Point(76)={0.72503,-0.20874,0,1};
Point(77)={0.99629,-0.24894,0,1};
Point(78)={0.99655,10.13657,0,1};
Point(79)={0.20286,10.13657,0,1};
Point(80)={-30,0,0,1};
Point(81)={0.23688,-9.98087,0,1};
Point(82)={0.99629,-9.98087,0,1};
BSpline(1)={1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23};
Transfinite Curve {1}=20 Using Progression 1;
BSpline(2)={23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54};
Transfinite Curve {2}=50 Using Progression 1;
BSpline(3)={54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70};
Transfinite Curve {3}=20 Using Progression 1;
BSpline(4)={71, 72, 73};
Transfinite Curve {4}=20 Using Progression 1;
BSpline(5)={73, 74, 75};
Transfinite Curve {5}=50 Using Progression 1;
BSpline(6)={75, 76, 77};
Transfinite Curve {6}=20 Using Progression 1;
BSpline(7)={79, 80, 81};
Transfinite Curve {7}=50 Using Progression 1;
Line(8)={70,1};
Transfinite Curve {8}=5 Using Progression 1;
Line(9)={1,71};
Transfinite Curve {9}=10 Using Progression 1.2;
Line(10)={71,78};
Transfinite Curve {10}=10 Using Progression 1;
Line(11)={78,79};
Transfinite Curve {11}=20 Using Progression 1;
Line(12)={79,73};
Transfinite Curve {12}=10 Using Progression 1;
Line(13)={23,73};
Transfinite Curve {13}=10 Using Progression 1.2;
Line(14)={54,75};
Transfinite Curve {14}=10 Using Progression 1.2;
Line(15)={75,81};
Transfinite Curve {15}=10 Using Progression 1;
Line(16)={81,82};
Transfinite Curve {16}=20 Using Progression 1;
Line(17)={82,77};
Transfinite Curve {17}=10 Using Progression 1;
Line(18)={70,77};
Transfinite Curve {18}=10 Using Progression 1.2;
Point(83)={20.99655,10.13657,0,1};
Point(84)={20.99655,0.25159,0,1};
Point(85)={20.99655,0.00159,0,1};
Point(86)={20.99655,0.00106,0,1};
Point(87)={20.99655,-0.24894,0,1};
Point(88)={20.99655,-9.98087,0,1};
Line(19)={78,83};
Transfinite Curve {19}=20 Using Progression 1;
Line(20)={71,84};
Transfinite Curve {20}=20 Using Progression 1;
Line(21)={1,85};
Transfinite Curve {21}=20 Using Progression 1;
Line(22)={70,86};
Transfinite Curve {22}=20 Using Progression 1;
Line(23)={77,87};
Transfinite Curve {23}=20 Using Progression 1;
Line(24)={82,88};
Transfinite Curve {24}=20 Using Progression 1;
Line(25)={86,85};
Transfinite Curve {25}=5 Using Progression 1;
Line(26)={85,84};
Transfinite Curve {26}=10 Using Progression 1.2;
Line(27)={84,83};
Transfinite Curve {27}=10 Using Progression 1;
Line(28)={86,87};
Transfinite Curve {28}=10 Using Progression 1.2;
Line(29)={87,88};
Transfinite Curve {29}=10 Using Progression 1;
Curve Loop(1) = {12, 5, 15, -7};Curve Loop(2) = {14, -5, -13, 2};Curve Loop(3) = {10, 11, 12, -4};Curve Loop(4) = {9, 4, -13, -1};Curve Loop(5) = {3, 18, -6, -14};Curve Loop(6) = {6, -17, -16, -15};Curve Loop(7) = {19, -27, -20, 10};Curve Loop(8) = {20, -26, -21, 9};Curve Loop(9) = {25, -21, -8, 22};Curve Loop(10) = {22, 28, -23, -18};Curve Loop(11) = {23, 29, -24, 17};Plane Surface(1) = {1};
 Transfinite Surface {1};
 Recombine Surface {1};
 Plane Surface(2) = {2};
 Transfinite Surface {2};
 Recombine Surface {2};
 Plane Surface(3) = {3};
 Transfinite Surface {3};
 Recombine Surface {3};
 Plane Surface(4) = {4};
 Transfinite Surface {4};
 Recombine Surface {4};
 Plane Surface(5) = {5};
 Transfinite Surface {5};
 Recombine Surface {5};
 Plane Surface(6) = {6};
 Transfinite Surface {6};
 Recombine Surface {6};
 Plane Surface(7) = {7};
 Transfinite Surface {7};
 Recombine Surface {7};
 Plane Surface(8) = {8};
 Transfinite Surface {8};
 Recombine Surface {8};
 Plane Surface(9) = {9};
 Transfinite Surface {9};
 Recombine Surface {9};
 Plane Surface(10) = {10};
 Transfinite Surface {10};
 Recombine Surface {10};
 Plane Surface(11) = {11};
 Transfinite Surface {11};
 Recombine Surface {11};
Physical Curve("airfoil") = {1, 2, 3,8};
Physical Curve("farfield") = {25, 26, 27, 19, 11, 7, 16, 24, 29, 28};
Physical Surface("domain") = {1, 3, 7, 11, 8, 10, 6, 5, 2, 4,9};

1 Ответ

0 голосов
/ 24 апреля 2020

Это немного странно, и я не знаю, как решить проблему стандартным способом, потому что эти объекты (скажем, Point 80 в (-30,0,0)) появляются даже в родном GM SH me sh формат. «Точки построения» присутствуют в формате msh v4 , который был представлен сравнительно недавно. И хотя я уверен, что есть способ отключить их экспорт, я не знаю точно, как.

Однако я нашел обходной путь. В качестве альтернативы стандартному рабочему процессу вы можете использовать msh v2 прежний формат . В этом случае я вижу чистую меня sh без лишних очков:

enter image description here

Затем вы можете использовать этот msh v2 файл для конвертации это любой другой формат sh по вашему выбору.

Чтобы получить msh v2, я использую командную строку:

/Applications/Gmsh.app/Contents/MacOS/gmsh -2 -format msh2 test.geo 

Если вы используете Windows или GM SH двоичный файл установлен любым другим способом, скорректируйте ваш путь к исполняемому файлу GM SH.

Хотя этот ответ не удовлетворяет меня на 100%, он должен предложить хотя бы временный обходной путь.

...