1. はじめに

ParaView is an open-source application for visualizing two- and three-dimensional datasets. The size of the datasets ParaView can handle varies widely depending on the architecture on which the application is run. The platforms supported by ParaView range from single-processor workstations to multiple-processor distributed-memory supercomputers or workstation clusters. Using a parallel machine, ParaView can process very large data sets in parallel and later collect the results. To date, ParaView has been demonstrated to process billions of unstructured cells and to process over a trillion structured cells. ParaView’s parallel framework has run on over 100,000 processing cores.

ParaView’s design contains many conceptual features that make it stand apart from other scientific visualization solutions.

  • オープンソース、スケーラブル、マルチプラットフォームな可視化アプリケーション。

  • Support for distributed computation models to process large datasets.

  • オープンで柔軟、かつ直感的なユーザーインターフェース。

  • オープンスタンダードに基づく、拡張可能なモジュール式アーキテクチャ。

  • 柔軟なBSD3条項ライセンス。

  • 商業用保守・サポート。

../../_images/HPCwire-ReadersChoice.png ../../_images/HPCwire-EditorsChoice.png

ParaView は、世界中の多くの学術機関、政府機関、および商業施設で使用されています。ParaView のオープンライセンスのため、ParaView のユーザー数を正確に把握することは不可能ですが、間接的な証拠から数千人規模であると考えられます。例えば、ParaView は毎年およそ10万回ダウンロードされている。ParaView は、2010年と2012年にHPCwire Readers' Choice Awardを、2010年にはHPCwire Editors' Choice AwardのBest HPC Visualization Product or Technology部門を受賞しています。

../../_images/Tank.jpg

図 1.10 ZSU23-4ロシアの対空車両に平面波が直撃している様子。画像提供:Jerry Clarke, US Army Research Laboratory。

../../_images/Fire.png

図 1.11 1000万個の非構造六面体セルによるSIERRA-Fuego-Syrinx-Caloreの疎結合シミュレーションによる横風による物体火災の再現。

../../_images/PeltonTurbine.jpg

図 1.12 ペルトン型タービンのシミュレーション。画像提供:スイス国立スーパーコンピューティングセンター

../../_images/LeMansCar.png

図 1.13 ル・マン・レースカー周辺の気流。画像提供:Renato N. Elias, NACAD/COPPE/UFRJ, Rio de Janerio, Brazil.

これらの可視化で示されるように、ParaView は幅広い応用範囲を持つ汎用ツールである。小さなデータから大きなデータまで対応できることに加え、ParaView は多くの汎用可視化アルゴリズムと、特定の科学分野に特化したものを提供する。さらに、ParaView システムはカスタムの可視化アルゴリズムで拡張することができます。

../../_images/ParaViewLibStack.png

多くの人が ParaView から連想するアプリケーションは、実際には ParaView にその機能を提供するライブラリの高いスタックの上に構築された小さなクライアントアプリケーションに過ぎないのです。ParaViewの機能の大部分はライブラリに実装されているので、次の図に示すように、ParaViewのGUIを独自のカスタムアプリケーションで完全に置き換えることが可能です。さらに、ParaView にはPythonスクリプトで可視化と後処理を自動化できるアプリケーションが付属しています。

ParaView アプリケーションで利用できるのは、ユーザーインターフェイスコンポーネントのライブラリで、アプリケーション間のコード共有を最大化します。ライブラリは、並列でインタラクティブな可視化を実行するために必要な抽象化レイヤーを提供します。これは、クライアントアプリケーションを、ParaView が並列に実行されているかどうか、どのように実行されているかに関する問題の大部分から解放します。()は基本的な可視化およびレンダリングアルゴリズムを提供します。VTKは、レンダリング、並列処理、ファイルI/O、並列レンダリングなどの基本的な機能を提供するために、他のいくつかのライブラリを組み込んでいます。このチュートリアルでは、ParaView クライアントアプリケーションを通して ParaView の使用を実演しますが、ParaView のモジュール設計が非常に多くの柔軟性とカスタマイズを可能にすることに留意してください。

1.1. 開発・資金調達

ParaView プロジェクトは、2000年にKitware Inc.とLos Alamos National Laboratoryの共同作業として始まりました。最初の資金は、米国エネルギー省の ASCI Views プログラムとの 3年間の契約によって提供されました。最初の一般向けリリースである ParaView 0.6 は、2002年10月に発表されました。ParaView の開発は、Sandia National Laboratories、Los Alamos National Laboratories、Army Research Laboratory、その他様々な学術機関や政府機関とのKitware Inc.の協力により継続されています。

2005年9月、Kitware社、Sandia国立研究所、CSimSoft社は、ParaView 3.0の開発を開始しました。これは、ユーザーインターフェースをより使いやすいものに書き換えることと、定量分析のフレームワークを開発することに焦点を当てた大きな取り組みでした。ParaView 3.0は2007年5月にリリースされました。

