演題 任意結晶面における原子のマウスマニピュレーション
発表者
(所属)
○福地正行, 野口文雄,花岡伸樹, 小林秀彦, 三浦 弘
(埼玉大学工学部)
連絡先 〒338 浦和市下大久保255
TEL/FAX 048-858-3536
E-mail noguchi@apc.saitama-u.ac.jp
キーワード 空隙, 結晶構造,VRML
開発意図
適用分野
期待効果
特徴など
結晶多面体に原子がパッキングしている状態をVRML(Virtual Reality Modeling Language)で表示し,マウス操作で任意結晶面 の原子を自由にマニピュレートできるソフトウェアの開発
環境 適応機種名 PC98シリーズ、DOS/V
O S 名 MS-Windows95,MS-Windows98,MS-WindowsNT
ソース言語 Borland C++, Borland C++ Builder
周辺機器 メインメモリ 32MBバイト以上推奨
流通形態
右のいずれ
かに○をつけ
てください)
  • 化学ソフトウェア学会の
    無償利用ソフトとする
  • 独自に配布する
  • ソフトハウス、出版社等から市販
  • ソフトの頒布は行わない
  • その他
  • ○未定
具体的方法


1 はじめに

 触媒設計を行う際に,結晶面の吸着サイトの構造を見たい場合があるが,結晶面の原子配列を理解するのは容易でない。結晶表面の模型を作成する方法もあるが,その方法では多くの計算を必要とし,任意の結晶面の原子配列を知りたい場合,即応できない。そこで,結晶多面体模型を表示し,その中に原子がどのように充填しているかが分かるような描画を行い,任意結晶面の原子配列を視覚化できるようにした。また,VRMLの技術を用いることで,結晶パッキング模型図の原子球を取り除いたり,結晶面を層ごとに分解表示できるようにした。

2 プログラムの概要

 2.1 データベース

 結晶構造を表示させるためには,対象とする結晶の格子定数と原子座標のデータが必要となる。Ralph W.G.WyckoffのCrystal Structuresに掲載された有機,無機あわせて約3,500件のデータについては,すでに自作データベースに登録済みで,ソフトウェアから利用できる状態になっている。未登録結晶についても,新規登録が可能である。また,FIZカールスルーエ,GMELIN研究所が製作した, ICSD(Inorganic Crystal Structure Database)には,無機化合物の結晶構造データが42,000件(1998年現在)収録されており,そのCD-ROMを入手した。本ソフトウェアで,ICSDが利用できるように,個々の無機化合物のテキストデータファイルから,格子定数と原子座標のデータを抽出し,ファイルに保存させ,無機化合物については膨大なデータへのアクセスを可能とした。


 2.2 操作方法

 まず,テキストエディタで結晶面の数,各面指数および多面体の体中心から表面に至る結晶面の層数を書き込んだファイルを作成する。このファイルを読み込み,格子定数の情報から,各結晶面の平面方程式を設定し,これらを連立させて,多面体の各頂点を求め,結晶多面体を描く。面指数と層数の編集が可能なため,同じ種類の結晶面からなる場合でも層数の違いによる多面体の形状変化を確認できる。結晶パッキングでは,多面体表示で用いたファイルをもとに,その多面体に原子球が充填している様子を表示できるため,実際の結晶面での原子配列を擬似的に観察することができる。パッキングの描画方法は,ユーザー指定の結晶面に平行な複数の原子からなる層を考え,その層を積み重ねていくようにして描画していく。これを奥にある層から順に描いていくことで,正しく描画されようにした。この結晶パッキングは,VRMLのスクリプトファイルの形式で保存しているので,アプリケーションからインターネットエクスプローラを呼び出し,Webブラウザ上で表示することができ,マウス操作で自由に,拡大縮小,回転ができる。さらに,VRMLは個々の物体をマウスでクリックし,ドラッグすることができるため,マウス操作で自由に原子球をマニピュレートできる。この機能により,原子を除いた後の結晶表面の様子を見ることができる。また,各層ごとの原子配列を一つのグループにまとめ,マニピュレートさせ,層がどのような状態で積層しているかを観察できるようにした。出力結果の一例として黄鉄鉱(FeS2)を例に,クーボオクタヘドロンの結晶多面体を図1示す。また、VRMLによる結晶パッキング表示例を図2〜4に示した。

fig1.gif fig2.gif
fig3.gif fig4.gif


3 おわりに

 パッキングの描画方法依存し,特定の結晶面に平行な層でしかマニピュレートできないが,積層面のユーザー指定をあらかじめ複数指定させ,各結晶面での層のマニピュレートができるようにバージョンアップしていきたい。