[Gmsh] Support for a high order grid for the AIAA workshop 'High order methods for CFD'
Christophe Geuzaine
cgeuzaine at ulg.ac.be
Sat Sep 10 08:26:39 CEST 2011
On 05 Sep 2011, at 14:50, Jean-Marie.Le_Gouez at Onera.fr wrote:
> We are participating at ONERA to the workshop "High order Methods for CFD" organized by ZJ Wang and al.
> The geometry for the 3-element airfoil case is provided on the workshop site :
> http://www.public.iastate.edu/~zjw/hiocfd/3-element-airfoil.IGS
> in IGES format, as Nurbs.
> We have created the following geometry description file HighLift.geo, where the Nurbs are declared as BSplines.
> We just reproduced the same definition points, without duplicating the end points.
> Is this correct ?
> Now the HighLift.geo is parsed correctly by the gmsh 2.5.0 preprocessor, and the mesh as triangles only is correct; However it seems that when requesting high order triangles on the boundaries, there is no difference from 2nd order on.
> Is this a consequence of an improper definition of BSplines ?
Hi Jean-Marie,
No, it's just a visualization artefact: set Mesh.NumSubEdges to something higher than 2 (the option is also available in the GUI in Options->Mesh->Aspect).
Hope this helps,
Christophe
> What is the difference with Splines ?
> Thank you for your support
>
> Jean-Marie Le Gouez
> Thien Hiep Le
>
> DSNA
> Onera Chatillon
> TEL +33 1 46 73 42 62
>
> // Semi-Circle external boundary
> //
> // Echelle : 1
> //
> lc = 1.300;
> Point(001) = {0.0,0.0,0.0,lc};
> Point(002) = {0.0,10,0.0,lc};
> Point(003) = {-10,0.0,0.0,lc};
> Circle(501) = {002,001,003};
> Point(004) = {0,-10,0.0,lc};
> Circle(502) = {003,001,004};
> //
> Point(005) = {12,-10,0.0,lc};
> Point(006) = {12,-0.0,0.0,0.05};
> Point(007) = {12,10,0.0,lc};
> Line(503) = {004,005};
> Line(504) = {005,006};
> Line(505) = {006,007};
> Line(506)= {007,002};
> //
> Line Loop(01)= {501,502,503,504,505,506};
> //
> lc=0.0025;
> //
> Point(0008) = { 6.3022370000E-01, -8.1584141000E-02,0.0,lc};
> Point(0009) = { 6.3000970000E-01, -8.1402592000E-02,0.0,lc};
> Point(0010) = { 6.2929460000E-01, -8.0796033000E-02,0.0,lc};
> Point(0011) = { 6.2770660000E-01, -7.9448573000E-02,0.0,lc};
> Point(0012) = { 6.2513800000E-01, -7.7265158000E-02,0.0,lc};
> Point(0013) = { 6.2153720000E-01, -7.4274227000E-02,0.0,lc};
> Point(0014) = { 6.1690030000E-01, -7.0678532000E-02,0.0,lc};
> Point(0015) = { 6.1131870000E-01, -6.6527769000E-02,0.0,lc};
> Point(0016) = { 6.0487110000E-01, -6.1910260000E-02,0.0,lc};
> Point(0017) = { 5.9760910000E-01, -5.6982771000E-02,0.0,lc};
> Point(0018) = { 5.8957980000E-01, -5.1939599000E-02,0.0,lc};
> Point(0019) = { 5.8088250000E-01, -4.6927091000E-02,0.0,lc};
> Point(0020) = { 5.7169050000E-01, -4.1978888000E-02,0.0,lc};
> Point(0021) = { 5.6216360000E-01, -3.7156880000E-02,0.0,lc};
> Point(0022) = { 5.5245120000E-01, -3.2555819000E-02,0.0,lc};
> Point(0023) = { 5.4272510000E-01, -2.8232610000E-02,0.0,lc};
> Point(0024) = { 5.3316910000E-01, -2.4216879000E-02,0.0,lc};
> Point(0025) = { 5.2396330000E-01, -2.0533090000E-02,0.0,lc};
> Point(0026) = { 5.1527730000E-01, -1.7219180000E-02,0.0,lc};
> Point(0027) = { 5.0728720000E-01, -1.4271320000E-02,0.0,lc};
> Point(0028) = { 5.0016680000E-01, -1.1820750000E-02,0.0,lc};
> Point(0029) = { 4.9430010000E-01, -8.8845231000E-03,0.0,lc};
> Point(0030) = { 4.9039240000E-01, -5.0004409000E-03,0.0,lc};
> Point(0031) = { 4.8785360000E-01, -1.2025980000E-03,0.0,lc};
> Point(0032) = { 4.8685500000E-01, 2.0433280000E-03,0.0,lc};
> Point(0033) = { 4.8692480000E-01, 4.4479691000E-03,0.0,lc};
> Point(0034) = { 4.8734270000E-01, 6.1229798000E-03,0.0,lc};
> Point(0035) = { 4.8809500000E-01, 7.6731378000E-03,0.0,lc};
> Point(0036) = { 4.8914450000E-01, 9.0511581000E-03,0.0,lc};
> Point(0037) = { 4.9046980000E-01, 1.0205040000E-02,0.0,lc};
> Point(0038) = { 4.9205120000E-01, 1.1097110000E-02,0.0,lc};
> Point(0039) = { 4.9387090000E-01, 1.1719210000E-02,0.0,lc};
> Point(0040) = { 4.9591960000E-01, 1.2085780000E-02,0.0,lc};
> Point(0041) = { 4.9819490000E-01, 1.2209040000E-02,0.0,lc};
> Point(0042) = { 5.0069320000E-01, 1.2095600000E-02,0.0,lc};
> Point(0043) = { 5.0340880000E-01, 1.1749860000E-02,0.0,lc};
> Point(0044) = { 5.0633450000E-01, 1.1179010000E-02,0.0,lc};
> Point(0045) = { 5.0946260000E-01, 1.0391300000E-02,0.0,lc};
> Point(0046) = { 5.1278280000E-01, 9.3934620000E-03,0.0,lc};
> Point(0047) = { 5.1628180000E-01, 8.1881043000E-03,0.0,lc};
> Point(0048) = { 5.1994300000E-01, 6.7752819000E-03,0.0,lc};
> Point(0049) = { 5.2374910000E-01, 5.1563731000E-03,0.0,lc};
> Point(0050) = { 5.2910370000E-01, 2.6808891000E-03,0.0,lc};
> Point(0051) = { 5.3603890000E-01, -8.8738301000E-04,0.0,lc};
> Point(0052) = { 5.4452280000E-01, -5.7657370000E-03,0.0,lc};
> Point(0053) = { 5.5318890000E-01, -1.1247710000E-02,0.0,lc};
> Point(0054) = { 5.6190470000E-01, -1.7231589000E-02,0.0,lc};
> Point(0055) = { 5.7049000000E-01, -2.3664590000E-02,0.0,lc};
> Point(0056) = { 5.7886520000E-01, -3.0334080000E-02,0.0,lc};
> Point(0057) = { 5.8705600000E-01, -3.6918320000E-02,0.0,lc};
> Point(0058) = { 5.9483510000E-01, -4.3422859000E-02,0.0,lc};
> Point(0059) = { 6.0207450000E-01, -4.9742829000E-02,0.0,lc};
> Point(0060) = { 6.0866890000E-01, -5.5757321000E-02,0.0,lc};
> Point(0061) = { 6.1451190000E-01, -6.1353002000E-02,0.0,lc};
> Point(0062) = { 6.1953920000E-01, -6.6378467000E-02,0.0,lc};
> Point(0063) = { 6.2376640000E-01, -7.0627727000E-02,0.0,lc};
> Point(0064) = { 6.2713700000E-01, -7.4008450000E-02,0.0,lc};
> Point(0065) = { 6.2936920000E-01, -7.6256789000E-02,0.0,lc};
> Point(0066) = { 6.3065950000E-01, -7.7554747000E-02,0.0,lc};
> Point(0067) = { 6.3130930000E-01, -7.8208350000E-02,0.0,lc};
> Point(0068) = { 6.3167450000E-01, -7.8574881000E-02,0.0,lc};
> Point(0069) = { 6.3185600000E-01, -7.8756988000E-02,0.0,lc};
> Point(0070) = { 6.3185600000E-01, -7.8756988000E-02,0.0,lc};
> Point(0071) = { 6.3022370000E-01, -8.1584141000E-02,0.0,lc};
> Point(0072) = { 4.8833160000E-01, 1.7120181000E-02,0.0,lc};
> Point(0073) = { 4.8844540000E-01, 1.7293179000E-02,0.0,lc};
> Point(0074) = { 1.0386140000E-02, 3.0789529000E-03,0.0,lc};
> Point(0075) = { 1.0512150000E-02, 2.8606991000E-03,0.0,lc};
> Point(0076) = { -1.4626160000E-02, -6.0385160000E-02,0.0,lc};
> Point(0077) = { -1.4775640000E-02, -6.0126260000E-02,0.0,lc};
> Point(0078) = { 3.9116000000E-01, -9.6247708000E-03,0.0,lc};
> Point(0079) = { 3.9116000000E-01, 1.7938601000E-02,0.0,lc};
> Point(0080) = { 4.8833160000E-01, 1.7120181000E-02,0.0,lc};
> Point(0081) = { 4.8388170000E-01, 1.7411759000E-02,0.0,lc};
> Point(0082) = { 4.5154760000E-01, 1.9530410000E-02,0.0,lc};
> Point(0083) = { 4.1912260000E-01, 1.8675691000E-02,0.0,lc};
> Point(0084) = { 3.9116000000E-01, 1.7938601000E-02,0.0,lc};
> Point(0085) = { 4.8844540000E-01, 1.7293179000E-02,0.0,lc};
> Point(0086) = { 4.8396130000E-01, 1.8100230000E-02,0.0,lc};
> Point(0087) = { 4.7484410000E-01, 1.9741140000E-02,0.0,lc};
> Point(0088) = { 4.6102150000E-01, 2.1713721000E-02,0.0,lc};
> Point(0089) = { 4.4705220000E-01, 2.3591220000E-02,0.0,lc};
> Point(0090) = { 4.3307940000E-01, 2.5259860000E-02,0.0,lc};
> Point(0091) = { 4.1910810000E-01, 2.6765160000E-02,0.0,lc};
> Point(0092) = { 4.0949370000E-01, 2.7690191000E-02,0.0,lc};
> Point(0093) = { 4.0017990000E-01, 2.8533690000E-02,0.0,lc};
> Point(0094) = { 3.9366170000E-01, 2.9094400000E-02,0.0,lc};
> Point(0095) = { 3.8082650000E-01, 3.0088371000E-02,0.0,lc};
> Point(0096) = { 3.7151100000E-01, 3.0723009000E-02,0.0,lc};
> Point(0097) = { 3.5928150000E-01, 3.1530049000E-02,0.0,lc};
> Point(0098) = { 3.4217980000E-01, 3.2471739000E-02,0.0,lc};
> Point(0099) = { 3.1424260000E-01, 3.3694059000E-02,0.0,lc};
> Point(0100) = { 2.8522550000E-01, 3.4376182000E-02,0.0,lc};
> Point(0101) = { 2.5609920000E-01, 3.4661200000E-02,0.0,lc};
> Point(0102) = { 2.2731500000E-01, 3.4539610000E-02,0.0,lc};
> Point(0103) = { 1.9887730000E-01, 3.3909749000E-02,0.0,lc};
> Point(0104) = { 1.7653890000E-01, 3.3094611000E-02,0.0,lc};
> Point(0105) = { 1.6044950000E-01, 3.2393660000E-02,0.0,lc};
> Point(0106) = { 1.4025500000E-01, 3.1251639000E-02,0.0,lc};
> Point(0107) = { 1.1955640000E-01, 2.9856380000E-02,0.0,lc};
> Point(0108) = { 1.0149000000E-01, 2.8209779000E-02,0.0,lc};
> Point(0109) = { 9.0858869000E-02, 2.7204530000E-02,0.0,lc};
> Point(0110) = { 8.4241979000E-02, 2.6325719000E-02,0.0,lc};
> Point(0111) = { 7.8328729000E-02, 2.4983490000E-02,0.0,lc};
> Point(0112) = { 7.2744399000E-02, 2.3584159000E-02,0.0,lc};
> Point(0113) = { 6.7347713000E-02, 2.2060510000E-02,0.0,lc};
> Point(0114) = { 6.2001761000E-02, 2.0368150000E-02,0.0,lc};
> Point(0115) = { 5.6718390000E-02, 1.8488539000E-02,0.0,lc};
> Point(0116) = { 5.1514812000E-02, 1.6397400000E-02,0.0,lc};
> Point(0117) = { 4.6415601000E-02, 1.4062260000E-02,0.0,lc};
> Point(0118) = { 4.1628521000E-02, 1.1529060000E-02,0.0,lc};
> Point(0119) = { 3.6862899000E-02, 8.5701980000E-03,0.0,lc};
> Point(0120) = { 3.2387119000E-02, 5.1794732000E-03,0.0,lc};
> Point(0121) = { 2.8293161000E-02, 1.0372200000E-03,0.0,lc};
> Point(0122) = { 2.5282390000E-02, -3.7140290000E-03,0.0,lc};
> Point(0123) = { 2.4100279000E-02, -8.5415337000E-03,0.0,lc};
> Point(0124) = { 2.5146451000E-02, -1.2823780000E-02,0.0,lc};
> Point(0125) = { 2.7188540000E-02, -1.5388710000E-02,0.0,lc};
> Point(0126) = { 2.9439630000E-02, -1.6795430000E-02,0.0,lc};
> Point(0127) = { 3.1419169000E-02, -1.7260760000E-02,0.0,lc};
> Point(0128) = { 3.4586959000E-02, -1.7888030000E-02,0.0,lc};
> Point(0129) = { 3.9152302000E-02, -1.8768650000E-02,0.0,lc};
> Point(0130) = { 4.4752229000E-02, -1.9728441000E-02,0.0,lc};
> Point(0131) = { 5.1230580000E-02, -2.0767249000E-02,0.0,lc};
> Point(0132) = { 5.8274820000E-02, -2.1757510000E-02,0.0,lc};
> Point(0133) = { 7.0853733000E-02, -2.3598161000E-02,0.0,lc};
> Point(0134) = { 8.9728668000E-02, -2.5450230000E-02,0.0,lc};
> Point(0135) = { 1.1600730000E-01, -2.7730521000E-02,0.0,lc};
> Point(0136) = { 1.4548800000E-01, -2.9404420000E-02,0.0,lc};
> Point(0137) = { 1.7146190000E-01, -3.0245589000E-02,0.0,lc};
> Point(0138) = { 1.9888260000E-01, -3.0591240000E-02,0.0,lc};
> Point(0139) = { 2.2733860000E-01, -3.0286130000E-02,0.0,lc};
> Point(0140) = { 2.5612790000E-01, -2.8877219000E-02,0.0,lc};
> Point(0141) = { 2.8526860000E-01, -2.6476020000E-02,0.0,lc};
> Point(0142) = { 3.1432900000E-01, -2.3053849000E-02,0.0,lc};
> Point(0143) = { 3.4222040000E-01, -1.8602150000E-02,0.0,lc};
> Point(0144) = { 3.5927750000E-01, -1.5494630000E-02,0.0,lc};
> Point(0145) = { 3.6965410000E-01, -1.3658280000E-02,0.0,lc};
> Point(0146) = { 3.7895820000E-01, -1.1882770000E-02,0.0,lc};
> Point(0147) = { 3.8743410000E-01, -1.0314260000E-02,0.0,lc};
> Point(0148) = { 3.9116000000E-01, -9.6247708000E-03,0.0,lc};
> Point(0149) = { -1.4775640000E-02, -6.0126260000E-02,0.0,lc};
> Point(0150) = { -1.5195580000E-02, -6.0214560000E-02,0.0,lc};
> Point(0151) = { -1.6452629000E-02, -6.0478881000E-02,0.0,lc};
> Point(0152) = { -1.9443760000E-02, -5.9916630000E-02,0.0,lc};
> Point(0153) = { -2.3005599000E-02, -5.7234019000E-02,0.0,lc};
> Point(0154) = { -2.4391869000E-02, -5.2314710000E-02,0.0,lc};
> Point(0155) = { -2.4403060000E-02, -4.7448918000E-02,0.0,lc};
> Point(0156) = { -2.3469901000E-02, -4.2648450000E-02,0.0,lc};
> Point(0157) = { -2.2098940000E-02, -3.8474269000E-02,0.0,lc};
> Point(0158) = { -2.0525491000E-02, -3.4732431000E-02,0.0,lc};
> Point(0159) = { -1.8731659000E-02, -3.1090889000E-02,0.0,lc};
> Point(0160) = { -1.6480589000E-02, -2.7148550000E-02,0.0,lc};
> Point(0161) = { -1.3824230000E-02, -2.3065330000E-02,0.0,lc};
> Point(0162) = { -1.0961210000E-02, -1.9124709000E-02,0.0,lc};
> Point(0163) = { -7.9165837000E-03, -1.5323080000E-02,0.0,lc};
> Point(0164) = { -4.7042752000E-03, -1.1662200000E-02,0.0,lc};
> Point(0165) = { -1.3420070000E-03, -8.1379479000E-03,0.0,lc};
> Point(0166) = { 1.7865821000E-03, -5.1538981000E-03,0.0,lc};
> Point(0167) = { 4.5734858000E-03, -2.6068389000E-03,0.0,lc};
> Point(0168) = { 6.9478708000E-03, -4.1887601000E-04,0.0,lc};
> Point(0169) = { 8.9278221000E-03, 1.4032590000E-03,0.0,lc};
> Point(0170) = { 1.0116010000E-02, 2.4962840000E-03,0.0,lc};
> Point(0171) = { 1.0512150000E-02, 2.8606991000E-03,0.0,lc};
> Point(0172) = { 1.0386140000E-02, 3.0789529000E-03,0.0,lc};
> Point(0173) = { 8.9908708000E-03, 2.0372320000E-03,0.0,lc};
> Point(0174) = { 4.4687148000E-03, -1.3390620000E-03,0.0,lc};
> Point(0175) = { -2.8891179000E-03, -6.9776969000E-03,0.0,lc};
> Point(0176) = { -1.3774860000E-02, -1.5624590000E-02,0.0,lc};
> Point(0177) = { -2.5343090000E-02, -2.5399230000E-02,0.0,lc};
> Point(0178) = { -3.5204262000E-02, -3.4825198000E-02,0.0,lc};
> Point(0179) = { -4.1126668000E-02, -4.1674010000E-02,0.0,lc};
> Point(0180) = { -4.4285391000E-02, -4.6083391000E-02,0.0,lc};
> Point(0181) = { -4.6472210000E-02, -5.0118070000E-02,0.0,lc};
> Point(0182) = { -4.7645941000E-02, -5.3798709000E-02,0.0,lc};
> Point(0183) = { -4.7800250000E-02, -5.7136022000E-02,0.0,lc};
> Point(0184) = { -4.6835870000E-02, -6.0027879000E-02,0.0,lc};
> Point(0185) = { -4.4824552000E-02, -6.2294699000E-02,0.0,lc};
> Point(0186) = { -4.1883379000E-02, -6.3763000000E-02,0.0,lc};
> Point(0187) = { -3.8153801000E-02, -6.4527400000E-02,0.0,lc};
> Point(0188) = { -3.3616859000E-02, -6.4549699000E-02,0.0,lc};
> Point(0189) = { -2.8288800000E-02, -6.3898399000E-02,0.0,lc};
> Point(0190) = { -2.1844110000E-02, -6.2509663000E-02,0.0,lc};
> Point(0191) = { -1.7234450000E-02, -6.1152872000E-02,0.0,lc};
> Point(0192) = { -1.4626160000E-02, -6.0385160000E-02,0.0,lc};
> BSpline (511) = {008,009,010,011,012,013,
> 014,015,016,017,018,019,020,021,
> 022,023,024,025,026,027,028,029,
> 030,031,032,033,034,035,036,037,
> 038,039,040,041,042,043,044,045,
> 046,047,048,049,050,051,052,053,
> 054,055,056,057,058,059,060,061,
> 062,063,064,065,066,067,068,069};
> // Line (512) = {070,071};
> Line (512) = {069,008};
> Line (513) = {080,085};
> Line (514) = {171,172};
> Line (515) = {192,149};
> Line (516) = {148,084};
> Line (517) = {080,081,082,083,084};
> BSpline (518) = {085,086,087,088,089,090,091,092,
> 093,094,095,096,097,098,099,100,
> 101,102,103,104,105,106,107,108,
> 109,110,111,112,113,114,115,116,
> 117,118,119,120,121,122,123,124,
> 125,126,127,128,129,130,131,132,
> 133,134,135,136,137,138,139,140,
> 141,142,143,144,145,146,147,148};
> BSpline (519) = {149,150,151,152,153,154,155,
> 156,157,158,159,160,161,162,163,
> 164,165,166,167,168,169,170,171};
> BSpline (520) = {172,173,174,175,176,
> 177,178,179,180,181,182,183,184,
> 185,186,187,188,189,190,191,192};
> // COM
> Line Loop(02) = {511,512};
> Line Loop(03) = {516,-517,513,518};
> Line Loop(04) = {515,519,514,520};
> //
> // Plane Surface
> //
> Plane Surface( 1) = {-01,-02,-03,-04};
> _______________________________________________
> gmsh mailing list
> gmsh at geuz.org
> http://www.geuz.org/mailman/listinfo/gmsh
--
Prof. Christophe Geuzaine
University of Liege, Electrical Engineering and Computer Science
http://www.montefiore.ulg.ac.be/~geuzaine