計算工学講演会論文集 Vol.3(1998年5月)                               計算工学会

材料設計における資源の統合化と設計環境の構築
Design of Workbench for Integration of Resources in Material Design

七丈 直弘1),芦野 俊宏2), 岩田 修一3)
Naohiro SHICHIJO, Toshihiro ASHINO and Shuichi IWATA

1)東京大学工学系研究科システム量子工学専攻(〒113-0033 東京都文京区本郷7-3-1, shichi@race.u-tokyo.ac.jp)
2)工博 東京大学講師 人工物工学研究センター(〒153-8904 東京都目黒区駒場4-6-1, ashino@race.u-tokyo.ac.jp)
3)工博 東京大学教授 人工物工学研究センター (〒153-8904 東京都目黒区駒場4-6-1, iwata@race.u-tokyo.ac.jp)

The importance of the role of computational information processing in material design is increasing as 
the computational power increases.      Theoretically, it is considered feasible to perform so called Virtual 
Experiments by combining those resources, lack in the common API refusing such evolvement. In this 
paper, outlines of Virtual Experiment System are described. We developed by combining computational 
resource components in JavaBeans.

Key Words :  Phase Diagram, Spinodal Decomposition, JavaBeans, CORBA


1. 材料設計支援環境
個々の材料設計の事例を分析してみると、それは実験の実施、実験データの収集、他のケースとの比較、仮説の設定、数値シュミレーションによる検証、実際の材料を用いた試験、などといった過程の繰り返しによって、構築されていることがわかる。その中でも、数値シュミレーションや、データベース参照などといった情報処理を含んだ部分は、計算シュミレーション技術の高度化、データリソースの充実によって、近年その重要性を増しており、それらを巧みに組み合わせることによって、材料設計のシミュレーションを実時間で行えるようなシステムの構築が近い将来可能であるということが予想されている。そのような設計環境構築のためには、数値計算コード、データベース参照などの、特定の処理を実行するための部品(コンポーネント)を資源の有効活用の観点から、再利用な形で提供を計ることが本来望ましい。また、コンポーネントのインタフェース、通信プロトコルも標準化された手順で提供されるべきである。
本研究では、既存のコンポーネントアーキテクチャであるJavaBeans1)を用い、データベース参照、計算シミュレーションコンポーネントを同アーキテクチャに沿った形で記述し、全体として仮想実験システム構築を行った例を示す。

2. 実験システムの概要
コンポーネント化による仮想実験環境を用意するために以下の様なシステムを構築した。
  (1) 状態図データベースサーバ
状態図データベースサーバの中には、ASM Binary Alloy Phase Diagrams2)を参照して独自にベクトル化を行ったいくつかの二元系合金状態図が格納されている。データベースソフトウェアとしてはPostgreSQLを用い、ネットワークからSQLによるアクセスが可能になっている。

(2)データベース処理コンポーネント
データベース処理コンポーネントの例として、二元合金状態図データベースから検索した情報をブラウジングするためのコンポーネントを作成した。過去にJavaで記述したアプレットをベースとし、そのBean化を行った。データベースサーバから指定した組成の状態図を取得し、画面に表示する。ユーザーは、マウスでクリックすることによって希望する組成比を指定することが可能である。

(3) ミクロ組織変化シミュレーションコンポーネント
例題としてスピノーダル分解を選び、与えられた情報(組成比)を基に相形成のシミュレーションを行う。ここでは、Coupled Map Lattice3)を用いた。そのlate stageにおける結果として得られる組織構造が次段階への入力として与えられるようになっている。
スピノーダル分解はCahn-Hilliard-Cookの式で表されることが多いが、ここではCMLによってこれの離散化に相当するものを用いてシミュレーションを行った。

(4) 応力解析コンポーネント
OOF4)は、有限要素法ソルバであり、ミクロ構造における熱弾性計算を行うソフトウェアである。入力としては、計算シミュレーション、あるいは電子顕微鏡などによって得られた組織の画像ファイル(PPM形式)を取る。OOFは独立したソフトウェアであり、実行形式のみが配布されている。しかしながら、行うべき処理をスクリプトの形で記述することで、完全に自動処理を行うことができる。これに対するインタフェースをJavaBeansとして製作した。

以上で、全体としてad-hocな仮想実験環境が構築された。システム実行時の画面を図1に示す。最終的に得られた塑性変形シミュレーションの結果を図2に示す。

 
図1. 実験システム実行時のスナップショット

 
図2. OOFによるシミュレーション結果例


3. 考察

(1) 計算量が多大な数値計算の場合

計算量が多大な数値シミュレーションの場合には、Java言語で計算コード全てを記述するのが現実的でなく、分散処理を行うことが必要となる。分散処理の枠組として頻繁に使用されているものとしては、PVM, RMI, CORBA5)などがある。現状では、各計算機ベンダが固有のアーキテクチャに対して最適化した製品を出しているPVMが通信オーバヘッドが少ないという点でより優れている。しかしながら、JavaBeansというコンポーネントアーキテクチャとの親和性という点からは、RMIとCORBAが優れている。RMIはその設計段階でJavaを中心としたターゲットとしているのに対して、CORBAでは特に言語を選ばないため、汎用性という観点からより優れている半面プログラミングが若干繁雑になる。ビジネスアプリケーションでは、情報通信の手段としてCORBAを使用することが一般的になりつつあり、将来、商用計算コードもCORBA準拠で作成されるであろうことが予想される。

(2) メタデータ管理と設計知識の収集
将来コンポーネント化された多様な計算コードが提供されるようになっていくことが予想される。その場合、与えられた設計問題に対して、どのコンポーネントをいかなる形態で用いるのが良いのかを示唆するシステムが必要となる。また、コンポーネントの数に対するスケール化問題を解消するには、コンポーネントのメタデータを管理システムが重要になっていく。

4. 結論
コンポーネントアーキテクチャを用いた仮想実験システムが容易に構築されることが検証された。通常の個別のソフトウェア開発に比べて、工期が伸びることが期待されたが、実際には大差ないことが確認された。コンポーネントアーキテクチャは計算シミュレーションにおいてはソフトウェアメーカが採用しつつあり6)、今後、高速に浸透していくことが期待される。本研究により、コンポーネント化された部品をビジュアルワークベン上で試行錯誤しつつ、材料設計を行うことができる環境のプロトタイプが示された。

参考文献
1) Graham Hamilton Ed., Java Beans API Specification, Sun Microsystems, 1997.
2) Thaddeus B. Massalski Ed., Binary Alloy Phase Diagrams, Second Edition, ASM International 1990.
3) Yoshitsugu Oono and Aritomo Shinozaki, Cell Dynamical Systems, Forma, 4, 75-102, 1989.
4) W. Craig Carter, Stephen A. Langer and Edwin R. Fuller Jr., The OOF Manual: Version 0.004, NIST, Jan 8 1998.
5) CORBA 2.1 Specification, OMG, Sep 23, 1997.
6) C2WebBuilder,http://www.msi.com/weblab/webbuilder/info/, Molecular Simulations Inc. 1998.