マルチフィジクス解析のための可視化C支援環境:Mpave
1.はじめに
- Mpaveは、プレおよびポスト処理の対話型支援環境プログラムです。この支援環境プログラムを用いることにより、コンピュータのハードウェア/ソフトウエアの資源を最大限に活用でき、プログラムを拡張することができます。
- Mpaveは、対話型Python言語により開発されていますが、より一般的なプログラミング言語であるC、C++ あるいはJavaとのインタフェースをとることが出来きます。
- また、小規模なクライアントでのオペレーティング・システムに対応できるようにクライアント/サーバ型システムとなっています。このような設計思想は、異なるオペレーティング・システム間でのプログラム可搬性を容易にします。
2.CADセントリック・ソフトウェア
CADセントリック・ソフトウェアを実現するため、ソリッド・モデルにアクセスできる様、次の2つの方針に基づき設計を行いました。
- 第1の方針は、主要なCAD形式へのアクセスを可能にすることです。即ち、ACIS、ParaSolids、ProE、CatiaおよびOpenCascade形式の読み込みです。また、IGES、STL およびSTEPのような標準の幾何学形状変換形式のサポートも出来るようにしました。
- 第2の方針は、ソリッド・モデルを作成・編集するためのソリッド・ モデラの実装です。この方針は既に利用可能なCADプログラム機能を再製するものではなく、既存のソリッド・モデルの修復と同様に、編集が場合によって必要となるためです。
しかしながら、特定のソリッド・モデルにおいて結合の欠落(leak-tight volume)のために完全にモデルが修復できないことに直面することがあります。このような場合には、STL ファイルを生成し、結合の欠落部の障害を取り除きCADデータの修復を行います。
3.メッシュ分割
- メッシュ分割には、Simmetrix社のエンジンを採用しています。このメッシュ分割では、上述の2つのタイプのソリッド・モデルを区別します。幾何学的エンティティ(geometric entities)がボリューム、サーフェースおよびエッジとして定義されるCAD タイプでは、幾何学的エンティティがそのモデル構成を維持されるようにメッシュ分割されます。
- ここで特に留意する点は、FE データの記述において幾何学的エンティティを使用することはFE データのうちメッシュデータとその残りのデータが独立したものとなり、その結果アダプティブメッシュ機能を実装し易くなることです。
- Delauney三角形分解はどのような結合の欠落でも分割を保証するので、メッシュ分割において四面体要素を基本タイプとしました。線形および二次の要素タイプも選択可能です。要素サイズのコントロールは、要素の曲率に沿うように追加調整して自動的に行われます。
4.モデル構築
- 解析モデル構築のためのGUI設計において考慮すべき主な事項は、独自の入力形式を定義するか、あるいは既に使用されている商用の形式を採用するかです。多くの商用フロントエンドプログラムは、自身の形式を採用し、それらを中立的なファイル形式として参照しています。そして、モデルデータは望ましい最終形式に順次変換されます。
- よく知られているフロント・エンドプログラムの1つがFEMAP であり、このシステムではこのようなアプローチを採用しています。このようなアプローチは、1つの形式から多くの他の形式へのインタフェースを最小の労力で作成することができます。
- 一方、MpaveではGUIと柔軟なデータベースの開発を容易にするため、データベースにおいてFEAモデルを中心に考え、広く用いられている各ユーザ形式に対するGUIを開発することとしました。
- また、この設計では、ユーザが最も精通しているプログラム形式に対して個々のユーザ嗜好の組込みを可能とします。同時に装備した形式の何れかにデータを書き出す機能をユーザに提供します。最初の開発では、NASTRAN、FEMAPおよびMPACTシステムのためのGUIを開発することとしました。
- 右にNASTRAN形式で、面にPLOADを定義した例題を示します。
5.ポスト処理
ポスト処理設計において重要なことは、種々の解析結果へアクセスができることです。
これに加え1つのプログラムの出力を他のプログラムの入力へ変換できる強力なポスト機能も必要となります。
- 一般的なポスト処理機能
- 変形図、コンター図、ベクトル図、履歴図、各種境界条件表示
- 他のプログラムへの入出力機能
- この機能は、異なったマルチ・フィジックス問題での弱連成解析の基本となります。例えば、流体-固体の相互作用問題では、流体解析プログラムでの圧力と加速度を応力解析プログラムの節点荷重への載荷に変換します。
- この機能は、異なったマルチ・フィジックス問題での弱連成解析の基本となります。例えば、流体-固体の相互作用問題では、流体解析プログラムでの圧力と加速度を応力解析プログラムの節点荷重への載荷に変換します。
6.プログラム拡張
- Mpaveプログラム使用に関する各段階でpythonコードの機能を組み込むことによって設計の利点を導くことができます。
プログラムはユーザがコンピュータ資源に際限無しにアクセスできるよう拡張が行われ、この結果アクティブなプログラミング環境を構築することができます。
- このアクセスは、pythonスクリプトを実行することによって可能となります。プログラムによって実行された全ての実行可能なインストラクションは記録され、pythonファイル( mpave.py )に格納されます。これは、ジャーナルによる処理と呼んでいます。
- ジャーナルはスクリプトとして保存され、次に3つの方法で実行されます。
1.コピーとクリップボードから読み込むことによって
2.スクリプトを実行することによって
3.スクリプトの保存と実行によって
7.MPaveドキュメント
Mpaveを用いたソリッドモデリング方法、メッシュ分割法、有限要素解析用の前処理、後処理機能等、豊富な各種ドキュメントを用意しています。
- MpaveMeshリファレンスマニュアル
ソリッドモデル作成およびメッシュ作成に関するリファレンスマニュアル。
- MpaveModelリファレンスマニュアル
解析のための諸条件作成および解析結果表示に関するリファレンスマニュアル。
- MpaveMeshを用いた形状モデリング手引書 基礎編 (オプション)
解析対象のソリッドモデルを作成するための入門書
- MpaveMeshを用いた形状モデリング手引書 実務編 (オプション)
実務的な例題を対象としたソリッドモデル作成のための実務書 - GETTING STARTED WITH MPAVE-MPACT (英語、日本語訳)
設計技術者のための解析手引書 - MDBインタフェースプログラミング・マニュアル(オプション)
Mpact/Mpaveのモデルデータをカスタマイズするプログラム