エイシーティ株式会社は、CAE構築・推進のためのベストパートナーです。

Mpave

マルチフィジクス解析のための可視化CAE支援環境:Mpave

1.はじめに

 Mpaveは、プレおよびポスト処理の対話型支援環境プログラムです。この支援環境プログラムを用いることにより、コンピュータのハードウェア/ソフトウエアの資源を最大限に活用でき、プログラムを拡張することができます。

Mpaveのメインウインドウ

 以下、このプログラムをマルチ・フィジックス解析可視化環境:Multi physics Adaptive Visual Environment (MPAVEあるいは単にMpave)と呼びます。

 Mpaveは、対話型Python言語により開発されていますが、より一般的なプログラミング言語であるC、C++ あるいはJavaとのインタフェースをとることが出来きます。

 また、小規模なクライアントでのオペレーティング・システムに対応できるようにクライアント/サーバ型システムとなっています。このような設計思想は、異なるオペレーティング・システム間でのプログラム可搬性を容易にします。

 CADセントリック・ソフトウェア

CADセントリック・ソフトウェアを実現するため、ソリッド・モデルにアクセスできる様、次の2つの方針に基づき設計を行いました。

  • 第1の方針は、主要なCAD形式へのアクセスを可能にすることです。即ち、ACIS、ParaSolids、ProE、CatiaおよびOpenCascade形式の読み込みです。また、IGES、STL およびSTEPのような標準の幾何学形状変換形式のサポートも出来るようにしました。
  • 第2の方針は、ソリッド・モデルを作成・編集するためのソリッド・ モデラの実装です。この方針は既に利用可能なCADプログラム機能を再製するものではなく、既存のソリッド・モデルの修復と同様に、編集が場合によって必要となるためです。

 なお、Mpave開発の初期段階では、TransMagicのような商用の3次元CADデータ修復/変換プログラムを活用することとしました。

 しかしながら、特定のソリッド・モデルにおいて結合の欠落(leak-tight volume)のために完全にモデルが修復できないことに直面することがあります。このような場合には、STL ファイルを生成し、結合の欠落部の障害を取り除きCADデータの修復を行います。

 メッシュ分割

メッシュ分割には、Simmetrix社のエンジンを採用しています。このメッシュ分割では、上述の2つのタイプのソリッド・モデルを区別します。幾何学的エンティティ(geometric entities)がボリューム、サーフェースおよびエッジとして定義されるCAD タイプでは、幾何学的エンティティがそのモデル構成を維持されるようにメッシュ分割されます。

MpavePythonでの6面体要素生成

ここで特に留意する点は、FE データの記述において幾何学的エンティティを使用することはFE データのうちメッシュデータとその残りのデータが独立したものとなり、その結果アダプティブメッシュ機能を実装し易くなることです。なお、離散した幾何学交換形式(discrete geometry exchange format)では、幾何学的エンティティが存在しないのでモデル構築のためには利用することはできません。

Delauney三角形分解はどのような結合の欠落でも分割を保証するので、メッシュ分割において四面体要素を基本タイプとしました。線形および二次の要素タイプも選択可能です。要素サイズのコントロールは、要素の曲率に沿うように追加調整して自動的に行われます。さらに、MpavePythonでの六面体要素は、四面体要素を4つの6面体要素に再分割することにより生成します。

図4においてソリッド・モデルの曲面形状に沿っていることと同様に、穴の周りでの曲率形状制御のためにサイズが調整されていることに留意してください。これらの機能により妥当なメッシュ・サイズを有したよいメッシュ分割が得られます。

 モデル構築

解析モデル構築のためのGUI設計において考慮すべき主な事項は、独自の入力形式を定義するか、あるいは既に使用されている商用の形式を採用するかです。多くの商用フロントエンドプログラムは、自身の形式を採用し、それらを中立的なファイル形式として参照しています。そして、モデルデータは望ましい最終形式に順次変換されます。

選択面での要素番号の表示

よく知られているフロント・エンドプログラムの1つがFEMAP であり、このシステムではこのようなアプローチを採用しています。このようなアプローチは、1つの形式から多くの他の形式へのインタフェースを最小の労力で作成することができます。

一方、MpaveではGUIと柔軟なデータベースの開発を容易にするため、データベースにおいてFEAモデルを中心に考え、広く用いられている各ユーザ形式に対するGUIを開発することとしました。

また、この設計では、ユーザが最も精通しているプログラム形式に対して個々のユーザ嗜好の組込みを可能とします。同時に装備した形式の何れかにデータを書き出す機能をユーザに提供します。最初の開発では、NASTRAN、FEMAPおよびMPACTシステムのためのGUIを開発することとしました。

以下にNASTRAN形式で、面にPLOADを定義した例題を示します。サーフェース上にカーソルを置くことによって、プログラムはその表面上にある要素を選択・表示できます。

要素面に載荷する圧力表示

マウスクリックにより面が選択されると、プログラムは要素面に載荷される圧力を表示します。再度、要素上にカーソルを持って行くと、載荷される圧力値が表示されます。セーブボタンを押すことによって、ユーザはここまでの作業を保存できることになります。

 ポスト処理

ポスト処理設計において重要なことは、種々の解析結果へアクセスができることです。これに加え1つのプログラムの出力を他のプログラムの入力へ変換できる強力なポスト機能も必要となります。

この機能は、異なったマルチ・フィジックス問題での弱連成解析の基本となります。例えば、流体-固体の相互作用問題では、流体解析プログラムでの圧力と加速度を応力解析プログラムの節点荷重への載荷に変換します。

次に応力解析プログラムでの解析結果は、流体解析プログラムの速度として引き渡されます。ここで必要なことは、流体解析プログラムでの加速度が応力解析プログラムでの節点力へ変換できるよう節点での等価質量を計算することです。

 プログラム拡張

スクリプトコマンドの表示

Mpaveプログラム使用に関する各段階でpythonコードの機能を組み込むことによって設計の利点を導くことができます。プログラムはユーザがコンピュータ資源に際限無しにアクセスできるよう拡張が行われ、この結果アクティブなプログラミング環境を構築することができます。

このアクセスは、pythonスクリプトを実行することによって可能となります。プログラムによって実行された全ての実行可能なインストラクションは記録され、pythonファイル( mpave.py )に格納されます。これは、ジャーナルによる処理と呼んでいます。

ジャーナルはスクリプトとして保存され、次に3つの方法で実行されます。
1.コピーとクリップボードから読み込むことによって
2.スクリプトを実行することによって
3.スクリプトの保存と実行によって

MPACT, MpaveModel, 及びWordPadを追加したAdd tools表示例

スクリプトの実行に対するメニュー・ダイアログは、画面下に表示されます。これらのスクリプト実行は、Mpaveの内部機能に関係します。外部プログラムとのインタフェースは”add tools“機能を介して行われ、実行コマンドが外部プログラムの実行を可能にします。

このスクリプトの例として、特定のディレクトリにファイルがコピーされるとexecute(実行)とdelete(削除)の機能が実行できるようなスクリプトを装備しました。これは、1つのプログラムが完了した時、次の複数のプログラムが順番に実行することを可能とします。

 他システムとのインテグレーションについて

本資料において、マルチフィジックス・プログラム解析、及び解析結果処理を支援する、アダプティブなCAE支援環境について説明しました。

ここで述べました支援環境は、例えばパラメトリックな解析を行うための最適化プログラム、また解析プログラムが特別の訓練や経験無しのユーザに使用できるようにするために必要な設計・解析を誘導するエキスパートシステムとのインテグレーションが可能であります。


「製品情報サイト」へ