ParaView

【ParaView自動化入門】操作を記録して画像を出力

こんにちは(@t_kun_kamakiri

本記事ではParaViewの自動化の方法を解説します。
ParaViewはデータの可視化ソフトであるので、CAE解析などの結果を決まったフォームで処理したい場合などには、本記事のようなParaView操作を記録したPythonスクリプトを実行するだけで処理が終わる自動化をご活用ください。

本記事の内容

OpenFOAMのチュートリアルのpitzDailyの結果をParaViewを使って画像ファイルにする

本記事をきっかけにParaViewの自動化をはじめてみてください。

参考になる記事は以下となります。

ParaView 5.11.0
OpenFOAM v2306
WSL2 ubuntu20.04

今回はWSL2でParaViewを動かします。

OpenFOAMのチュートリアルをコピー

まずは適当にOpenFOAMのチュートリアルをコピーします。

「$FOAM_TUTORIALS」の部分はバージョンによって変わる環境変数の部分ですので、以下のようにどこのフォルダを指しているのかは確認してみると良いです。

適当なチュートリアルを持ってきたので、本番ではご自身の解析を使ってください。

ParaViewの実行ファイルを確認

ParaViewのインストールしたフォルダに行き「bin」の中を覗いてみます。

いくつか重要な実行ファイルがありますが、ParaView ユーザーズガイドから抜粋すると・・・

ParaView には、目的の異なる複数の実行ファイルが付属しています。

1.3.1. paraviewこれは、メインの ParaView グラフィカルユーザーインターフェイス(GUI)です。ほとんどの場合、ParaView を参照するときには、このアプリケーションについて説明しています。QtベースのクロスプラットフォームUIで、ParaView コンピューティング機能にアクセスできます。このガイドの主要部分は、このアプリケーションの理解と使用方法に特化しています。
1.3.2. pvpythonpvpython は、Pythonスクリプトを実行するPythonインタプリタです。これはスクリプトを実行するための paraview に相当するものと考えることができます。
1.3.3. pvbatchpvpython と同様に、pvbatch は ParaView のPythonスクリプトを実行するPythonインタプリタでもあります。1つの違いは、pvpython は対話型スクリプトを実行するためのものですが、pvbatch はバッチ処理用に設計されていることです。また、MPI機能を使用してコンピュータリソース上で実行する場合は、pvbatch を並列で実行できます。これについては、7.10 章 で詳しく説明します。
1.3.4. pvserverリモート可視化では、この実行可能ファイルはすべてのデータ処理を実行するサーバを表し、場合によってはレンダリングも実行します。 paraview を、HPCリソース上でリモートで実行されている pvserver に接続できます。これにより、あたかもデスクトップ上でローカルに処理しているかのように、デスクトップからHPCリソースの可視化と分析を構築および制御できます

どうやら、要約すると

  • paraview.exe:paraviewを起動できる
  • pvpython:pythonが起動
  • pvbatch:pythonのバッチ処理

コマンドでParaViewを起動させる

paraview.exeでWSL2でもParaViewが起動できるというこということで起動してみましょう。

絶対パスで指定していますが、Pathを通せばparaviewのコマンドでParaViewソフトを起動できるでしょう。
ここでは、Pathを設定するということはせず上記のように絶対パスをべた書きして試してみます。

上記のコマンドにより無事ParaViewが起動できました。

こんな感じでコマンド操作でソフトを操作できれば、自動化ができそうですね。

計算を実行

では、OpenFOAMのチュートリアルを計算させておきます。

計算が終了すれば、いよいよParaViewの自動化です。

ParaViewの操作の記録

まずは、先ほどのコマンドでも良いですし、手動でも良いのでParaViewを起動します。

操作を記録するためのマクロをスタートさせます。
②で操作した部分だけを記録するマクロ設定にします。では、操作の記録が開始されたので、できるだけ余計な操作をさせないように注意しながら、操作を進めていきます。
※失敗してやり直したり、画面を操作したりと余計な操作を行うとマクロとして記録されていくので操作は慎重に!

モデルを読み込んで・・・ ParaViewの画像を「img」フォルダに入れたいので、「img」フォルダを作成しています。画像を出力して・・・・画像が出力されているのを確認出来たら、マクロをストップします。
ストップすると今までの操作がPythonスクリプトとして表示されますので、それを適当なファイルにコピペします。
今回はparaviewpython.pyという名前でファイルを作成し、上で表示されたPythonをコピーしました。

Pythonスクリプトにする

Pythonスクリプトを確認してみましょう。
細かい中身はparaviewのライブラリなので、ドキュメントを参考にするしかありません。

paraviewpython.py

中身はPythonなので編集して使うこともできます。

「FileName=’D:\\openfoam\\20230107_OpenFOAM_tranin・・・」は自身の解析フォルダなので人によって変わります。

などのように現在のフォルダをosで取得するのと少し汎用的になります。

今回は無編集で動作するか確認するだけですので、そのまま使います。

Pythonスクリプトの動作確認

では、先ほどのParaViewなども閉じて、何も起動させていない状態からさきほどのPythonスクリプトを動かして、画像出力できるか確認します。

pvpython.exeを使って実行します。

もしくは、バッチ処理に適したpvbatch.exeを使っても良いです。

どちらで行っても良いですがpvbatch.exeはバッチ処理に適しているようなので普段はこちらを使います。

以下のように無事画像が出力されていればOKです。

まとめ

簡単ですがParaView操作の自動化の入門を解説しました。
今回はただ画像を出力しただけですが、以下のような操作を行って画像出力するのも良いでしょう。

  • 断面を切って流速分布を表示
  • 流れ表示
  • Timeを表示

画像の出力までほとんどプログラミング的なことをしていないので、誰でも使うことができると思います。

参考書

ParaViewの日本語の書籍はこれしかないですね。
ParaViewはバージョンとともにコロコロと仕様が変わるので、紙の本で勉強するのはお勧めできませんが、古いバージョンでも肝になる部分はとても勉強になるので、手元に置いておくのも良いでしょう。
ユーザーガイドが最新の情報になるので、そちらのチェックも合わせて行うと安心です。

はじめてのParaView [三訂版] (I/O BOOKS)

はじめてのParaView [三訂版] (I/O BOOKS)

林 真
2,640円(10/30 16:54時点)
Amazonの情報を掲載しています

COMMENT

メールアドレスが公開されることはありません。 が付いている欄は必須項目です