概要
- コードのテストなどに使用する「適当な」非構造格子の生成方法です。
- ParaViewから出力する簡易なフォーマットを使用します。
- 汎用の格子フォーマット入出力を持っていない人でもパースしやすいです。
- 利益があるかもしれない人の例
- P○intwiseとか使える環境無いし手元のコードには汎用格子フォーマットの入出力無いし書くのも興味無いけど適当な非構造格子で自分のコードをテストしたい
準備
- ParaViewを用意します
- sudo apt update
- sudo apt install paraview -y
- 端末で"paraview"を実行してGUIが立ち上がる事を確認します
分割元の適当な格子を用意する
外枠となる格子が必要です。中の分割は何でも可ですが、最終的に作成したい「適当な格子」と同等な密度にしておく必要があります。
ここでは以下のようなデータ(original.tec)を元の格子とします。
手元では2次元のTecplot形式を使用しました。
original.tec
VARIABLES=X,Y
ZONE I= 25 ,J= 20 ,F=POINT
-0.14999999999999999 0.0000000000000000
-0.11249999999999999 0.0000000000000000
-7.4999999999999997E-002 0.0000000000000000
-3.7500000000000006E-002 0.0000000000000000
0.0000000000000000 0.0000000000000000
3.1250000000000000E-002 1.1374069812500000E-002
6.2500000000000000E-002 2.2748139625000000E-002
9.3750000000000000E-002 3.4122209437500002E-002
0.12500000000000000 4.5496279250000000E-002
0.15625000000000000 5.6870349062499999E-002
0.18750000000000000 6.8244418875000004E-002
0.21875000000000000 7.9618488687500003E-002
0.25000000000000000 9.0992558500000001E-002
0.28125000000000000 0.10236662831250000
0.31250000000000000 0.11374069812500000
0.34375000000000000 0.12511476793750001
0.37500000000000000 0.13648883775000001
0.40625000000000000 0.14786290756250001
0.43750000000000000 0.15923697737500001
0.46875000000000000 0.17061104718750000
0.50000000000000000 0.18198511700000000
0.53749999999999998 0.18198511700000000
0.57499999999999996 0.18198511700000000
0.61250000000000004 0.18198511700000000
0.65000000000000002 0.18198511700000000
-0.14999999999999999 3.1578947368421040E-002
-0.11249999999999999 3.1578947368421054E-002
-7.4999999999999997E-002 3.1578947368421054E-002
-3.7500000000000006E-002 3.1578947368421054E-002
0.0000000000000000 3.1578947368421054E-002
3.1250000000000000E-002 4.2354381927631579E-002
6.2500000000000000E-002 5.3129816486842105E-002
9.3750000000000000E-002 6.3905251046052630E-002
0.12500000000000000 7.4680685605263156E-002
0.15625000000000000 8.5456120164473681E-002
0.18750000000000000 9.6231554723684221E-002
0.21875000000000000 0.10700698928289473
0.25000000000000000 0.11778242384210527
0.28125000000000000 0.12855785840131578
0.31250000000000000 0.13933329296052632
0.34375000000000000 0.15010872751973686
0.37500000000000000 0.16088416207894737
0.40625000000000000 0.17165959663815791
0.43750000000000000 0.18243503119736842
0.46875000000000000 0.19321046575657896
0.50000000000000000 0.20398590031578948
0.53749999999999998 0.20398590031578948
0.57499999999999996 0.20398590031578948
0.61250000000000004 0.20398590031578948
0.65000000000000002 0.20398590031578948
-0.14999999999999999 6.3157894736842080E-002
-0.11249999999999999 6.3157894736842107E-002
-7.4999999999999997E-002 6.3157894736842107E-002
-3.7500000000000006E-002 6.3157894736842107E-002
0.0000000000000000 6.3157894736842107E-002
3.1250000000000000E-002 7.3334694042763160E-002
6.2500000000000000E-002 8.3511493348684213E-002
9.3750000000000000E-002 9.3688292654605265E-002
0.12500000000000000 0.10386509196052632
0.15625000000000000 0.11404189126644737
0.18750000000000000 0.12421869057236842
0.21875000000000000 0.13439548987828948
0.25000000000000000 0.14457228918421053
0.28125000000000000 0.15474908849013158
0.31250000000000000 0.16492588779605263
0.34375000000000000 0.17510268710197369
0.37500000000000000 0.18527948640789474
0.40625000000000000 0.19545628571381579
0.43750000000000000 0.20563308501973684
0.46875000000000000 0.21580988432565790
0.50000000000000000 0.22598668363157895
0.53749999999999998 0.22598668363157895
0.57499999999999996 0.22598668363157895
0.61250000000000004 0.22598668363157895
0.65000000000000002 0.22598668363157895
-0.14999999999999999 9.4736842105263119E-002
-0.11249999999999999 9.4736842105263161E-002
-7.4999999999999997E-002 9.4736842105263161E-002
-3.7500000000000006E-002 9.4736842105263161E-002
0.0000000000000000 9.4736842105263161E-002
3.1250000000000000E-002 0.10431500615789473
6.2500000000000000E-002 0.11389317021052631
9.3750000000000000E-002 0.12347133426315790
0.12500000000000000 0.13304949831578947
0.15625000000000000 0.14262766236842103
0.18750000000000000 0.15220582642105263
0.21875000000000000 0.16178399047368419
0.25000000000000000 0.17136215452631581
0.28125000000000000 0.18094031857894738
0.31250000000000000 0.19051848263157894
0.34375000000000000 0.20009664668421054
0.37500000000000000 0.20967481073684213
0.40625000000000000 0.21925297478947370
0.43750000000000000 0.22883113884210526
0.46875000000000000 0.23840930289473683
0.50000000000000000 0.24798746694736842
0.53749999999999998 0.24798746694736842
0.57499999999999996 0.24798746694736842
0.61250000000000004 0.24798746694736842
0.65000000000000002 0.24798746694736842
-0.14999999999999999 0.12631578947368416
-0.11249999999999999 0.12631578947368421
-7.4999999999999997E-002 0.12631578947368421
-3.7500000000000006E-002 0.12631578947368421
0.0000000000000000 0.12631578947368421
3.1250000000000000E-002 0.13529531827302632
6.2500000000000000E-002 0.14427484707236843
9.3750000000000000E-002 0.15325437587171054
0.12500000000000000 0.16223390467105264
0.15625000000000000 0.17121343347039472
0.18750000000000000 0.18019296226973686
0.21875000000000000 0.18917249106907896
0.25000000000000000 0.19815201986842107
0.28125000000000000 0.20713154866776315
0.31250000000000000 0.21611107746710526
0.34375000000000000 0.22509060626644739
0.37500000000000000 0.23407013506578950
0.40625000000000000 0.24304966386513160
0.43750000000000000 0.25202919266447366
0.46875000000000000 0.26100872146381582
0.50000000000000000 0.26998825026315787
0.53749999999999998 0.26998825026315787
0.57499999999999996 0.26998825026315787
0.61250000000000004 0.26998825026315787
0.65000000000000002 0.26998825026315787
-0.14999999999999999 0.15789473684210520
-0.11249999999999999 0.15789473684210525
-7.4999999999999997E-002 0.15789473684210525
-3.7500000000000006E-002 0.15789473684210525
0.0000000000000000 0.15789473684210525
3.1250000000000000E-002 0.16627563038815787
6.2500000000000000E-002 0.17465652393421052
9.3750000000000000E-002 0.18303741748026314
0.12500000000000000 0.19141831102631579
0.15625000000000000 0.19979920457236841
0.18750000000000000 0.20818009811842103
0.21875000000000000 0.21656099166447368
0.25000000000000000 0.22494188521052633
0.28125000000000000 0.23332277875657892
0.31250000000000000 0.24170367230263157
0.34375000000000000 0.25008456584868421
0.37500000000000000 0.25846545939473686
0.40625000000000000 0.26684635294078951
0.43750000000000000 0.27522724648684210
0.46875000000000000 0.28360814003289475
0.50000000000000000 0.29198903357894734
0.53749999999999998 0.29198903357894734
0.57499999999999996 0.29198903357894734
0.61250000000000004 0.29198903357894734
0.65000000000000002 0.29198903357894734
-0.14999999999999999 0.18947368421052629
-0.11249999999999999 0.18947368421052632
-7.4999999999999997E-002 0.18947368421052632
-3.7500000000000006E-002 0.18947368421052632
0.0000000000000000 0.18947368421052632
3.1250000000000000E-002 0.19725594250328946
6.2500000000000000E-002 0.20503820079605262
9.3750000000000000E-002 0.21282045908881578
0.12500000000000000 0.22060271738157894
0.15625000000000000 0.22838497567434207
0.18750000000000000 0.23616723396710526
0.21875000000000000 0.24394949225986839
0.25000000000000000 0.25173175055263158
0.28125000000000000 0.25951400884539472
0.31250000000000000 0.26729626713815791
0.34375000000000000 0.27507852543092104
0.37500000000000000 0.28286078372368423
0.40625000000000000 0.29064304201644742
0.43750000000000000 0.29842530030921055
0.46875000000000000 0.30620755860197368
0.50000000000000000 0.31398981689473682
0.53749999999999998 0.31398981689473682
0.57499999999999996 0.31398981689473682
0.61250000000000004 0.31398981689473682
0.65000000000000002 0.31398981689473682
-0.14999999999999999 0.22105263157894733
-0.11249999999999999 0.22105263157894739
-7.4999999999999997E-002 0.22105263157894739
-3.7500000000000006E-002 0.22105263157894739
0.0000000000000000 0.22105263157894739
3.1250000000000000E-002 0.22823625461842104
6.2500000000000000E-002 0.23541987765789474
9.3750000000000000E-002 0.24260350069736841
0.12500000000000000 0.24978712373684211
0.15625000000000000 0.25697074677631576
0.18750000000000000 0.26415436981578949
0.21875000000000000 0.27133799285526317
0.25000000000000000 0.27852161589473684
0.28125000000000000 0.28570523893421051
0.31250000000000000 0.29288886197368419
0.34375000000000000 0.30007248501315786
0.37500000000000000 0.30725610805263159
0.40625000000000000 0.31443973109210527
0.43750000000000000 0.32162335413157894
0.46875000000000000 0.32880697717105267
0.50000000000000000 0.33599060021052629
0.53749999999999998 0.33599060021052629
0.57499999999999996 0.33599060021052629
0.61250000000000004 0.33599060021052629
0.65000000000000002 0.33599060021052629
-0.14999999999999999 0.25263157894736837
-0.11249999999999999 0.25263157894736843
-7.4999999999999997E-002 0.25263157894736843
-3.7500000000000006E-002 0.25263157894736843
0.0000000000000000 0.25263157894736843
3.1250000000000000E-002 0.25921656673355264
6.2500000000000000E-002 0.26580155451973686
9.3750000000000000E-002 0.27238654230592108
0.12500000000000000 0.27897153009210529
0.15625000000000000 0.28555651787828945
0.18750000000000000 0.29214150566447367
0.21875000000000000 0.29872649345065788
0.25000000000000000 0.30531148123684210
0.28125000000000000 0.31189646902302631
0.31250000000000000 0.31848145680921053
0.34375000000000000 0.32506644459539474
0.37500000000000000 0.33165143238157896
0.40625000000000000 0.33823642016776317
0.43750000000000000 0.34482140795394733
0.46875000000000000 0.35140639574013155
0.50000000000000000 0.35799138352631577
0.53749999999999998 0.35799138352631577
0.57499999999999996 0.35799138352631577
0.61250000000000004 0.35799138352631577
0.65000000000000002 0.35799138352631577
-0.14999999999999999 0.28421052631578947
-0.11249999999999999 0.28421052631578947
-7.4999999999999997E-002 0.28421052631578947
-3.7500000000000006E-002 0.28421052631578947
0.0000000000000000 0.28421052631578947
3.1250000000000000E-002 0.29019687884868417
6.2500000000000000E-002 0.29618323138157893
9.3750000000000000E-002 0.30216958391447368
0.12500000000000000 0.30815593644736844
0.15625000000000000 0.31414228898026314
0.18750000000000000 0.32012864151315790
0.21875000000000000 0.32611499404605265
0.25000000000000000 0.33210134657894735
0.28125000000000000 0.33808769911184211
0.31250000000000000 0.34407405164473681
0.34375000000000000 0.35006040417763162
0.37500000000000000 0.35604675671052632
0.40625000000000000 0.36203310924342108
0.43750000000000000 0.36801946177631578
0.46875000000000000 0.37400581430921054
0.50000000000000000 0.37999216684210524
0.53749999999999998 0.37999216684210524
0.57499999999999996 0.37999216684210524
0.61250000000000004 0.37999216684210524
0.65000000000000002 0.37999216684210524
-0.14999999999999999 0.31578947368421051
-0.11249999999999999 0.31578947368421051
-7.4999999999999997E-002 0.31578947368421051
-3.7499999999999999E-002 0.31578947368421051
0.0000000000000000 0.31578947368421051
3.1250000000000000E-002 0.32117719096381575
6.2500000000000000E-002 0.32656490824342105
9.3750000000000000E-002 0.33195262552302629
0.12500000000000000 0.33734034280263159
0.15625000000000000 0.34272806008223683
0.18750000000000000 0.34811577736184207
0.21875000000000000 0.35350349464144737
0.25000000000000000 0.35889121192105261
0.28125000000000000 0.36427892920065785
0.31250000000000000 0.36966664648026315
0.34375000000000000 0.37505436375986845
0.37500000000000000 0.38044208103947369
0.40625000000000000 0.38582979831907893
0.43750000000000000 0.39121751559868423
0.46875000000000000 0.39660523287828947
0.50000000000000000 0.40199295015789471
0.53749999999999998 0.40199295015789471
0.57499999999999996 0.40199295015789471
0.61250000000000004 0.40199295015789471
0.65000000000000002 0.40199295015789471
-0.14999999999999999 0.34736842105263155
-0.11249999999999999 0.34736842105263160
-7.4999999999999997E-002 0.34736842105263160
-3.7499999999999999E-002 0.34736842105263160
0.0000000000000000 0.34736842105263160
3.1250000000000000E-002 0.35215750307894733
6.2500000000000000E-002 0.35694658510526317
9.3750000000000000E-002 0.36173566713157895
0.12500000000000000 0.36652474915789474
0.15625000000000000 0.37131383118421052
0.18750000000000000 0.37610291321052630
0.21875000000000000 0.38089199523684208
0.25000000000000000 0.38568107726315787
0.28125000000000000 0.39047015928947365
0.31250000000000000 0.39525924131578943
0.34375000000000000 0.40004832334210527
0.37500000000000000 0.40483740536842105
0.40625000000000000 0.40962648739473684
0.43750000000000000 0.41441556942105262
0.46875000000000000 0.41920465144736840
0.50000000000000000 0.42399373347368419
0.53749999999999998 0.42399373347368419
0.57499999999999996 0.42399373347368419
0.61250000000000004 0.42399373347368419
0.65000000000000002 0.42399373347368419
-0.14999999999999999 0.37894736842105259
-0.11249999999999999 0.37894736842105264
-7.4999999999999997E-002 0.37894736842105264
-3.7499999999999999E-002 0.37894736842105264
0.0000000000000000 0.37894736842105264
3.1250000000000000E-002 0.38313781519407891
6.2500000000000000E-002 0.38732826196710524
9.3750000000000000E-002 0.39151870874013156
0.12500000000000000 0.39570915551315788
0.15625000000000000 0.39989960228618415
0.18750000000000000 0.40409004905921053
0.21875000000000000 0.40828049583223680
0.25000000000000000 0.41247094260526318
0.28125000000000000 0.41666138937828945
0.31250000000000000 0.42085183615131577
0.34375000000000000 0.42504228292434210
0.37500000000000000 0.42923272969736848
0.40625000000000000 0.43342317647039474
0.43750000000000000 0.43761362324342101
0.46875000000000000 0.44180407001644739
0.50000000000000000 0.44599451678947366
0.53749999999999998 0.44599451678947366
0.57499999999999996 0.44599451678947366
0.61250000000000004 0.44599451678947366
0.65000000000000002 0.44599451678947366
-0.14999999999999999 0.41052631578947363
-0.11249999999999999 0.41052631578947368
-7.4999999999999997E-002 0.41052631578947368
-3.7499999999999999E-002 0.41052631578947368
0.0000000000000000 0.41052631578947368
3.1250000000000000E-002 0.41411812730921049
6.2500000000000000E-002 0.41770993882894736
9.3750000000000000E-002 0.42130175034868422
0.12500000000000000 0.42489356186842103
0.15625000000000000 0.42848537338815784
0.18750000000000000 0.43207718490789471
0.21875000000000000 0.43566899642763157
0.25000000000000000 0.43926080794736844
0.28125000000000000 0.44285261946710525
0.31250000000000000 0.44644443098684206
0.34375000000000000 0.45003624250657892
0.37500000000000000 0.45362805402631579
0.40625000000000000 0.45721986554605265
0.43750000000000000 0.46081167706578940
0.46875000000000000 0.46440348858552627
0.50000000000000000 0.46799530010526313
0.53749999999999998 0.46799530010526313
0.57499999999999996 0.46799530010526313
0.61250000000000004 0.46799530010526313
0.65000000000000002 0.46799530010526313
-0.14999999999999999 0.44210526315789472
-0.11249999999999999 0.44210526315789478
-7.4999999999999997E-002 0.44210526315789478
-3.7499999999999999E-002 0.44210526315789478
0.0000000000000000 0.44210526315789478
3.1250000000000000E-002 0.44509843942434207
6.2500000000000000E-002 0.44809161569078948
9.3750000000000000E-002 0.45108479195723683
0.12500000000000000 0.45407796822368424
0.15625000000000000 0.45707114449013153
0.18750000000000000 0.46006432075657894
0.21875000000000000 0.46305749702302629
0.25000000000000000 0.46605067328947369
0.28125000000000000 0.46904384955592099
0.31250000000000000 0.47203702582236839
0.34375000000000000 0.47503020208881575
0.37500000000000000 0.47802337835526321
0.40625000000000000 0.48101655462171056
0.43750000000000000 0.48400973088815791
0.46875000000000000 0.48700290715460526
0.50000000000000000 0.48999608342105261
0.53749999999999998 0.48999608342105261
0.57499999999999996 0.48999608342105261
0.61250000000000004 0.48999608342105261
0.65000000000000002 0.48999608342105261
-0.14999999999999999 0.47368421052631576
-0.11249999999999999 0.47368421052631582
-7.4999999999999997E-002 0.47368421052631582
-3.7499999999999999E-002 0.47368421052631582
0.0000000000000000 0.47368421052631582
3.1250000000000000E-002 0.47607875153947365
6.2500000000000000E-002 0.47847329255263155
9.3750000000000000E-002 0.48086783356578949
0.12500000000000000 0.48326237457894738
0.15625000000000000 0.48565691559210522
0.18750000000000000 0.48805145660526311
0.21875000000000000 0.49044599761842106
0.25000000000000000 0.49284053863157895
0.28125000000000000 0.49523507964473679
0.31250000000000000 0.49762962065789468
0.34375000000000000 0.50002416167105268
0.37500000000000000 0.50241870268421052
0.40625000000000000 0.50481324369736846
0.43750000000000000 0.50720778471052630
0.46875000000000000 0.50960232572368425
0.50000000000000000 0.51199686673684208
0.53749999999999998 0.51199686673684208
0.57499999999999996 0.51199686673684208
0.61250000000000004 0.51199686673684208
0.65000000000000002 0.51199686673684208
-0.14999999999999999 0.50526315789473686
-0.11249999999999999 0.50526315789473686
-7.4999999999999997E-002 0.50526315789473686
-3.7499999999999999E-002 0.50526315789473686
0.0000000000000000 0.50526315789473686
3.1250000000000000E-002 0.50705906365460529
6.2500000000000000E-002 0.50885496941447372
9.3750000000000000E-002 0.51065087517434216
0.12500000000000000 0.51244678093421059
0.15625000000000000 0.51424268669407891
0.18750000000000000 0.51603859245394734
0.21875000000000000 0.51783449821381577
0.25000000000000000 0.51963040397368421
0.28125000000000000 0.52142630973355264
0.31250000000000000 0.52322221549342107
0.34375000000000000 0.52501812125328950
0.37500000000000000 0.52681402701315794
0.40625000000000000 0.52860993277302637
0.43750000000000000 0.53040583853289469
0.46875000000000000 0.53220174429276312
0.50000000000000000 0.53399765005263156
0.53749999999999998 0.53399765005263156
0.57499999999999996 0.53399765005263156
0.61250000000000004 0.53399765005263156
0.65000000000000002 0.53399765005263156
-0.14999999999999999 0.53684210526315790
-0.11249999999999999 0.53684210526315790
-7.4999999999999997E-002 0.53684210526315790
-3.7499999999999999E-002 0.53684210526315790
0.0000000000000000 0.53684210526315790
3.1250000000000000E-002 0.53803937576973682
6.2500000000000000E-002 0.53923664627631573
9.3750000000000000E-002 0.54043391678289476
0.12500000000000000 0.54163118728947368
0.15625000000000000 0.54282845779605260
0.18750000000000000 0.54402572830263163
0.21875000000000000 0.54522299880921055
0.25000000000000000 0.54642026931578946
0.28125000000000000 0.54761753982236838
0.31250000000000000 0.54881481032894741
0.34375000000000000 0.55001208083552633
0.37500000000000000 0.55120935134210525
0.40625000000000000 0.55240662184868428
0.43750000000000000 0.55360389235526308
0.46875000000000000 0.55480116286184211
0.50000000000000000 0.55599843336842103
0.53749999999999998 0.55599843336842103
0.57499999999999996 0.55599843336842103
0.61250000000000004 0.55599843336842103
0.65000000000000002 0.55599843336842103
-0.14999999999999999 0.56842105263157894
-0.11249999999999999 0.56842105263157894
-7.4999999999999997E-002 0.56842105263157894
-3.7499999999999999E-002 0.56842105263157894
0.0000000000000000 0.56842105263157894
3.1250000000000000E-002 0.56901968788486834
6.2500000000000000E-002 0.56961832313815786
9.3750000000000000E-002 0.57021695839144737
0.12500000000000000 0.57081559364473689
0.15625000000000000 0.57141422889802629
0.18750000000000000 0.57201286415131580
0.21875000000000000 0.57261149940460532
0.25000000000000000 0.57321013465789472
0.28125000000000000 0.57380876991118424
0.31250000000000000 0.57440740516447364
0.34375000000000000 0.57500604041776315
0.37500000000000000 0.57560467567105267
0.40625000000000000 0.57620331092434218
0.43750000000000000 0.57680194617763159
0.46875000000000000 0.57740058143092099
0.50000000000000000 0.57799921668421050
0.53749999999999998 0.57799921668421050
0.57499999999999996 0.57799921668421050
0.61250000000000004 0.57799921668421050
0.65000000000000002 0.57799921668421050
-0.14999999999999999 0.59999999999999998
-0.11249999999999999 0.59999999999999998
-7.4999999999999997E-002 0.59999999999999998
-3.7499999999999999E-002 0.59999999999999998
0.0000000000000000 0.59999999999999998
3.1250000000000000E-002 0.59999999999999998
6.2500000000000000E-002 0.59999999999999998
9.3750000000000000E-002 0.59999999999999998
0.12500000000000000 0.59999999999999998
0.15625000000000000 0.59999999999999998
0.18750000000000000 0.59999999999999998
0.21875000000000000 0.59999999999999998
0.25000000000000000 0.59999999999999998
0.28125000000000000 0.59999999999999998
0.31250000000000000 0.59999999999999998
0.34375000000000000 0.59999999999999998
0.37500000000000000 0.59999999999999998
0.40625000000000000 0.59999999999999998
0.43750000000000000 0.59999999999999998
0.46875000000000000 0.59999999999999998
0.50000000000000000 0.59999999999999998
0.53749999999999998 0.59999999999999998
0.57499999999999996 0.59999999999999998
0.61250000000000004 0.59999999999999998
0.65000000000000002 0.59999999999999998
元の格子データにいい感じに擾乱を入れる
このステップはオプションです。
元のデータに適当な擾乱を入れることで最終的な格子に「それっぽい」非構造感が出ます。
ここでは以下のように格子点を移動させました。
格子点の移動
w1 = 1.5d0
w2 = 0.5d0
do loop = 1, 3
do k = 2, kmax-1
do i = 2, imax-1
if(mod(k,2).eq.0) then
x(i,k) = (w1*x(i,k) + w2*x(i,k+1)) / (w1 + w2)
y(i,k) = (w1*y(i,k) + w2*y(i,k+1)) / (w1 + w2)
end ifif(mod(i,3).eq.0) then
x(i,k) = (w1*x(i,k) + w2*x(i,k+1)) / (w1 + w2)
y(i,k) = (w1*y(i,k) + w2*y(i,k+1)) / (w1 + w2)
end ifif(mod(i,2).eq.0 .and. mod(k,5).eq.0) then
x(i,k) = (w1*x(i,k) + w2*x(i+1,k)) / (w1 + w2)
y(i,k) = (w1*y(i,k) + w2*y(i+1,k)) / (w1 + w2)
end ifif(mod(i,3).eq.0 .and. mod(k,2).eq.0) then
x(i,k) = (w1*x(i,k) + w2*x(i+1,k)) / (w1 + w2)
y(i,k) = (w1*y(i,k) + w2*y(i+1,k)) / (w1 + w2)
end ifif(mod(i,2).eq.0) then
x(i,k) = (w1*x(i,k) + w2*x(i,k-1)) / (w1 + w2)
y(i,k) = (w1*y(i,k) + w2*y(i,k-1)) / (w1 + w2)
end if
end do
end do
end do
original.tecに対して適用すると以下のようなデータになります。
perturbed.tec
VARIABLES=X,Y
ZONE I=25,J=20,F=POINT
-0.14999999999999999 0.0000000000000000
-0.11249999999999999 0.0000000000000000
-7.4999999999999997E-002 0.0000000000000000
-3.7500000000000006E-002 0.0000000000000000
0.0000000000000000 0.0000000000000000
3.1250000000000000E-002 1.1374069812500000E-002
6.2500000000000000E-002 2.2748139625000000E-002
9.3750000000000000E-002 3.4122209437500002E-002
0.12500000000000000 4.5496279250000000E-002
0.15625000000000000 5.6870349062499999E-002
0.18750000000000000 6.8244418875000004E-002
0.21875000000000000 7.9618488687500003E-002
0.25000000000000000 9.0992558500000001E-002
0.28125000000000000 0.10236662831250000
0.31250000000000000 0.11374069812500000
0.34375000000000000 0.12511476793750001
0.37500000000000000 0.13648883775000001
0.40625000000000000 0.14786290756250001
0.43750000000000000 0.15923697737500001
0.46875000000000000 0.17061104718750000
0.50000000000000000 0.18198511700000000
0.53749999999999998 0.18198511700000000
0.57499999999999996 0.18198511700000000
0.61250000000000004 0.18198511700000000
0.65000000000000002 0.18198511700000000
-0.14999999999999999 3.1578947368421040E-002
-0.11249999999999999 2.4107762386924341E-002
-5.9232330322265624E-002 5.3260200902035364E-002
-3.7500000000000006E-002 2.4107762386924341E-002
0.0000000000000000 4.9835526315789476E-002
4.0650745853781700E-002 4.7474886513720421E-002
6.2500000000000000E-002 7.0694223422594571E-002
9.3750000000000000E-002 5.6858954962364143E-002
0.13813972473144531 9.9250133182332043E-002
0.15625000000000000 7.8693083345990678E-002
0.18750000000000000 0.11241161763620477
0.22815074585378170 0.11190152192099356
0.25000000000000000 0.13327031474300985
0.28125000000000000 0.12236134011324375
0.32563972473144531 0.16143669962445678
0.34375000000000000 0.14419546849687032
0.37500000000000000 0.17498770895662005
0.41565074585378170 0.17632815732826676
0.43750000000000000 0.19584640606342521
0.46875000000000000 0.18786372526412334
0.51576766967773446 0.21909104474770133
0.53749999999999998 0.19878078945593661
0.57499999999999996 0.21670510317023023
0.62378089502453804 0.20317553187103782
0.65000000000000002 0.20398590031578948
-0.14999999999999999 6.3157894736842080E-002
-0.11249999999999999 4.1882846229954772E-002
-6.9909667968749992E-002 8.7433825041118435E-002
-3.7500000000000006E-002 4.1882846229954772E-002
0.0000000000000000 6.3157894736842107E-002
3.7853767629712820E-002 7.2285604614651972E-002
6.2500000000000000E-002 8.3511493348684213E-002
9.3750000000000000E-002 7.3623163582626217E-002
0.12924194335937500 0.12760523202101376
0.15625000000000000 9.4783375151073865E-002
0.18750000000000000 0.12421869057236842
0.22535376762971282 0.13371739443379785
0.25000000000000000 0.14457228918421053
0.28125000000000000 0.13710379828796915
0.31674194335937500 0.18590486659609787
0.34375000000000000 0.15826400985641681
0.37500000000000000 0.18527948640789474
0.41285376762971282 0.19514918425294378
0.43750000000000000 0.20563308501973684
0.46875000000000000 0.20058443299331205
0.50509033203124998 0.24289951724134262
0.53749999999999998 0.21116453877753588
0.57499999999999996 0.22598668363157895
0.62042452115565538 0.22281514587065460
0.65000000000000002 0.22598668363157895
-0.14999999999999999 9.4736842105263119E-002
-0.10963668823242186 7.9346857572856713E-002
-5.8902740478515625E-002 0.11491807636461761
-3.4636688232421886E-002 7.9069308230751451E-002
0.0000000000000000 0.11299342105263159
4.5266561792232096E-002 0.10874208701702470
6.2500000000000000E-002 0.13145757714627876
9.6136093139648438E-002 0.10963695382661234
0.13841438293457031 0.15583660820164569
0.15863609313964844 0.12913079044065501
0.18750000000000000 0.16838588933357318
0.23276656179223210 0.16618728203537889
0.25000000000000000 0.18685004542722039
0.28363609313964844 0.16885640572725066
0.32591438293457031 0.21101016484375207
0.34613609313964844 0.18838181099722856
0.37500000000000000 0.22377835761451481
0.42026656179223210 0.22363247705373315
0.43750000000000000 0.24224251370816199
0.47113609313964844 0.22807585762788904
0.51609725952148444 0.26204756074356772
0.54036331176757812 0.23707202971494745
0.57499999999999996 0.26070666980180918
0.62931987415067847 0.24568954167717616
0.65000000000000002 0.24798746694736842
-0.14999999999999999 0.12631578947368416
-9.7948265075683577E-002 0.10984744774667840
-6.9799804687499994E-002 0.15058352821751647
-2.3387718200683600E-002 0.10586924050983629
0.0000000000000000 0.12631578947368421
4.7668512008385733E-002 0.13443601754657453
6.2500000000000000E-002 0.14427484707236843
0.10587644577026367 0.14112463782781265
0.12933349609375000 0.18583041669495276
0.16801023483276367 0.15608413222347983
0.18750000000000000 0.18019296226973686
0.23516851200838573 0.18896484596807617
0.25000000000000000 0.19815201986842107
0.29337644577026367 0.19687493130885597
0.31683349609375000 0.23694735994436680
0.35551023483276367 0.21228690977292758
0.37500000000000000 0.23407013506578950
0.42266851200838573 0.24349367438957789
0.43750000000000000 0.25202919266447366
0.48094968795776372 0.25252701119365650
0.50520019531249993 0.28689537688262051
0.55161228179931632 0.25574331397503014
0.57499999999999996 0.26998825026315787
0.63220221441006275 0.26511555739529363
0.65000000000000002 0.26998825026315787
-0.14999999999999999 0.15789473684210520
-0.10642361640930176 0.14328763735921760
-5.8071899414062496E-002 0.17804212068256575
-3.1533479690551765E-002 0.14206757670954653
0.0000000000000000 0.17615131578947371
4.6293077801237814E-002 0.17026300235385736
6.2500000000000000E-002 0.19222093086996297
9.8813652992248535E-002 0.17069116157649195
0.13910675048828125 0.21387030951259683
0.16122210025787354 0.18690091240083551
0.18750000000000000 0.22436016103094159
0.23379307780123781 0.22056014652597455
0.25000000000000000 0.24042977611143090
0.28631365299224854 0.22263794454557267
0.32660675048828125 0.26186409328550631
0.34872210025787354 0.23898646591996475
0.37500000000000000 0.27256900627240954
0.42129307780123781 0.27085729069809183
0.43750000000000000 0.28863862135289886
0.47383196353912355 0.27456017411559275
0.51692810058593752 0.30602554407699095
0.54346652030944820 0.28096238609389101
0.57499999999999996 0.30470823643338807
0.63055169336148531 0.28947618954312054
0.65000000000000002 0.29198903357894734
-0.14999999999999999 0.18947368421052629
-0.11000243425369262 0.16519656149964584
-6.9902801513671869E-002 0.21374091098183079
-3.5029900074005131E-002 0.16482215900170177
0.0000000000000000 0.18947368421052632
3.9766136393154738E-002 0.19549958275668103
6.2500000000000000E-002 0.20503820079605262
9.5831304788589478E-002 0.19051450126152469
0.12924766540527344 0.24401158282967028
0.15830841660499573 0.20666149409603826
0.18750000000000000 0.23616723396710526
0.22726613639315474 0.24265439781444054
0.25000000000000000 0.25173175055263158
0.28333130478858948 0.23996934790370550
0.31674766540527344 0.28794496127172342
0.34580841660499573 0.25615892553971498
0.37500000000000000 0.28286078372368423
0.41476613639315474 0.28980921287220013
0.43750000000000000 0.29842530030921055
0.47083588242530822 0.28941805619612115
0.50509719848632806 0.33089658682730566
0.53997009992599476 0.29681530951817287
0.57499999999999996 0.31398981689473682
0.62271936367178571 0.31019336937905490
0.65000000000000002 0.31398981689473682
-0.14999999999999999 0.22105263157894733
-0.11163219809532164 0.20401721933954642
-5.9122467041015619E-002 0.24109067352194538
-3.6639064550399787E-002 0.20390952441253157
0.0000000000000000 0.23930921052631579
4.3566780938817828E-002 0.23151447734568267
6.2500000000000000E-002 0.25298428459364719
9.4473168253898621E-002 0.22674254586089812
0.13823127746582031 0.27138516369546672
0.15696744620800018 0.24165868494855813
0.18750000000000000 0.28033443272830999
0.23106678093881783 0.27456547655571406
0.25000000000000000 0.29400950679564142
0.28197316825389862 0.27178190377869682
0.32573127746582031 0.31220776105265419
0.34446744620800018 0.28671029216254007
0.37500000000000000 0.32135965493030427
0.41856678093881783 0.31761647576574564
0.43750000000000000 0.33503472899763564
0.46947431266307832 0.31681972710905432
0.51587753295898442 0.34995093314111198
0.53836093544960018 0.32404714364981668
0.57499999999999996 0.34870980306496702
0.62728013712658137 0.33383813784643257
0.65000000000000002 0.33599060021052629
-0.14999999999999999 0.25263157894736837
-0.11219389289617537 0.22759981702424978
-6.9469785690307609E-002 0.27680625727302149
-3.7195609509944917E-002 0.22756855658402569
0.0000000000000000 0.25263157894736843
4.0036329742406451E-002 0.25692889347605097
6.2500000000000000E-002 0.26580155451973686
9.4005089253187180E-002 0.24885102402174267
0.12960851192474365 0.30220271021143541
0.15650365874171257 0.26294195445013280
0.18750000000000000 0.29214150566447367
0.22753632974240645 0.29692193758510355
0.25000000000000000 0.30531148123684210
0.28150508925318718 0.29120808081528216
0.31710851192474365 0.33896299213883352
0.34400365874171257 0.30530256682796719
0.37500000000000000 0.33165143238157896
0.41503632974240645 0.33691498169415623
0.43750000000000000 0.34482140795394733
0.46900537535548209 0.33356475396196145
0.50553021430969236 0.37483367574608323
0.53780439049005491 0.34053018959158393
0.57499999999999996 0.35799138352631577
0.62304359569088774 0.35391037784093216
0.65000000000000002 0.35799138352631577
-0.14999999999999999 0.28421052631578947
-9.6876783238258199E-002 0.27103858850237689
-5.5920626968145370E-002 0.30416918425379619
-2.5509888993110505E-002 0.27042771822261302
0.0000000000000000 0.30246710526315790
4.8339103656308779E-002 0.29373060710425414
6.2500000000000000E-002 0.31374763831733138
0.10676934730145149 0.29217965290060655
0.14089947752654552 0.32967475725204964
0.16624175917240791 0.30352527902257331
0.18750000000000000 0.33630870442567845
0.23583910365630878 0.32961312101259066
0.25000000000000000 0.34758923747985193
0.29426934730145149 0.32959595350053156
0.32839947752654552 0.36332276076191100
0.35374175917240791 0.34101106043458257
0.37500000000000000 0.37015030358819900
0.42333910365630878 0.36549563492092707
0.43750000000000000 0.38143083664237254
0.48237486492726017 0.36642716949012805
0.51907937303185470 0.39389719361342668
0.54949011100688949 0.37038980198797100
0.57499999999999996 0.39271136969654602
0.63300692438757045 0.37624043273054963
0.65000000000000002 0.37999216684210524
-0.14999999999999999 0.31578947368421051
-0.10534781933238263 0.29165560849287431
-6.9882175326347343E-002 0.34005088417937879
-3.1585685614845718E-002 0.29141588570924604
0.0000000000000000 0.31578947368421051
4.0964640539983943E-002 0.31880848360653324
6.2500000000000000E-002 0.32656490824342105
9.9710150556347799E-002 0.31031138699366756
0.12926485389471054 0.36042164978620184
0.16117859532096190 0.32159048031864773
0.18750000000000000 0.34811577736184207
0.22846464053998394 0.35161351157578580
0.25000000000000000 0.35889121192105261
0.28721015055634780 0.34538269334661625
0.31676485389471054 0.38998844369661578
0.34867859532096190 0.35668905290836295
0.37500000000000000 0.38044208103947369
0.41596464053998394 0.38441853954503813
0.43750000000000000 0.39121751559868423
0.47491646160342493 0.38025511412042434
0.50511782467365263 0.41889566794048261
0.54341431438515420 0.38501207928181980
0.57499999999999996 0.40199295015789471
0.62415756864798055 0.39758940580407487
0.65000000000000002 0.40199295015789471
-0.14999999999999999 0.34736842105263155
-0.10987372504241648 0.33028721455853216
-5.8875857619568706E-002 0.36736304162523564
-3.5250139550043968E-002 0.33020961092859491
0.0000000000000000 0.36562500000000003
4.3801232398897549E-002 0.35453507757785757
6.2500000000000000E-002 0.37451099204101562
9.5938562464652932E-002 0.34603844356225660
0.13843678531702608 0.38710686434627006
0.15812488370829669 0.35613503142630260
0.18750000000000000 0.39228297612304686
0.23130123239889755 0.38321944003352892
0.25000000000000000 0.40116896816406244
0.28343856246465293 0.37671576407160756
0.32593678531702608 0.41356715440149239
0.34562488370829669 0.38682117862669962
0.37500000000000000 0.41894095224609373
0.41880123239889755 0.41190380248920022
0.43750000000000000 0.42782694428710943
0.47100129821592418 0.40733267588077848
0.51612414238043136 0.43792381510582828
0.53974986044995599 0.41203933679632010
0.57499999999999996 0.43671293632812491
0.62756147887867708 0.42169422381515709
0.65000000000000002 0.42399373347368419
-0.14999999999999999 0.37894736842105259
-0.11152841429848194 0.35386696762702741
-6.9907949678599826E-002 0.40321419967681560
-3.6643117290623195E-002 0.35384212889368760
0.0000000000000000 0.37894736842105264
3.8987040912768584E-002 0.38040479816116513
6.2500000000000000E-002 0.38732826196710524
9.4559654751265043E-002 0.36801768170757071
0.12924337526783347 0.41862873281550039
0.15696406892448067 0.37730905855030511
0.18750000000000000 0.40409004905921053
0.22648704091276858 0.40599120207819600
0.25000000000000000 0.41247094260526318
0.28205965475126504 0.39601302464129584
0.31674337526783347 0.44101128712534615
0.34446406892448067 0.40530722665890084
0.37500000000000000 0.42923272969736848
0.41398704091276861 0.43157760599522677
0.43750000000000000 0.43761362324342101
0.46957877191662190 0.42398997699831614
0.50509205032140014 0.46290101116973781
0.53835688270937676 0.42850391051660952
0.57499999999999996 0.44599451678947366
0.62178444909532238 0.44225663918849134
0.65000000000000002 0.44599451678947366
-0.14999999999999999 0.41052631578947363
-0.10931887002311667 0.39384214010209706
-5.8871117731905537E-002 0.43055265941247378
-3.4351730017215226E-002 0.39355727651827999
0.0000000000000000 0.42878289473684211
4.5610127559547929E-002 0.41572184760186431
6.2500000000000000E-002 0.43527434576469981
9.6400941647402760E-002 0.40583983501308979
0.13844073522341205 0.44497578402022286
0.15887355831898731 0.41339828604765089
0.18750000000000000 0.44825724782041521
0.23311012755954794 0.43727231631024599
0.25000000000000000 0.45474869884827296
0.28390094164740276 0.42928837392183317
0.32594073522341205 0.46424884283407275
0.34637355831898731 0.43687922553928799
0.37500000000000000 0.46773160090398852
0.42061012755954791 0.45882278501862767
0.43750000000000000 0.47422305193184622
0.47140641831308583 0.45273164722981329
0.51612888226809450 0.48194748291607337
0.54064826998278481 0.45617311516264569
0.57499999999999996 0.48071450295970392
0.62973215307145747 0.46552113248384341
0.65000000000000002 0.46799530010526313
-0.14999999999999999 0.44210526315789472
-9.7849513455400924E-002 0.42522362356146537
-6.9799697294365609E-002 0.46637243321119487
-2.3298147174170933E-002 0.42124333286610832
0.0000000000000000 0.44210526315789478
4.7774574786099054E-002 0.44104771275935251
6.2500000000000000E-002 0.44809161569078948
0.10595873878716588 0.43625787713483882
0.12933358558802865 0.47684384388180040
0.16808487735485755 0.43932717160102108
0.18750000000000000 0.46006432075657894
0.23527457478609906 0.45966606666763499
0.25000000000000000 0.46605067328947369
0.29345873878716588 0.45613706420671551
0.31683358558802865 0.49204273661710407
0.35558487735485755 0.45965907971532821
0.37500000000000000 0.47802337835526321
0.42277457478609909 0.47828442057591752
0.43750000000000000 0.48400973088815791
0.48103351107362757 0.47598671970707573
0.50520030270563432 0.50690281383867153
0.55170185282582906 0.47546175450426054
0.57499999999999996 0.48999608342105261
0.63232948974331893 0.48506750835941048
0.65000000000000002 0.48999608342105261
-0.14999999999999999 0.47368421052631576
-0.10639300374011497 0.45894578055264845
-5.8069419587081936E-002 0.49381924796513499
-3.1505423685186426E-002 0.45772513000345011
0.0000000000000000 0.49194078947368419
4.6324203828444890E-002 0.47717010917763691
6.2500000000000000E-002 0.49603769948838405
9.8839163549904185E-002 0.46743254664454847
0.13910881701076505 0.50300125595679324
0.16124548026234464 0.47169117756528955
0.18750000000000000 0.50423151951778367
0.23382420382844490 0.49155146844594788
0.25000000000000000 0.50832842953248347
0.28633916354990419 0.48347615203796712
0.32660881701076505 0.51507832882067639
0.34874548026234464 0.48787362060434086
0.37500000000000000 0.51652224956188320
0.42132420382844488 0.50593282771425896
0.43750000000000000 0.52061915957658300
0.47385790020741614 0.49951233279122004
0.51693058041291806 0.52602477560215655
0.54349457631481357 0.50087831144091999
0.57499999999999996 0.52471606959128281
0.63058904459413401 0.50946730592804856
0.65000000000000002 0.51199686673684208
-0.14999999999999999 0.50526315789473686
-0.10999273503477339 0.48094340419669523
-6.9902794801600970E-002 0.52953034912288321
-3.5020920487311716E-002 0.48056883298236208
0.0000000000000000 0.50526315789473686
3.9775989933600486E-002 0.50366647180445423
6.2500000000000000E-002 0.50885496941447372
9.5839387471022164E-002 0.48790754455869012
0.12924767099866585 0.53504191855822669
0.15831589959390691 0.49208756843809687
0.18750000000000000 0.51603859245394734
0.22727598993360049 0.51490394753573843
0.25000000000000000 0.51963040397368421
0.28333938747102216 0.50144912488174387
0.31674767099866585 0.54305718584561502
0.34581589959390691 0.50567175275256659
0.37500000000000000 0.52681402701315794
0.41477598993360049 0.52614142326702273
0.43750000000000000 0.53040583853289469
0.47084408504644520 0.51498883619943725
0.50509720519839896 0.55090439522258516
0.53997907951268820 0.51679332448761439
0.57499999999999996 0.53399765005263156
0.62273118792032067 0.53019576966427651
0.65000000000000002 0.53399765005263156
-0.14999999999999999 0.53684210526315790
-0.11162931403167614 0.51979381381481538
-5.9891318523693823E-002 0.55602918742993290
-3.6636376739521914E-002 0.51968607239402220
0.0000000000000000 0.55509868421052633
4.3078162768933385E-002 0.53907375684842396
6.2500000000000000E-002 0.55680105321206819
9.4475571640269873E-002 0.52442273955559260
0.13759056789692181 0.55990821516195988
0.15696968605039840 0.52736768539555401
0.18750000000000000 0.56020579121515213
0.23057816276893339 0.54619321085168382
0.25000000000000000 0.56190816021669399
0.28197557164026987 0.53354544716623931
0.32509056789692181 0.56490948608080260
0.34446968605039840 0.53650264759061872
0.37500000000000000 0.56531289821977793
0.41807816276893339 0.55331266485494346
0.43750000000000000 0.56701526722131990
0.46947674875824419 0.54266768491634032
0.51510868147630617 0.56936590988018076
0.53836362326047804 0.54404597158086121
0.57499999999999996 0.56871763622286187
0.62669379532272007 0.55392805239901177
0.65000000000000002 0.55599843336842103
-0.14999999999999999 0.56842105263157894
-0.11219301662937345 0.54338531355900355
-7.4999999999999997E-002 0.58667763157894737
-3.7194787335476806E-002 0.54335404016774058
0.0000000000000000 0.56842105263157894
3.6054840646788829E-002 0.56562512766538653
6.2500000000000000E-002 0.56961832313815786
9.4005819475522112E-002 0.54662896231460911
0.12500000000000000 0.58768782856887336
0.15650434388710266 0.54874759236604120
0.18750000000000000 0.57201286415131580
0.22355484064678882 0.56963325566103185
0.25000000000000000 0.57321013465789472
0.28150581947552211 0.55306835627453599
0.31250000000000000 0.58920312405376229
0.34400434388710266 0.55519054338332319
0.37500000000000000 0.57560467567105267
0.41105484064678882 0.57364138365667705
0.43750000000000000 0.57680194617763159
0.46900611459320596 0.55950763196649400
0.50000000000000000 0.59071841953865123
0.53780521266452308 0.56053524288049228
0.57499999999999996 0.57799921668421050
0.61826580877614656 0.57467861664176256
0.65000000000000002 0.57799921668421050
-0.14999999999999999 0.59999999999999998
-0.11249999999999999 0.59999999999999998
-7.4999999999999997E-002 0.59999999999999998
-3.7499999999999999E-002 0.59999999999999998
0.0000000000000000 0.59999999999999998
3.1250000000000000E-002 0.59999999999999998
6.2500000000000000E-002 0.59999999999999998
9.3750000000000000E-002 0.59999999999999998
0.12500000000000000 0.59999999999999998
0.15625000000000000 0.59999999999999998
0.18750000000000000 0.59999999999999998
0.21875000000000000 0.59999999999999998
0.25000000000000000 0.59999999999999998
0.28125000000000000 0.59999999999999998
0.31250000000000000 0.59999999999999998
0.34375000000000000 0.59999999999999998
0.37500000000000000 0.59999999999999998
0.40625000000000000 0.59999999999999998
0.43750000000000000 0.59999999999999998
0.46875000000000000 0.59999999999999998
0.50000000000000000 0.59999999999999998
0.53749999999999998 0.59999999999999998
0.57499999999999996 0.59999999999999998
0.61250000000000004 0.59999999999999998
0.65000000000000002 0.59999999999999998
ParaViewでDelaunay 2Dフィルターを適用し非構造格子を生成する
上で作成したデータをParaViewで読んだ後、Delaunay 2Dフィルターを適用します。
各フィルターは[Filters]->[Search]で検索出来ます。
この時、右下の凸角のような箇所に元の形状には無いセルが生成されてしまう事があります。
CFDなどで使用する際には困るので少し修正を加えます。
Extract Selectionフィルターで不要なセルを削除する
Select Cells Onなどで余分なセルを選択します。
[Edit]->[Find Data]を開き[Invert selection]のチェックボックスを入れて必要なセルだけが選択された状態にします。
Extract Selectionフィルターを適用し必要なセルだけを抽出します。
作成した非構造格子を出力する
Extract Selectionフィルターを選択した状態でSpreadSheet Viewを開きます。
- 節点の情報を出力します
- AttributeをPoint Dataにします
- Toggle column visibilityで以下にチェックを入れます
- vtkOriginalPointIds
- Points
- vtkOriginalPointIds列が昇順になっていることを確認します
- Export Spreadsheetで出力します
- 手元ではpoint.tsvとしました
※PointIDではなくvtkOriginalPointIdsにする必要があります。
- セルの情報を出力します
- ArrtibuteをCell Dataにします
- Toggle cell connectivity visibilityを選択しておきます
- Toggle column visibilityで以下にチェックを入れます
- Cell ID
- Cell Type
- Point Index 0〜2
- Export Spreadsheetで出力します
- 手元ではcell.tsvとしました
※出力したCell Type IDはすべて5になっているはずです。これはVTKフォーマットのcell typeでは5が三角形に対応するためです。
参考1:PENGUINITIS - VTK ファイルフォーマット
参考2:http://www.princeton.edu/~efeibush/viscourse/vtk.pdf (Figure 2)
出力した結果をパースする
出力した結果に非構造格子の構成に必要な情報が揃っているので手元のコードでパースします。
point.tsv
Points_0 Points_1 Points_2 vtkOriginalPointIds
-0.15 0 0 0 ←節点ID=0の座標は(-0.15, 0, 0)
-0.1125 0 0 1...
cell.tsv
Cell Type Point Index 0 Point Index 1 Point Index 2 Cell ID
5 63 38 14 0 ←セルID=0を構成する節点IDは63, 38, 14
5 46 20 21 1...
節点ID(vtkOriginalPointIds)、セルID(Cell ID)はどちらも0から数えます。