トポロジカルデータ解析のCAEへの適用例
By K.Yoshimi
はじめに
近年、センサーから取得されるカオスな時系列データ等が大量に蓄積され続けています。
また、CAE分野においても、マシンの能力向上にともない、シミュレーション結果も大規模化し、 データの幾何的構造も複雑さが増大しています。
このような状況下で、データの蓄積は進むものの、データを解釈したり利活用することが困難になってきております。
そんな中、複雑なデータを視覚的な形として、ざっくりと捉えたり、抽象化するツールである トポロジカルデータ解析(Topological Data Analysis, 以下、TDA)が注目されています。
TDAは、汎用的で頑健かつ効率の良い技術なので、乱流燃焼、材料科学、 原子力、流体力学、生体イメージング、量子科学、天体物理学など、CAEを含めた様々な応用例を見ることができます。
TDAが強力なツールであるならば、ぜひ、CAEに適用してみたいと思うのですが、 書物や解説を見ると純粋数学的な説明が多く、とっつきにくい印象です。
そこで、本記事では、TDAのCAEへの適用例を見て、動かす方法を紹介します。
トポロジカルデータ解析のCAEへの適用例
TDAのCAEへの適用例は、TDAを扱う TTK(The Topology ToolKit) にいくつか見ることができます。
これらの例を実際に動かしてみることで、TDAへの理解を進められるでしょう。
これらの例を動かす最も簡単な方法は、 オープンソースの可視化ソフトウェアParaViewに Version 5.10から導入されたTTKプラグインを使用する方法です。
TTKプラグインのロード
ParaViewでTTKを使用するには、TTKプラグインをロードする必要があります。
ParaViewにTTKプラグインをロードするには、まず、ParaViewを起動し
Tools > Manage Plugins…
から、Plugin Managerを起動します。 そして、Topology ToolKitプラグインを選択して、ロードします。
以上のように、ParaViewにTTKプラグインをロードしておくと、TTKの例題を動かせるようになります。
TTKデータの取得
TTKの使用例は、ttk-data repository レポジトリににあるttk-dataをgitでcloneして取得することができます。
gitを使える環境で、以下のコマンドを実行するとttk-dataを取得できます。
git clone --recursive https://github.com/topology-tool-kit/ttk-data.git
TTKのサンプルの実行
TTKのサンプルを実行するには、ttk-dataフォルダにあるstateフォルダ内の*.pvsmをParaViewに読み込むことで行います。
例えば、ttk-data/states/mergeTreeFeatureTracking.pvsmを
File > Load state…
から読み込んでみましょう。
-
Load State Data File Optionsに
Search files under specified directory -
Data Directoryに
ttk-dataフォルダ
をそれぞれ指定し、OKします。
すると、下図のように、サイクロンの中心を時系列で追跡した結果が表示されます。 ここに、TDAをCAEに適用する方法が詰まっています。
また、ParaViewの左のほうにあるPipeline Browserを上から順に追っていくことで、だいたいの使用法が分かります (TDAの代表的なツールであるPersistence Diagramの文字も見えます。ただし、解読は難しい・・・)。
これ以外にも、TTK Examplesに 多くの例が用意されていますので、試してみると良いと思います。(動かないものもありますが・・・)
おわりに
本記事では、トポロジカルデータ解析をCAEに適用する例を、 見て、動かす方法として、ParaViewのTTKプラグインを紹介しました。
ただ、例題の説明が少ないため、解読が難しく、 自分のデータにどのように適用するかを知るには、 論文までさかのぼる必要も感じられ、なかなか難しいものがあります。 (あるいは、位相幾何学などの書物を紐解く必要があるのかもしれません。)
本記事が、トポロジカルデータ解析をCAEに活用するためのとっかかりになればと思います。