(57)【要約】  コンピュータが行うシミュレーション方法であって、前記コンピュータが、原子配置の安定化計算において、目的構造を単位構造のパターンにより分割し、前記目的構造から単位構造のパターンに相当する１以上の部分を除いた構造に対して、原子間の力が安定する原子の配置位置を計算する安定化計算を行い、前記安定化計算を行って安定化した前記構造に、１又は複数の前記単位構造を追加した追加構造を作成し、前記単位構造を追加した追加構造に対して前記安定化計算を行うことを繰り返すことで、前記目的構造における各原子の配置位置の安定化を行う。
2015132865.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータが行うシミュレーション方法であって、
原子配置の安定化計算において、目的構造を単位構造のパターンにより分割し、前記目的構造から単位構造のパターンに相当する１以上の部分を除いた構造に対して、原子間の力が安定する原子の配置位置を計算する安定化計算を行い、
前記安定化計算を行って安定化した前記構造に、１又は複数の前記単位構造を追加した追加構造を作成し、前記単位構造を追加した追加構造に対して前記安定化計算を行うことを繰り返すことで、前記目的構造における各原子の配置位置の安定化を行う
処理を前記コンピュータが実行するシミュレーション方法。
【請求項２】
前記コンピュータが、
前記追加構造に対する前記安定化計算によって、各原子の移動距離が移動距離閾値未満となった場合、前記繰り返しを終了し、
分割数に対して残り個数分の前記単位構造を前記追加構造に追加して前記目的構造を作成し、作成した前記目的構造に対して前記安定化計算を行う
こと特徴とする請求項１記載のシミュレーション方法。
【請求項３】
前記安定化計算は、分子動力学計算を利用することを特徴とする請求項１記載のシミュレーション方法。
【請求項４】
周期性を保つように前記単位構造を追加して前記追加構造を作成することを特徴とする請求項１記載のシミュレーション方法。
【請求項５】
前記目的構造は、ほぼ周期的で一部だけが異なる構造であることを特徴とする請求項１記載のシミュレーション方法。
【請求項６】
前記目的構造は、端を有するシリコン酸化膜であることを特徴とする請求項１記載のシミュレーション方法。
【請求項７】
前記目的構造は、穴を有するグラフェンシートのユニットセルであることを特徴とする請求項１記載のシミュレーション方法。
【請求項８】
目的構造を単位構造のパターンにより分割し、前記目的構造から単位構造のパターンに相当する１以上の部分を除いた構造に対して、原子間の力が安定する原子の配置位置を計算する安定化計算を行い、
前記安定化計算を行って安定化した前記構造に、１又は複数の前記単位構造を追加した追加構造を作成し、前記単位構造を追加した追加構造に対して前記安定化計算を行うことを繰り返すことで、前記目的構造における各原子の配置位置の安定化を行う
処理をコンピュータに行なわせるシミュレーションプログラムを記憶した記憶媒体。
【請求項９】
原子配置の安定化計算の対象である目的構造を単位構造のパターンにより分割し、前記目的構造から単位構造のパターンに相当する１以上の部分を除いた構造を安定化させた初期構造を記憶した記憶部と、
原子配置の安定化計算において、前記初期構造から１又は複数の前記単位構造を累積して追加することで追加構造を作成する作成部と、
前記作成部によって前記追加構造が作成される毎に、前記追加構造に対して前記安定化計算を行って、前記目的構造における各原子の配置位置の安定化を行う計算部と
を有するシミュレーション装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、分子動力学計算によって安定な原子配置を求める技術に関する。
【背景技術】
【０００２】
近年、結晶構造をコンピュータを用いたシミュレーションによって解析することが行われている。このようなシミュレーション技術として、引き上げ法による単位結晶内のボイド及び内壁酸化膜からなるボイド欠陥の密度分布及びサイズ分布を正確に予測する技術が知られている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００４−３５６２５３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、コンピュータによるナノスケール構造のシミュレーションでは、ほぼ周期的な構造の一部だけが異なる構造について、安定な原子配置を求めたい場合が多くある。安定な原子配置を求めたい場合として、ほぼ周期的な構造に端がある場合、不純物がある場合等が考えられる。【０００５】
安定な原子配置を求めるということは、原子にかかる力を計算し、全ての原子において各原子にかかる力が収束判定値より小さくなるまで、その力に従って原子を動かす処理を繰り返すことである。安定な原子配置を求めることを安定化計算と呼び、安定な原子配置が求められた構造を安定化された構造と呼ぶ。【０００６】
安定化したい構造について、従来はその構造全体を一度に安定化する計算を行ってきた。しかし、そのような従来法は、小規模構造では問題なく安定化の計算が収束するが、１０００原子以上のような大規模構造では計算が収束しないという問題がある。【０００７】
本発明の目的は、原子配置の安定化計算を高速に収束させることである。
【課題を解決するための手段】
【０００８】
開示の技術は、コンピュータが行うシミュレーション方法であって、原子配置の安定化計算において、目的構造を単位構造のパターンにより分割し、前記目的構造から単位構造のパターンに相当する１以上の部分を除いた構造に対して、原子間の力が安定する原子の配置位置を計算する安定化計算を行い、前記安定化計算を行って安定化した前記構造に、１又は複数の前記単位構造を追加した追加構造を作成し、前記単位構造を追加した追加構造に対して前記安定化計算を行うことを繰り返すことで、前記目的構造における各原子の配置位置の安定化を行う処理を前記コンピュータが実行するシミュレーション方法を提供する。【０００９】
また、上記課題を解決するための手段として、シミュレーションプログラムを記憶した記憶媒体、及び、シミュレーション装置とすることもできる。
【発明の効果】
【００１０】
開示の技術では、原子配置の安定化計算を高速に収束させることができる。
【図面の簡単な説明】
【００１１】
【図１】端がある構造例を示す図である。
【図２】不純物がある構造例を示す図である。
【図３】図３（Ａ）及び図３（Ｂ）は原子構造安定化処理の一般的例を説明するための図である。
【図４】本実施例に係る原子構造安定化方法を説明するための図（続く）である。
【図５】本実施例に係る原子構造安定化方法を説明するための図（続き）である。
【図６】原子構造安定化装置のハードウェア構成を示す図である。
【図７】原子構造化装置の機能構成例を示す図である。
【図８】手順（３）から手順（７）までの処理を説明するためのフローチャート図である。
【図９】端がある構造の具体例を示す図である。
【図１０】シリコン酸化膜に対する原子構造安定化処理の例を示す図である。
【図１１】図９に示す構造に対する本実施例と従来技術との比較を説明するためのグラフ図である。
【図１２】ほぼ周期的で一部だけが異なる構造の具体例を示す図である。
【図１３】グラフェンシートに対する原子構造安定化処理の例を示す図（続く）である。
【図１４】グラフェンシートに対する原子構造安定化処理の例を示す図（続く）である。
【図１５】グラフェンシートに対する原子構造安定化処理の例を示す図（続く）である。
【図１６】グラフェンシートに対する原子構造安定化処理の例を示す図（続き）である。
【発明を実施するための形態】
【００１２】
以下、本発明の実施の形態を図面に基づいて説明する。
【００１３】
ナノスケール構造のシミュレーションでは、ほぼ周期的な構造の一部だけが異なる構造について安定な原子配置を求めたい場合が頻繁にある。対象となる構造例について図１及び図２に示す。図１及び図２において、各まる形状が１原子３ａを表し、原子３ａの種類を塗り潰しのパターンで模している。
【００１４】
図１は、端がある構造例を示す図である。図１では、ほぼ周期的で一部だけが異なる構造の一例として、端８がある構造１０を示している。構造１０における構造部分９はほぼ周期的な構造を示す。
【００１５】
図２は、不純物がある構造例を示す図である。図２では、ほぼ周期的で一部だけが異なる構造の一例として、不純物７がある構造２０を示している。不純物７を除いた構造部分はほぼ周期的な構造を示す。
【００１６】
原子構造安定化処理では、複数の原子３a間の力Ｆが収束する各原子３aの位置をシミュレーションする。図３（Ａ）及び図３（Ｂ）は原子構造安定化処理の一般的例を説明するための図である。図３（Ａ）に示す原子構造安定化処理において、原子３ａ間の力Ｆ（図３（Ｂ））が予め定めた収束判定値未満であるか否かを判断する（ステップＳ１１）。
【００１７】
原子３ａの力Ｆが収束判定値未満である場合、原子構造安定化処理では、原子構造が未だ安定していないと判断し、原子３aにかかる力Ｆを計算して、力Ｆに従って原子を移動する（ステップＳ１２）。そして、ステップＳ１１における判定処理を行う。
【００１８】
ステップＳ１１及びＳ１２の処理を繰り返すことで、原子３ａ間の力Ｆが収束判定値以上になった場合、原子構造が安定したと判断でき、原子構造安定化処理は終了する。
【００１９】
上述した原子構造安定化処理の一般的な例では、各原子３ａにかかる力を計算し、すべての原子３ａにおいてかかる力が収束判定値より小さくなるまで、その力に従って原子３ａを動かす。小規模構想では、問題なく安定化の計算が収束するが、１０００原子以上となる大規模構造では計算が収束しない場合がある。
【００２０】
以下に、大規模構造における安定化計算の収束性を改善し、計算時間を短縮する、本実施例に係る原子構造安定化方法について説明する。本実施例では、図１に示すようなほぼ周期的で一部だけが異なる構造１０を仮定する。以下において、図１に示す構造１０のような端８を有する構造例で説明するが、図２に示す構造２０のような不純物７を含む構造に対しても、本実施例を適用できる。
【００２１】
図４及び図５は、本実施例に係る原子構造安定化方法を説明するための図である。図４及び図５において、図１に示す構造１０を例として、本実施例に係る原子構造安定化方法を手順（０）から手順（７）で説明する。
【００２２】
手順（０）では、構造１０及び単位構造ｂをシミュレーションの対象として準備する。
【００２３】
手順（１）では、構造１０を単位構造ｂで分割する。構造１０を単位構造ｂで分割することにより、ｍ個の分割された構造b1〜bmを得る。各構造b1〜bmは、単位構造ｂと同様の構造を示す。単位構造ｂは、ここでは、４個の原子３ａを含む原子構造とする。
【００２４】
手順（２）では、単位構造ｂの周期構造を安定化させる。構造b1〜bmは、安定化させたｍ個の単位構造ｂで表現できる。
【００２５】
手順（３）では、構造１０から構造b1〜bmを取り除いた構造a0を安定化させる。構造a0は端８を含む。
【００２６】
手順（４）では、安定化させた構造a0に単位構造ｂを挿入した構造a1を安定化させる。
【００２７】
手順（５）では、手順（４）で安定化させた構造a1に対して、更に単位構造ｂを一つ挿入した構造a2を安定化させる。周期性を保つように単位構造ｂを挿入する。単位構造ｂの中心に単位構造ｂを挿入した例を示しているが、挿入方法を限定するものではない。
【００２８】
単位構造ｂの周期性に基づいて、挿入された単位構造ｂとの周期性が保てれば、単位構造ｂの中心に構造ｂを挿入しても良く、構造a0と単位構造ｂとの間に単位構造ｂを挿入しても良い。
【００２９】
手順（６）では、全原子３ａについて移動距離ｄが与えられた移動距離閾値d0未満になるまで手順（５）を繰り返す。即ち、一つ前のステップで安定化した構造an-1に単位構造bを加えた構造anを安定化させることを繰り返す。あるいは単位構造ｂで構成されるグループを追加してもよい。判定に用いる移動距離閾値d0は、原子３ａ間の距離の凡そ２０％等である。
【００３０】
手順（７）では、残り個数の単位構造ｂ、或いは、単位構造ｂで構成されるグループをまとめて追加して安定化したい構造１０を作成し、安定化計算（シミュレーション）を行う。
【００３１】
上述した本実施例に係る原子構造安定化方法は、図６に示すようなハードウェア構成を有する原子構造安定化装置によって行われる。図６は、原子構造安定化装置のハードウェア構成を示す図である。図６において、原子構造安定化装置１００は、コンピュータによって制御されるシミュレーション装置であって、ＣＰＵ（Central Processing Unit）１１と、主記憶装置１２と、補助記憶装置１３と、入力装置１４と、表示装置１５と、ドライブ装置１８とを有し、バスＢに接続される。
【００３２】
ＣＰＵ１１は、主記憶装置１２に格納されたプログラムに従って原子構造安定化装置１００を制御する。主記憶装置１２には、ＲＡＭ（Random Access Memory）、ＲＯＭ（Read Only Memory）等が用いられ、ＣＰＵ１１にて実行されるプログラム、ＣＰＵ１１での処理に必要なデータ、ＣＰＵ１１での処理にて得られたデータ等を記憶又は一時保存する。
【００３３】
補助記憶装置１３には、ＨＤＤ（Hard Disk Drive）等が用いられ、各種処理を実行するためのプログラム等のデータを格納する。補助記憶装置１３に格納されているプログラムの一部が主記憶装置１２にロードされ、ＣＰＵ１１に実行されることによって、各種処理が実現される。記憶部１３０は、主記憶装置１２及び／又は補助記憶装置１３を有する。
【００３４】
入力装置１４は、マウス、キーボード等を有し、ユーザが原子構造安定化装置１００による処理に必要な各種情報を入力するために用いられる。表示装置１５は、ＣＰＵ１１の制御のもとに必要な各種情報を表示する。
【００３５】
原子構造安定化装置１００によって行われる処理を実現するプログラムは、例えば、ＣＤ−ＲＯＭ（Compact Disc Read-Only Memory）等の記憶媒体１９によって原子構造安定化装置１００に提供される。
【００３６】
ドライブ装置１８は、ドライブ装置１８にセットされた記憶媒体１９（例えば、ＣＤ−ＲＯＭ等）と原子構造安定化装置１００とのインターフェースを行う。
【００３７】
また、記憶媒体１９に、後述される本実施の形態に係る種々の処理を実現するプログラムを格納し、この記憶媒体１９に格納されたプログラムは、ドライブ装置１８を介して原子構造安定化装置１００にインストールされる。インストールされたプログラムは、原子構造安定化装置１００により実行可能となる。
【００３８】
尚、プログラムを格納する媒体としてＣＤ−ＲＯＭに限定するものではなく、コンピュータが読み取り可能な媒体であればよい。コンピュータ読取可能な記憶媒体として、ＣＤ−ＲＯＭの他に、ＤＶＤディスク、ＵＳＢメモリ等の可搬型記録媒体、フラッシュメモリ等の半導体メモリであっても良い。
【００３９】
図７は、原子構造化装置の機能構成例を示す図である。図７において、原子構造化装置１００は、本実施例に係る原子構造安定化処理を行う原子構造安定化処理部２０を有する。原子構造安定化処理部２０は更に、処理部として、入力パラメータ取得部２１と、計算構造作成部２２と、安定構造計算部２３とを有する。ＣＰＵ１１が対応するプログラムを実行することによる処理によって、入力パラメータ取得部２１と、計算構造作成部２２と、安定構造計算部２３とが実現される。
【００４０】
また、記憶部１３０には、入力パラメータ３１、計算構造anの座標３２、出力データ３３等が記憶される。
【００４１】
入力パラメータ取得部２１は、記憶部１３０から入力パラメータ３１を取得する。入力パラメータ３１には、安定化の目的構造の座標４１、分割数ｍ、単位構造ｂの座標４２、移動距離閾値d0等が含まれている。
【００４２】
目的構造の座標４１の取得は、上述した手順（０）に相当する。手順（０）において、一部だけ異なる目的構造の座標４１は、利用者によって与えられる。一部だけ異なる目的構造の座標４１として、構造１０（図１）、又は構造２０（図２）等の座標が入力される。目的構造の座標４１は、目的構造を構成する全ての原子３ａの座標を含む。
【００４３】
また、上述した手順（１）は、利用者によって行われる処理である。目的構造を単位構造ｂのパターンで分割して得た分割数ｍが、利用者から与えられ、記憶部１３０の入力パラメータ３１に記憶される。
【００４４】
上述した手順（２）は、利用者によって予め行われる処理であり、単位構造ｂの周期構造が安定化される。手順（２）は、既存の技術を用いて行う。即ち、単位構造ｂに対して、図３で説明したような原子構造安定化処理を行えばよい。手順（２）での処理は、本実施例における原子構造安定化装置１００とは別の装置で行われてもよい。手順（２）の処理結果として得られる安定化された単位構造ｂの座標４２が入力パラメータ３１の一つとして与えられる。
【００４５】
また、目的構造を安定化する安定化計算の繰り返しの終了を判定する移動距離閾値d0も、利用者によって与えられ、記憶部１３０の入力パラメータ３１の１つとして記憶される。
【００４６】
よって、記憶部１３０内の入力パラメータ３１は、原子構造の座標４１、分割数ｍ、安定化された単位構造ｂの座標４２を含む。
【００４７】
計算構造作成部２２は、一部だけ異なる構造の座標４１からｍ個の単位構造ｂを除いた初期の構造a0から、安定構造計算部２３による安定化計算毎に、１以上の単位構造ｂを挿入した構造を作成する。計算構造作成部２２は、周期性を保つように単位構造ｂを挿入する。
【００４８】
一部だけ異なる構造の座標４１からｍ個の単位構造ｂに相当する部分を除いた構造a0を初期構造として作成する。その後、安定構造計算部２３による安定化計算毎に、計算構造作成部２２は、安定構造計算部２３による安定化後座標４３に対して単位構造ｂを追加することで、安定化計算の対象となる次の構造an（１≦ｎ≦ｍ）を作成する。次の構造anの座標３２は、記憶部１３０に記憶される。
【００４９】
安定構造計算部２３は、任意の分子動力学計算プログラムを実行することによって、構造a0の安定化を行う。安定化の結果得られた座標４３を出力データ３３として記憶部１３０に出力する。出力データ３３は、安定化後座標４３を含む。
【００５０】
分子動力学計算プログラムとして、密度汎関数理論に基づいて基底関数として数値的な原子基底関数を用いた原子分子の電子状態計算を行う、第一原理計算コードOpenMX（http://www.openmx-square.org/）等を用いることが出来る。
【００５１】
上述した手順（３）では、計算構造作成部２２が作成した初期の構造a0を、安定構造計算部２３がシミュレーションを実行することにより、安定化させた構造a0の安定化後座標４３を取得する。安定化後座標４３は、記憶部１３０に格納される。
【００５２】
上述した手順（４）では、計算構造作成部２２が、構造a0を安定化して得た安定化後座標４３に対して、単位構造ｂを挿入した構造a1を作成する。構造a1の座標３２が記憶部１３０に記憶される。安定構造計算部２３は、構造a1の座標３２に基づいて、構造a1を安定化させた構造a1の安定化後座標４３を取得する。
【００５３】
上述した手順（５）では、手順（４）で安定化させた構造a1に対して、計算構造作成部２２は、単位構造ｂを一つ挿入した構造a2を作成する。構造a2の座標３２が記憶部１３０に記憶される。そして、安定構造計算部２３が、構造a2に対してシミュレーションを実行することにより、安定化させた構造a2の安定化後座標４３を取得する。構造a2の安定化後座標４３は記憶部１３０に記憶される。
【００５４】
上述した手順（６）では、安定構造計算部２３による安定化計算毎に、安定構造計算部２３によって出力された安定化後座標４３と、計算構造作成部２２が作成した安定化前の構造anの座標３２とを比較する。各原子３ａの移動距離ｄがすべての原子において入力パラメータ３１で与えた移動距離閾値d0未満となるまで、安定化された構造an-1に単位構造bを追加して構造anを作成し、構造anを安定化することを繰り返す。ｎの最大値は分割数ｍである。
【００５５】
上述した手順（７）では、ｄ＜ｄ０となった時点における、安定化された構造anに対して、計算構造作成部２２は、（ｍ−ｎ）個の単位構造ｂをまとめて追加した構造an+1を作成し、安定化したい目的構造全体の座標３２を作成する。そして、安定構造計算部２３が、構造an+1を安定化することで、最終的な出力である目的構造全体を安定化させた安定化後座標４３を得る。
【００５６】
上述した手順（３）から手順（７）までの処理を図８で説明する。図８は、手順（３）から手順（７）までの処理を説明するためのフローチャート図である。図８において、ステップＳ１〜Ｓ３、ステップＳ４〜Ｓ７、ステップＳ８〜Ｓ９が、それぞれ手順（３）、手順（４）〜（６）、手順（７）での処理に相当する。
【００５７】
ステップＳ２、ステップＳ５、及びステップＳ８は計算構造作成部２２で行われるステップであり、ステップＳ３、ステップＳ６、及びステップＳ９は安定構造計算部２３で行われるステップである。
【００５８】
ステップＳ１において、原子構造安定化処理部２０は、分割数をカウントするための変数ｎを初期化する。ステップＳ２において、計算構造作成部２２は、目的構造からb1〜bmを取り除いた構造a0を作成する。そして、ステップＳ３において、安定構造計算部２３は、構造a0に対して安定化計算を行う。
【００５９】
ステップＳ４において、原子構造安定化処理部２０は、変数ｎを１インクリメントする。そして、ステップＳ５において、計算構造作成部２２は、構造an-1に単位構造ｂを追加して、構造anを作成する。ステップＳ６において、安定構造計算部２３は、構造anに対して安定化計算を行う。
【００６０】
ステップＳ７において、原子構造安定化処理部２０は、すべての原子３ａの移動距離ｄが移動距離閾値d0未満であるか否かを判断する。すべての原子３ａの移動距離ｄが移動距離閾値d0以上である場合（ステップＳ７のＮＯ）、原子構造安定化処理部２０は、ステップＳ４へと戻り、変数ｎを１インクリメントして、上述同様の処理を繰り返す。
【００６１】
一方、すべての原子３ａの移動距離ｄが移動距離閾値d0未満である場合（ステップＳ７のＹＥＳ）の場合、ステップＳ８において、計算機構造作成部２２が、構造anに（ｍ−ｎ）個の単位構造bを追加して、安定化したい目的構造全体を作成する。作成された目的構造全体の座標３２が記憶部１３０に格納される。
【００６２】
更に、ステップＳ９において、安定構造計算部２３が、目的構造全体に対して安定化計算を行う。安定構造計算部２３は、記憶部１３０の目的構造全体の座標３２を用いて安定化計算を行い、目的構造全体の安定化後座標４３を記憶部１３０に記憶する。その後、原子構造安定化処理は終了する。
【００６３】
次に、ほぼ周期的で一部だけが異なる構造の具体例を用いて、本実施例における原子構造安定化処理を説明する。先ず、端がある構造の場合で説明する。
【００６４】
図９は、端がある構造の具体例を示す図である。図９において、構造１０ａは、端８を有する表面酸化されたシリコン基板の原子構造に相当する。図９において、青丸はシリコン原子を表し、赤丸は酸素原子を表し、白丸は水素原子を表す。構造１０ａとして例示されるシリコン酸化膜は、１１６０原子を含む。
【００６５】
この構造１０ａに対して本実施例における原子構造安定化処理を行った場合について以下に説明する。
【００６６】
図１０は、シリコン酸化膜に対する原子構造安定化処理の例を示す図である。図９に示した構造１０ａ（シリコン酸化膜）を目的構造とした場合の処理は以下の通りである。図９に示した構造１０ａ（シリコン酸化膜）を目的構造として、原子構造安定化装置１００に入力することで手順（０）は終了する。目的構造の座標４１が記憶部１３０に記憶される。
【００６７】
手順（１）において、利用者は、構造１０ａから端８を除いて、利用者が定めた単位構造ｂで分割する。単位構造ｂは、後述の手順（３）において、構造a0を作成した際と、後述の手順（４）において、構造a1を作成した際と、に周期の整合性が保たれるように選ぶ。
【００６８】
この例では、端８を除いた構造１０ａが１２分割される。従って、分割数ｍ＝１２が原子構造安定化装置１００に入力される。端８の座標を目的構造の座標４１として入力することでも良い。
【００６９】
手順（２）において、単位構造ｂの周期構造を安定化させる。安定化させた単位構造ｂが原子構造安定化装置１００に入力される。また、移動距離閾値d0が利用者によって入力される。記憶部１３０内の入力パラメータ３１として、構造１０ａの座標４１、分割数ｍ＝１２、単位構造ｂの座標４２、移動距離閾値d0が記憶される。
【００７０】
手順（３）において、計算構造作成部２２は、座標４１に基づいて端８のみの構造a0を作成する。構造a0の座標３２が記憶部１３０に記憶される。そして、安定構造計算部２３は、構造a0の座標３２に対して安定化計算を行う。構造a0の安定化後座標４３が記憶部１３０に記憶される。
【００７１】
手順（４）において、計算構造作成部２２は、安定化させた構造a0に単位構造ｂを挿入した構造a1を作成する。構造a1の座標３２が記憶部１３０に記憶される。そして、安定構造計算部２３は、構造a1の座標３２に対して安定化計算を行う。構造a1の安定化後座標４３が記憶部１３０に記憶される。
【００７２】
手順（５）において、計算構造作成部２２は、安定化させた構造a1に単位構造ｂを挿入した構造a2を作成する。構造a2の座標３２が記憶部１３０に記憶される。そして、安定構造計算部２３は、構造a2の座標３２に対して安定化計算を行う。構造a2の安定化後座標４３が記憶部１３０に記憶される。
【００７３】
手順（６）において、移動距離条件（d＜d0）を満たすか否かの判定結果に基づいて、手順（５）または手順（７）を行う。移動距離ｄが移動距離閾値d0以上（d≧d0）の場合、手順（５）が繰り返される。移動距離ｄが移動距離閾値d0未満（d＜d0）になった時点で、手順（７）へと進む。
【００７４】
手順（７）において、計算構造作成部２２は、安定化させた構造a2に対して、１０個の単位構造ｂをまとめて追加した構造１０ａ'を作成し、安定化したい目的構造全体の座標３２を作成する。構造１０ａ'の座標３２が記憶部１３０に記憶される。
【００７５】
そして、安定構造計算部２３は、構造１０ａ'を安定化することで、最終的な出力である目的構造全体を安定化させた安定化後座標４３を得る。目的構造全体を安定化させた安定化後座標４３が出力データ３３に含まれて、記憶部１３０に記憶される。
【００７６】
構造a2で移動距離条件（d＜d0）を満たした場合、構造a2に対して１０個の単位構造ｂが追加される。構造１０ａ'は、構造a2に１０個の単位構造ｂを追加した構造であり、構造１０ａを表している。各単位構造ｂは予め安定化させてあるため、構造１０ａ'の安定化計算を高速に行うことができる。
【００７７】
図１１は、図９に示す構造に対する本実施例と従来技術との比較を説明するためのグラフ図である。図１１に示すグラフは、縦軸に全原子にかかる力の最大値（原子単位）を示し、横軸に計算時間（hour）を示す。
【００７８】
縦軸の全原子にかかる力の最大値（原子単位）は、任意の分子動力学計算プログラムによる計算によって得られる。横軸の計算時間は、安定化計算によって構造が安定化するまでに要する時間（hour）である。
【００７９】
図１１中に示す収束判定値Fthは、構造が安定化されたかどうかを判定するための値である。全原子にかかる力の最大値が収束判定値以下になると、安定化完了である。ここでは、収束判定値として、例えば２×１０−４を用いる。
【００８０】
従来技術５は、目的構造内を単位構造ｂで分割することなく、目的構造全体で安定化計算を行った場合の全原子にかかる力の最大値の推移を示している。目的構造全体で原子を移動させるため、移動させる仕組みが複雑となる。１１６０原子のシリコン酸化膜（構造１０ａ）の場合では、力が４×１０−４以下に下がらず、１２０時間計算を続けても収束判定値Fthに到達しない。
【００８１】
本実施例６は、図１０で説明した手順（３）、手順（４）、手順（５）、及び手順（７）毎の全原子にかかる力の最大値の推移を示している。
【００８２】
本実施例６の場合、手順（３）による端８のみの構造a0に対する安定化計算は、計算時間軸の凡そ５時間で収束判定値Fthに達している。また、手順（４）による構造a0に１個の単位構造ｂを追加した構造a1に対する安定化計算は、計算時間軸の凡そ１０時間で収束判定値Fthに達している。
【００８３】
更に、手順（５）による構造a1に１個の単位構造ｂを追加した構造a2に対する安定化計算は、計算時間軸の凡そ１９時間で収束判定値Fthに達している。手順（５）による安定化計算で、移動距離条件（d＜d0）を満たしたため、構造a2に残りの１０個の単位構造ｂを全て追加した構造１０ａ'に対して安定化計算を行う。この場合は、計算時間軸の４０時間程度で収束判定値Fthに達し、安定化計算が完了していることが確認できる。
【００８４】
このように、本実施例６では、従来技術５では収束困難であった構造１０の安定化計算の収束性が改善され、高速化も実現されている。
【００８５】
また、例えば、移動距離閾値d0＝０．６Aを用いると、ｎ＝１（構造a1）の段階でd＜d0の移動距離条件を満たして手順（７）に進むが、従来技術５と同様に収束が悪い。d0＝０．１Aを用いると、d＜d0条件を満たす場合がｎ＝６となる。即ち、構造a0の安定化、構造a1の安定化、構造a2の安定化、（中略）、構造a6の安定化、安定化したい構造１０の安定化による、８段階の安定化計算が必要となる。収束はするものの計算時間が移動距離閾値d0＝０．４Aの場合の２倍以上になる。よって、適切な移動距離閾値d0を設定することが安定化計算の高速化には重要である。
【００８６】
次に、ほぼ周期的な構造内に一部異なる構造部分を有する場合で説明する。図１２は、ほぼ周期的で一部だけが異なる構造の具体例を示す図である。図１２において、構造２０ａは、穴９ｃを有するグラフェンシートの構造例におけるユニットセルに相当する。ｘ方向及びｙ方向には、図１２に示した構造２０ａが周期的に並んだ構造となっている。ユニットセルに相当する構造２０ａは、１２５６個の炭素原子で構成されている。
【００８７】
この構造２０ａに対して本実施例における原子構造安定化処理を行った場合について、図１３から図１６で説明する。
【００８８】
図１３から図１６は、グラフェンシートに対する原子構造安定化処理の例を示す図である。図１２に示した構造２０ａ（グラフェンシート）を目的構造とした場合の処理は以下の通りである。図１２に示した構造２０ａ（グラフェンシート）を目的構造として、原子構造安定化装置１００に入力することで手順（０）は終了する。目的構造の座標４１が記憶部１３０に記憶される。
【００８９】
手順（１）において、利用者は、構造２０ａを、中央の穴９ｃの領域９と、領域８ｂを取り囲む単位構造b1〜b32を有するＢ１グループと、単位構造b33〜b72を有するＢ２グループと、単位構造b73〜b120を有するＢ３グループとに分割する。
【００９０】
単位構造b1〜b120は、総称して単位構造ｂと言う。単位構造ｂは、後述の手順（３）において、構造a0を作成した際と、後述の手順（４）において、構造a1を作成した際と、に周期の整合性が保たれるように選ぶ。
【００９１】
この例では、穴９ｃを除いた構造２０ａが１２０分割される。より効率的に安定化計算を行うために、グループ化する。Ｂ１グループは、穴９ｃの領域９を単位構造ｂで取り囲んだ構造に相当する。また、Ｂ２グループは、Ｂ１グループの外側を単位構造ｂで取り囲んだ構造に相当する。更に、Ｂ３グループは、Ｂ２グループの外側を単位構造ｂで取り囲んだ構造に相当する。
【００９２】
手順（２）において、単位構造ｂの周期構造を安定化させる。安定化させた単位構造ｂが原子構造安定化装置１００に入力される。また、移動距離閾値d0が利用者によって入力される。記憶部１３０内の入力パラメータ３１として、構造２０ａの座標４１、分割数ｍ＝１２０、単位構造ｂの座標４２、移動距離閾値d0が記憶される。
【００９３】
手順（３）において（図１４）、計算構造作成部２２は、座標４１に基づいて領域９のみの構造a0を作成する。構造a0の座標３２が記憶部１３０に記憶される。そして、安定構造計算部２３は、構造a0の座標３２に対して安定化計算を行う。構造a0の安定化後座標４３が記憶部１３０に記憶される。
【００９４】
手順（４）において（図１５）、計算構造作成部２２は、手順（３）で安定化した構造a0の周りにＢ１グループに相当する３２個の単位構造ｂを追加した構造a1を作成する。構造a1の座標３２が記憶部１３０に記憶される。そして、安定構造計算部２３は、構造a1の座標３２に対して安定化計算を行う。構造a1の安定化後座標４３が記憶部１３０に記憶される。
【００９５】
この例では、構造a1の段階で移動距離ｄが全原子についてｄ０以下となるため、手順（４）を終了する。ここで、例えば移動距離閾値d0＝０．２Aを用いる。
【００９６】
手順（５）において（図１６）、計算構造作成部２２は、構造a1の周りにＢ２グループ、Ｂ３グループに相当するそれぞれ４０個、４８個の単位構造ｂを追加し、安定化したい構造２０ａ'を作成し、安定化したい目的構造全体の座標３２を作成する。構造１０ａ'の座標３２が記憶部１３０に記憶される。
【００９７】
そして、安定構造計算部２３は、構造１０ａ'を安定化することで、最終的な出力である目的構造全体を安定化させた安定化後座標４３を得る。目的構造全体を安定化させた安定化後座標４３が出力データ３３に含まれて、記憶部１３０に記憶される。
【００９８】
以上の手順により、穴を有するグラフェンシートの構造２０ａについて、高速に安定化計算を行うことが出来る。
【００９９】
上述したように、大規模構造における安定化計算の収束性を改善し、計算時間を短縮する。特に、目的構造が一部だけ異なる構造の場合、本実施例による効果は大きい。
【符号の説明】
【０１００】
１１          ＣＰＵ
１２          主記憶装置
１３          補助記憶装置
１４          入力装置
１５          表示装置
１６          ドライブ装置
１９          記憶媒体
２０          原子構造安定化処理部
２１          入力パラメータ取得部
２２          計算構造作成部
２３          安定構造計算部
３１          入力パラメータ
３２          構造anの座標
３３          出力データ
４１          目的構造の座標
４２          単位構造ｂの座標
４３          安定化後座標
１００        原子構造安定化装置
１３０        記憶部
Ｂ            バス
【図１】
2015132865.tif 000003
【図２】
2015132865.tif 000004
【図３】
2015132865.tif 000005
【図４】
2015132865.tif 000006
【図５】
2015132865.tif 000007
【図６】
2015132865.tif 000008
【図７】
2015132865.tif 000009
【図８】
2015132865.tif 000010
【図９】
2015132865.tif 000011
【図１０】
2015132865.tif 000012
【図１１】
2015132865.tif 000013
【図１２】
2015132865.tif 000014
【図１３】
2015132865.tif 000015
【図１４】
2015132865.tif 000016
【図１５】
2015132865.tif 000017
【図１６】
2015132865.tif 000018
【手続補正書】
【提出日】平成28年8月26日(2016.8.26)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
コンピュータが行うシミュレーション方法であって、
原子配置の安定化計算において、目的構造を単位構造のパターンにより分割し、前記目的構造から単位構造のパターンに相当する１以上の部分を除いた構造に対して、原子間の力が安定する原子の配置位置を計算する安定化計算を行い、
前記安定化計算を行って安定化した前記構造に、１又は複数の前記単位構造を追加した追加構造を作成し、前記単位構造を追加した追加構造に対して前記安定化計算を行うことを繰り返すことで、前記目的構造における各原子の配置位置の安定化を行う
処理を前記コンピュータが実行するシミュレーション方法。
【請求項２】
前記コンピュータが、
前記追加構造に対する前記安定化計算によって、各原子の移動距離が移動距離閾値未満となった場合、前記繰り返しを終了し、
分割数に対して残り個数分の前記単位構造を前記追加構造に追加して前記目的構造を作成し、作成した前記目的構造に対して前記安定化計算を行う
こと特徴とする請求項１記載のシミュレーション方法。
【請求項３】
前記安定化計算は、分子動力学計算を利用することを特徴とする請求項１記載のシミュレーション方法。
【請求項４】
周期性を保つように前記単位構造を追加して前記追加構造を作成することを特徴とする請求項１記載のシミュレーション方法。
【請求項５】
目的構造を単位構造のパターンにより分割し、前記目的構造から単位構造のパターンに相当する１以上の部分を除いた構造に対して、原子間の力が安定する原子の配置位置を計算する安定化計算を行い、
前記安定化計算を行って安定化した前記構造に、１又は複数の前記単位構造を追加した追加構造を作成し、前記単位構造を追加した追加構造に対して前記安定化計算を行うことを繰り返すことで、前記目的構造における各原子の配置位置の安定化を行う
処理をコンピュータに行なわせるシミュレーションプログラムを記憶した記憶媒体。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０００２
【補正方法】変更
【補正の内容】
【０００２】
近年、結晶構造をコンピュータを用いたシミュレーションによって解析することが行われている。このようなシミュレーション技術として、引き上げ法による単結晶内のボイド及び内壁酸化膜からなるボイド欠陥の密度分布及びサイズ分布を正確に予測する技術が知られている。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００１７
【補正方法】変更
【補正の内容】
【００１７】
原子３ａの力Ｆが収束判定値以上の場合、原子構造安定化処理では、原子構造が未だ安定していないと判断し、原子３ａにかかる力Ｆを計算して、力Ｆに従って原子を移動する（ステップＳ１２）。そして、ステップＳ１１における判定処理を行う。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００１８
【補正方法】変更
【補正の内容】
【００１８】
ステップＳ１１及びＳ１２の処理を繰り返すことで、原子３ａ間の力Ｆが収束判定値未満になった場合、原子構造が安定したと判断でき、原子構造安定化処理は終了する。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】００１９
【補正方法】変更
【補正の内容】
【００１９】
上述した原子構造安定化処理の一般的な例では、各原子３ａにかかる力を計算し、すべての原子３ａにおいてかかる力が収束判定値より小さくなるまで、その力に従って原子３ａを動かす。小規模構造では、問題なく安定化の計算が収束するが、１０００原子以上となる大規模構造では計算が収束しない場合がある。
【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】００３９
【補正方法】変更
【補正の内容】
【００３９】
図７は、原子構造安定化装置の機能構成例を示す図である。図７において、原子構造化装置１００は、本実施例に係る原子構造安定化処理を行う原子構造安定化処理部２０を有する。原子構造安定化処理部２０は更に、処理部として、入力パラメータ取得部２１と、計算構造作成部２２と、安定構造計算部２３とを有する。ＣＰＵ１１が対応するプログラムを実行することによる処理によって、入力パラメータ取得部２１と、計算構造作成部２２と、安定構造計算部２３とが実現される。
【手続補正７】
【補正対象書類名】明細書
【補正対象項目名】００８９
【補正方法】変更
【補正の内容】
【００８９】
手順（１）において、利用者は、構造２０ａを、中央の穴９ｃの領域９と、領域９を取り囲む単位構造b1〜b32を有するＢ１グループと、単位構造b33〜b72を有するＢ２グループと、単位構造b73〜b120を有するＢ３グループとに分割する。
【手続補正８】
【補正対象書類名】明細書
【補正対象項目名】００９６
【補正方法】変更
【補正の内容】
【００９６】
手順（５）において（図１６）、計算構造作成部２２は、構造a1の周りにＢ２グループ、Ｂ３グループに相当するそれぞれ４０個、４８個の単位構造ｂを追加し、安定化したい構造２０ａ'を作成し、安定化したい目的構造全体の座標３２を作成する。構造２０ａ'の座標３２が記憶部１３０に記憶される。
【手続補正９】
【補正対象書類名】明細書
【補正対象項目名】００９７
【補正方法】変更
【補正の内容】
【００９７】
そして、安定構造計算部２３は、構造２０ａ'を安定化することで、最終的な出力である目的構造全体を安定化させた安定化後座標４３を得る。目的構造全体を安定化させた安定化後座標４３が出力データ３３に含まれて、記憶部１３０に記憶される。
【手続補正１０】
【補正対象書類名】図面
【補正対象項目名】図１６
【補正方法】変更
【補正の内容】
【図１６】
2015132865.tif 000019
【国際調査報告】
2015132865.tif 000020
2015132865.tif 000021