pyFoamPlotRunner.py 真似てみた

2014-01-04 :  PCクリニック
本文の前に、
-・・・ -・-
現時点での、blogramのランクインカテゴリは、
4、2、1、0、0、 1、0、0、0、1(38)で、換算ポイント 64pt 。
今朝「グルコサミン」が6位にdown。
・-・ - -・

さて、本文。

昨年末(2013-12-29)の記事:
OpenFOAM:MS-Windows版まとめ
で、
今年は、OpenFOAMは、Windows版(64ビット版・MPICH2版)を基本としよう
と決めた。

そうすると、
  MS-Windows の仕様(?)の為、
  非常に有用な「PyFoam」は使えない。

なんとか成らないか???

得意(?)な Perl で、相当品を作りたい!


頑張ってみました。
それなりに出来たような???


処理手順:

Step1:
 「Perl:system 関数
 で書いた、「system( 1, ~ );」を使って、ソルバーを起動する。
 (終了を待たずに、次の処理に進められる)
 この時、以下のように、起動したプロセス番号を取得しておく。
  $pid = system( 1, "gompi interFoam >log.txt" );
これは、パラレル計算の場合。シングルの場合は、「gompi」無しで。

Step2:
 一定時間(5秒とか、30秒とか、場合によってはもっと長い時間)「sleep」する。

Step3:
 「Perl:プロセス存在確認
 で書いた、「tasklist」コマンドを使って、
 上記の、$pid プロセスが未だ存在しているか確認する。
 「Perl : qx/STRING/ 関数
 でリストを取得し、$pid を含む行が有るかのループ処理。
   存在しなければ、ここで終了。
   未だ存在していれば、次に進む。

Step4:
 ソルバーが出力している「log.txt」を読んで、
 「Perl から Flotr2 でグラフ表示
 で書いたような「~.html」テキストを出力する(グラフ描画)。

Step5:
 この「~.html」ファイルを、
   system( 1, "~.html" );
 として(Webブラウザを)起動する。・・・・・これは一度だけにした方がいい。
 ユーザは、
 「Webブラウザ:ページ再読込自動化
 で書いた方法で、自動再読込を有効にする。

Step6:
 Step2 に戻る。


以上の、Perlプログラム(~~~.pl)を作っておくと、・・・・・

OpenFOAM:MS-Windows版まとめ
で書いた手順は、以下となる。


(1)シングル走行なら、
 「DOS_Mode.bat」をダブルクリックして、
 現れる「DOS窓」の中で作業する。
 例えば、
 「blockMesh」コマンドで、メッシュ生成し、
 「~~~.pl」コマンド(?)で、計算実行。
 結果は「paraFoam」コマンドで「paraview.exe」を起動して、眺める。

(2)パラレル走行では、
 先ず、「smpd.bat」をダブルクリックして、DOS窓を開く。
 これは、そのままにしておく。
 それから、上記(1)同様。
 「DOS_Mode.bat」をダブルクリックして、
 現れる「DOS窓」の中で作業する。
 「blockMesh」コマンドで、メッシュ生成し、
 「decomposePar」コマンドで、メッシュ分割。
 そうして、
 「~~~.pl」コマンド(?)で、計算実行。
 「reconstructPar」コマンドで、メッシュ併合。
 結果は「paraFoam」コマンドで「paraview.exe」を起動して、眺める。


ですね。


頑張ろう!!!


見ていただいた序でとは厚かましい限りですが、
お帰りに投票して頂けるとなお嬉しいです。 ⇒ blogram投票ボタン


131213
関連記事
スポンサーサイト

コメントの投稿

管理者にだけ表示を許可する

おきてがみ/blogram
blogram投票ボタン



おきてがみ

最新記事
カレンダー
05 | 2017/06 | 07
- - - - 1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 -
月別アーカイブ
カテゴリ
最新コメント
検索フォーム
リンク
プロフィール

<紙>

Author:<紙>
ようこそ。
「パソコンヲタクの雑記帳」
もろもろなことを綴っています。
パソコン ヲタクってねくら?
画像は kami でなく kani です。

カウンター(fc2、i2i) /Google Analytics


i2i(from 2010-08-24)
Total =
Today  =  
Yesterday=
アンチエイジング

Google Analytics
ブックマーク