この時から、ParaView の開発は続いています。2013年6月にリリースされた|ParaView| 4.0は、よりまとまりのあるGUIコントロールと、より優れたマルチブロックインタラクションを導入しています。その後のリリースでは、シミュレーションや他のアプリケーションにその場で統合するためのCatalystライブラリも含まれています。ParaView 5.0は2016年1月にリリースされ、レンダリングシステムのメジャーアップデートを提供しました。新しいレンダリングでは、OpenGL 3.2の機能を活用し、大幅な性能向上を実現しました。その後のリリースでは、OSPRayライブラリによるレイキャストレンダリングのサポートも追加されました。

ParaView の開発は今日も続いています。Sandia National LaboratoriesはASCプロジェクトを通じて、ParaView の開発に資金を提供し続けています。ParaView はSciDAC Scalable Data Management, Analysis, and Visualization (SDAV) Institute Toolkit https://sdav-scidac.org の一部です。米国エネルギー省もロスアラモス国立研究所と様々なSBIRプロジェクトや他の契約を通じて ParaView に資金を提供しています。米国国立科学財団も、SBIRプロジェクトを通じてしばしば ParaView に資金を提供しています。その他の機関も ParaView のサポート契約を結んでいます。フランス電力、ミラコ、石油業界の顧客などです。また、ParaViewはオープンソースのプロジェクトであるため、スイス国立スーパーコンピューティングセンターのような他の機関も独自の開発で貢献しています。

1.2. 可視化の基礎

../../_images/BasicsOfVisualization.png

簡単に言うと、可視化のプロセスは、生のデータを、人間が見て理解できる形に変換することです。これにより、データをより認知的に理解することができるようになります。科学的可視化は、特に2Dまたは3D空間において明確に定義された表現を持つデータのタイプに関係しています。シミュレーションのメッシュやスキャナーのデータは、この種の分析に適しています。

データの可視化には、読み込み、フィルタリング、レンダリングという3つの基本ステップがあります。まず、データを ParaView に読み込まなければなりません。次に、データから特徴を生成、抽出、または導き出すために、データを処理する**フィルター** を任意の数を適用することができます。最後に、データから表示可能な画像がレンダリングされます。

ParaView は主に空間表現を持つデータを扱うために設計されました。したがって、ParaView で使用される主な data types はメッシュです。

../../_images/ImageData.png

一様直線格子 (Image Data)

一様な直交格子とは、1次元、2次元、3次元のデータの配列のことである。各点は互いに直交し、各方向に規則正しく配置されています。






../../_images/RectilinearGrid.png

非一様直線格子 (Rectilinear Grid)

一様直線格子と似ているが、点間の間隔が各軸に沿って変化することがあります。







../../_images/StructuredGrid.png

曲線格子 (Structured Grid)

曲線格子のトポロジーは非一様直線格子と同じである。しかし、曲線格子の各点は、任意の座標に配置することができます(ただし、セルが重なり合ったり、自己交差したりしないことが条件)。曲線格子は、非一様直線格子よりコンパクトなメモリフットプリントと暗黙のトポロジーを提供する一方で、メッシュの形状をより多様にすることができます。


../../_images/PolyData.png

ポリゴン (Poly Data)

Polygonal datasets are composed of points, lines, and 2D polygons. Connections between cells can be arbitrary or non-existent. Polygonal data represents the basic rendering primitives. Any data must be converted to polygonal data before being rendered (unless volume rendering is employed), although ParaView will automatically make this conversion.


../../_images/UnstructuredGrid.png

非構造格子

Unstructured datasets are composed of points, lines, 2D polygons, 3D tetrahedra, and nonlinear cells. They are similar to polygonal data except that they can also represent 3D tetrahedra and nonlinear cells, which cannot be directly rendered.




In addition to these basic data types, ParaView also supports multiblock data. A basic multiblock dataset is created whenever datasets are grouped together or whenever a file containing multiple blocks is read. ParaView also has some special data types for representing Hierarchical Adaptive Mesh Refinement (AMR), Hierarchical Uniform AMR, Octree, Tabular, and Graph type datasets.

1.3. その他の情報

ParaView についての詳しい情報は、いろいろなところで見ることができます。ParaView Guide と題されたマニュアルは、ハードコピーとして購入することもできますし、https://docs.paraview.org/ から無料でダウンロードすることもできます。

ParaView のウェブページ、https://www.paraview.org/ParaView に関するより多くの情報を見つけるのに最適な場所でもあります。そこからは、ParaView のDiscourseフォーラム、Wikiページ、よくある質問、そして専門的なサポートサービスについての情報など、役に立つリンクが見つかります。

../../_images/HelpMenu.png

ParaView のメニューは、有用な情報を見つけるのに適した場所であり、ドキュメントやトレーニング資料へのリンクが多数含まれています。メニューには、前述の ParaView Guide やウェブページを直接呼び出す項目があります。また、このメニューには、Getting Started with ParaView ガイド、複数のチュートリアル(このチュートリアルを含む)、およびいくつかの可視化例を含むいくつかのトレーニング教材が用意されています。