(しばらく工事中)
ParaView というのは、ウィキペディアによると
ParaViewは科学技術可視化の並列化と対話操作のための、 自由に利用できるオープンソースプログラムである。だそうである。目的だけから見ると昔だと AVS とか (これは高額商品だった)、 そういうのに近いのかしらん。
開発は Sandia National Laboratories, Kitware Inc, Los Alamos National Laboratory だそうである。アメリカの底力を感じる。
FreeFem++ ユーザーにとってはとてもありがたい解説 大森 克史・山口 範和 「FreeFem++ と Paraview による非線形現象の可視化」 富山大学人間発達科学部紀要 第9巻第 1号:221-241(2014) がある。
以前、研究室の院生E君が流体シミュレーションの可視化に使っていたが、 私自身ではインストールしなかった (E君は何でも自分で出来た)。
今回、授業のレポートで使った学生がいたので、 結果の確認用に重い腰をあげてインストール。
まずは、WWW サイト ParaView - Open-source, multi-platform data analysis and visualization application に訪問する。 Download ParaView からファイルを入手する。
M1 Mac にインストールしようと思っていたので、 ParaView-5.11.0-MPI-OSX11.0-Python3.9-arm64.dmg を入手する。ダブルクリックでマウントすると、 アプリケーション・フォルダに移動するよう促されるので (よくある手順)、 それに従い、 アプリケーション・フォルダにある ParaView-5.11.0.app を起動する。
今回の目的は動画なので、大森・山口資料から熱方程式の例を。
Heat.edp |
// Linear Heat eq. load "iovtk" int N=100; real T=1.0; real tau=T/N; // time step size mesh Th=square(100,100); fespace Uh(Th,P2); Uh u,oldu,phi,f; real d=0.1; f=0; problem Heateq(u,phi) = int2d(Th)(u*phi/tau+d*(dx(u)*dx(phi)+dy(u)*dy(phi))) -int2d(Th)(oldu*phi/tau) -int2d(Th)(f*phi) +on(1,2,3,4,u=0); int n=0; oldu=16*x*(1-x)*y*(1-y); // initial data savevtk("Heat"+n+".vtk",Th,oldu,dataname = "Temperature"); for(n=1;n<=N;n++){ Heateq; // Solve (3.4) savevtk("Heat"+n+".vtk",Th,u,dataname = "Temperature"); oldu=u; // Reflesh st ates } |
つまり、FreeFem++ のプログラムの中で
load "iovtk" |
savevtk(ファイル名文字列, メッシュ, u, dataname=名前); |
ParaView で File→Open として、上のファイルを探しに行く。 Heat..vtk という名前の (ピリオドが2つ続いた ..vtk に注意)、 Type が Group の対象として表示される。 それを選択して ボタンをクリックする。
(これ以降は、GUI のせいで、説明が粗くなっている。今後改善していくつもり。)
Pipeline Browser に Heat0.vtk が現れる。 Properties で ボタンを押す。
Coloring で Label を “Temparature” に変えて (上のプログラム中で dataname を Temparature に指定したことに注意)、 再生ボタン ボタンを押すとアニメーションが見える。
View → Animation View で、 Mode: を (Snap to TimeSteps から) Sequence に変更して、 No. of Frames を 101 にする (元々101個の画像ファイルがあった)。
File→ Save Animation を選択し、 File of Types を FFMPEG AVI files (*.avi) にして、 適当な File name を選んで する。 Save Animation Options で適当な Frame Rate を選択する。
101フレームあったので、Frame Rate を10にすると、 10秒の動画ファイル Heat.avi というのができる。
とりあえずレポート・チェックに必要なことは分かった。
桂田 祐史