2011-12-15追記:
なぜか「ParaView 可視化」でググったらこのエントリが3番目に表示される謎。中身ほとんどないのでググって来た人はそっとタブを閉じて次以降の検索結果見た方が幸せになれるよ。
そういえば ParaView の日本語の本も買ったんだけどまぁ予想通り自分には意味ない感じだった。素直に英語の wiki とかマニュアル読んだ方がいい。
----
データ形式について
Plot3D は読めるが、xyz と q のみで、function に対応してない(追記:そうでもないかも?)ので使い勝手が悪い。Tecplot は読めないいつからか読めるようになっていた (2014-05-27)。標準の VTK classic (Legacy VTK?) 形式で作るのが楽そう(書き方は→ http://visitusers.org/index.php?title=ASCII_VTK_Files ←ParaViewのライバルであるVisItのwikiだったw)。
やってみた。
流れが左から当たっていて、渦度の画面に垂直な軸成分を表示している(って言われなくてもわかる人しかこの記事読んでないだろうけど)。似たような条件について FIELDVIEW で作ったのは→ http://twitpic.com/2jc680
アニメの作り方
単に時系列に連番のファイルを用意するだけ。
- data000.vtk
- data001.vtk
- ...
VTKファイル出力用Fortran 90ソース
!! ファイルの出力
write(filename,"('data',1i3.3,'.vtk')") n_file !! 出力ファイル番号をファイル名に書き込む
open(200,file=filename,status="unknown",form="formatted",position="rewind")
write(200,"('# vtk DataFile Version 3.0')")
write(200,"('2D flow')")
write(200,"('ASCII ')")
write(200,"('DATASET STRUCTURED_GRID')")
write(200,"('DIMENSIONS ',3(1x,i3))") im, jm, 1
write(200,"('POINTS ',i9,' float')") im*jm
do j=1,jm
do i=1,im
write(200,"(3(f9.4,1x))") x_plt(i), y_plt(j), 0.0d0
enddo
enddo
write(200,"('POINT_DATA ',i9)") im*jm
!! velocity vector
write(200,"('VECTORS velocity float')")
do j=1,jm
do i=1,im
write(200,"(3(f9.4,1x))") u_plt(i,j), v_plt(i,j), 0.0d0
enddo
enddo
!! pressure
write(200,"('SCALARS pressure float')")
write(200,"('LOOKUP_TABLE default')")
do j=1,jm
do i=1,im
write(200,"(f9.4)") p(i,j)
enddo
enddo
!! z_vorticity
write(200,"('SCALARS z_vorticity float')")
write(200,"('LOOKUP_TABLE default')")
do j=1,jm
do i=1,im
write(200,"(f9.4)") z_vorticity(i,j)
enddo
enddo
close(200)
いろいろ適当だけど気にスンナ。do ループが外側から i, j でなく j, i の順になっているのは、i と j の数が違うときに初めて気づいたがこうやらないとグリッドがぐちゃぐちゃになる=vtkのグリッド認識がこの順なので。
No comments:
Post a Comment