【文献】
河野 瑛、田浦 健次朗,重心ボロノイ分割を用いた並列粒子法のための動的負荷分散法,情報処理学会研究報告 2011(平成23)年度▲2▼ [CD−ROM],日本,一般社団法人情報処理学会,2011年 8月15日,No.130,(66)
(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0015】
以下、各図面に示される同一または同等の構成要素、部材、処理には、同一の符号を付するものとし、適宜重複した説明は省略する。
【0016】
実施の形態に係る解析装置は、解析対象を複数の粒子を含む粒子系で記述し、粒子の運動方程式を数値的に演算することにより粒子系を解析する。解析装置では、粒子系の解析の一部に連続体近似が導入されており、その連続体近似に係る処理において粒子間の面積が使用される。解析装置では、この粒子間の面積を求める際、ボロノイ解析等のより厳密な手法を用いず、代わりにより簡易で計算量の少ない手法を用いる。
【0017】
以下、本実施の形態の原理を説明する。
粒子系の粒子を比較的密に詰めると、粒子系は面心立方格子(fcc)を形成する傾向にある。したがって、fcc構造を起点とする。
図1は、粒子系がfcc構造を有する場合のボロノイ面6を示す模式図である。fcc構造を有する粒子系において、第1粒子2は第2粒子4の最近接粒子となっている。この粒子系を粒子の位置を母点としてボロノイ分割した場合、第1粒子2と第2粒子4との間にはボロノイ面6が定義される。このボロノイ面6の面積S
0は以下の式1により与えられる。
【数1】
ただし、r
0は第1粒子2と第2粒子4との最安定距離である。なお、ボロノイ面6の面積S
0は粒子の断面積として扱われてもよい。
【0018】
第1粒子2を粒子系のi番目の粒子、第2粒子4を粒子系のj番目の粒子とするとき、本実施の形態では、粒子系の構造がfcc構造とは異なる場合でも、第1粒子2と第2粒子4との間の断面積ΔS
ijを第1粒子2と第2粒子4との距離r
ijのみから求めることができると仮定する。すなわち、断面積ΔS
ijは第1粒子2、第2粒子4以外の他の粒子の位置に依存しないと仮定する。
【0019】
図2は、第1粒子2と第2粒子4との間の断面積ΔS
ijとそれらの粒子の間の距離r
ijとの間に仮定される関係の一例を示すグラフである。大局的には、断面積ΔS
ijは粒子間距離r
ijが大きいほど小さくなるよう設定される。断面積ΔS
ijは粒子間距離r
ijの線形関数8とされてもよい。または、断面積ΔS
ijは粒子間距離r
ijの非線形関数とされてもよく、特に2次以上の関数10とされてもよい。また、断面積ΔS
ijは粒子間距離r
ijが後述のカットオフ距離r
cよりも大きい場合、実質的にゼロとなるよう設定される。
【0020】
本実施の形態に係る解析装置では、ユーザは、粒子間の断面積と粒子間距離とに
図2に示されるような1対1の関係を仮定し、仮定された関係すなわち関数を解析装置に登録する。解析装置は、数値演算の過程で粒子系に含まれる2つの粒子の間の断面積を求める必要がある場合、登録された関係を使用することで、その断面積を他の粒子の位置に依らずに決定する。解析装置は、決定された断面積を使用して数値演算を継続し、粒子系の状態を更新する。これにより、2つの粒子の間の断面積を求める必要がある場合に毎回比較的厳密にその断面積を導出する場合と比較して、粒子間の断面積の導出に係る計算負荷を低減することができる。その結果、ユーザはより速く解析結果を得ることができる。
【0021】
図3は、実施の形態に係る解析装置100の機能および構成を示すブロック図である。ここに示す各ブロックは、ハードウエア的には、コンピュータのCPU(central processing unit)をはじめとする素子や機械装置で実現でき、ソフトウエア的にはコンピュータプログラム等によって実現されるが、ここでは、それらの連携によって実現される機能ブロックを描いている。したがって、これらの機能ブロックはハードウエア、ソフトウエアの組合せによっていろいろなかたちで実現できることは、本明細書に触れた当業者には理解されるところである。
【0022】
本実施の形態ではMD法に倣って粒子系を解析する場合について説明するが、RMD法に倣って粒子系を解析する場合や、DEM(Distinct Element Method)やSPH(Smoothed Particle Hydrodynamics)やMPS(Moving Particle Semi-implicit)などの粒子法に倣って粒子系を解析する場合にも、本実施の形態に係る技術的思想を適用できることは本明細書に触れた当業者には明らかである。
【0023】
解析装置100は入力装置102およびディスプレイ104と接続される。入力装置102は、解析装置100で実行される処理に関係するユーザの入力を受けるためのキーボード、マウスなどであってもよい。入力装置102は、インターネットなどのネットワークやCD、DVDなどの記録媒体から入力を受けるよう構成されていてもよい。
【0024】
解析装置100は、粒子系取得部108と、温度付与部134と、繰り返し演算部120と、表示制御部118と、粒子データ保持部114と、を備える。
【0025】
粒子系取得部108は、入力装置102を介してユーザから取得する入力情報に基づき、1、2または3次元の仮想空間内に定義されるN(Nは自然数)個の粒子からなる粒子系のデータを取得する。粒子系の粒子は分子または原子に対応してもよい。
【0026】
粒子系取得部108は、入力情報に基づき仮想空間内にN個の粒子を配置し、配置されたそれぞれの粒子に速度を付与する。すなわち、粒子系取得部108は、粒子系に初期位置および初期速度を付与する。粒子系取得部108は、配置された粒子を特定する粒子IDと、その粒子の位置と、その粒子の速度と、を対応付けて粒子データ保持部114に登録する。
【0027】
温度付与部134は、入力装置102を介してユーザから取得する入力情報に基づき、粒子系取得部108によって取得された粒子系の粒子に温度を付与する。このように付与される温度は粒子のパラメータのひとつである。例えば、温度付与部134は、ディスプレイ104を介してユーザに、粒子系の粒子の温度の初期値の入力を求める。温度付与部134は、入力された温度の初期値を粒子IDと対応付けて粒子データ保持部114に登録する。
【0028】
以下では粒子系の粒子は全て同質または同等なものとして設定され、かつ、ポテンシャルエネルギ関数は2体のポテンシャルであって粒子によらずに同じ形を有するものとして設定される場合について説明する。しかしながら、他の場合にも本実施の形態に係る技術的思想を適用できることは、本明細書に触れた当業者には明らかである。
【0029】
繰り返し演算部120は、粒子データ保持部114によって保持されるデータが表す粒子系の各粒子の運動を支配する支配方程式を数値的に演算する。特に繰り返し演算部120は、離散化された粒子の運動方程式にしたがった繰り返し演算を行う。
繰り返し演算部120は、温度演算部110と、力演算部122と、粒子状態演算部124と、状態更新部126と、終了条件判定部128と、を含む。
【0030】
温度演算部110は、連続体近似を用いて粒子系の各粒子の温度を演算する。特に温度演算部110は、離散化された熱伝導方程式に基づき粒子の温度を演算する。温度演算部110は、面積決定部112と、熱伝導演算部116と、を有する。
【0031】
面積決定部112は、粒子系に含まれる2つの粒子の間の断面積を、他の粒子の位置に依らずに決定する。特に面積決定部112は、粒子データ保持部114によって保持される粒子系のデータを参照し、粒子系のi番目の粒子とj番目の粒子と(1≦i、j≦N)の粒子間距離r
ijを演算する。面積決定部112は、
図2に示される2次以上の関数10に演算された粒子間距離r
ijを代入することにより、i番目の粒子とj番目の粒子との間の断面積ΔS
ijを演算する。
【0032】
熱伝導演算部116は、離散化された熱伝導方程式に基づいて各粒子の温度を演算する。熱伝導演算部116では、有限体積法を用いた温度場の解析が実行されてもよい。
以下、熱伝導演算部116で使用される離散化された熱伝導方程式の導出過程を示す。
熱伝導方程式は以下の微分方程式(式2)で与えられる。
【数2】
ここで、ρは密度、Cvは比熱、Tは温度、tは時間、Kは熱伝導率、Qは単位体積当たりの発熱量である。
【0033】
式2の両辺を体積積分すると、
【数3】
となる。式3の右辺第1項にガウスの定理を適用すると、
【数4】
となる。
【0034】
式4を離散化すると、
【数5】
となる。ここで、ΔV
iはi番目の粒子の位置を中心とする半径r
0の球の体積(4πr
03/3)、ΔS
ijは面積決定部112によって決定されるi番目の粒子とj番目の粒子との間の断面積、r
ijはi番目の粒子とj番目の粒子との距離である。また、T
inは繰り返し演算のn回目におけるi番目の粒子の温度、K
ijはi番目の粒子とj番目の粒子との間の熱伝導率である。熱伝導率K
ijは、面積決定部112における断面積の近似処理に伴い文献値から補正される。この補正で使用される係数は粒子系の構造の状態に依存し、0.2〜2.0ファクター倍程度とすると大抵の場合理論値と良い一致を示す。
【0035】
式5は、熱伝導演算部116で使用される離散化された熱伝導方程式である。式5により、面積決定部112によって決定される断面積と、n回目の演算により決定された各粒子の温度と、粒子間距離と、から、n+1回目の演算におけるi番目の粒子の温度を決定することができる。なお、T
i0には、温度付与部134によって付与された初期温度を使用する。
【0036】
力演算部122は、粒子をその粒子について温度演算部110によって演算された温度の熱浴に浸すと仮定した場合の、その粒子に働く力を演算する。力演算部122は、粒子間作用演算部130と、熱浴作用演算部132と、を有する。
【0037】
粒子間作用演算部130は、粒子データ保持部114によって保持される粒子系のデータを参照し、粒子系の各粒子について、粒子間の距離に基づきその粒子に働く力を演算する。粒子間作用演算部130は、粒子系のi番目(1≦i≦N)の粒子について、そのi番目の粒子との距離が所定のカットオフ距離r
cよりも小さな粒子(以下、近接粒子と称す)を決定する。粒子間作用演算部130は、i番目の粒子に力を及ぼす粒子をi番目の粒子との距離がカットオフ距離r
cよりも小さな粒子すなわち近接粒子に制限する。粒子間作用演算部130は、近接粒子以外の粒子とi番目の粒子との相互作用は無視する。
【0038】
粒子間作用演算部130は、各近接粒子について、その近接粒子とi番目の粒子との間のポテンシャルエネルギ関数およびその近接粒子とi番目の粒子との距離に基づいて、その近接粒子がi番目の粒子に及ぼす力を演算する。特に粒子間作用演算部130は、その近接粒子とi番目の粒子との距離の値におけるポテンシャルエネルギ関数のグラジエント(Gradient)の値から力を算出する。粒子間作用演算部130は、近接粒子がi番目の粒子に及ぼす力を全ての近接粒子について足し合わせることによって、i番目の粒子に働く力を算出する。粒子間作用演算部130によって算出される力は、粒子間の相互作用に基づく力である。
【0039】
i番目の粒子について温度演算部110によって演算された温度T
iで実質的に定温の熱浴にi番目の粒子を浸すと仮定した場合、Langevin法(非特許文献1参照)によるとi番目の粒子に以下の2つの力が働く。
【0040】
(1)ダンパーによる力(粘性力)
熱浴の粘性が粒子に作用する力である。粘性力の減衰定数αは、デバイ周波数ω
Dと粒子の質量mとを用いて、
【数6】
と表される。以下の表は、代表的な金属物質の減衰定数αの値を示す。この表では粒子を原子に対応付けている。
【表1】
この表に示される通り、粒子が金属原子に対応する場合、減衰定数αは1.0x10
−12(kg/s)のオーダーとなる。なお、デバイ周波数ω
Dは粒子の質量に依存するので、粒子の質量が原子の質量のβ倍になると、減衰定数αはβ
0.5倍となる。例えば、鉄の物性を持ちながら質量が鉄原子の100倍大きい粒子を用いる場合、表1に従うと減衰定数αは2.99x10
−11(kg/s)となる。
【0041】
(2)ランダム力
熱浴中の粒子が衝突する力に相当する。ランダム力は、
【数7】
の標準偏差σを有する。
【0042】
熱浴作用演算部132は、粒子系のi番目(1≦i≦N)の粒子について、式6および式7に基づき粘性力とランダム力とを演算する。熱浴作用演算部132は、粒子間の相互作用に基づくi番目の粒子に働く力に、i番目の粒子について演算された粘性力およびランダム力を加えることによって、i番目の粒子に働くトータルの力を演算する。i番目の粒子に働くトータルの力F
iは以下の式8で表される。
【数8】
ここで、φ
ijはi番目の粒子とj番目の粒子との間のポテンシャルエネルギ関数、v
iはi番目の粒子の速度、F
randomは標準偏差σを有するランダム力である。記号の上の矢印はベクトル量であることを示す。
【0043】
粒子状態演算部124は粒子データ保持部114に保持される粒子系のデータを参照し、粒子系の各粒子について、離散化された粒子の運動方程式に熱浴作用演算部132によって演算されたトータルの力を適用することによって粒子の位置および速度のうちの少なくともひとつを演算する。本実施の形態では、粒子状態演算部124は粒子の位置および速度の両方を演算する。
【0044】
粒子状態演算部124は、熱浴作用演算部132によって演算されたトータルの力を含む離散化された粒子の運動方程式から粒子の速度を演算する。粒子状態演算部124は、粒子系のi番目の粒子について、蛙跳び法やオイラー法などの所定の数値解析の手法に基づき所定の微小な時間刻みΔtを使用して離散化された粒子の運動方程式に、i番目の粒子について熱浴作用演算部132によって演算されたトータルの力を代入することによって、粒子の速度を演算する。この演算には以前の繰り返し演算のサイクルで演算された粒子の速度が使用される。
【0045】
粒子状態演算部124は、演算された粒子の速度に基づいて粒子の位置を算出する。粒子状態演算部124は、粒子系のi番目の粒子について、所定の数値解析の手法に基づき時間刻みΔtを使用して離散化された粒子の位置と速度の関係式に、演算された粒子の速度を適用することによって、粒子の位置を演算する。この演算には以前の繰り返し演算のサイクルで演算された粒子の位置が使用される。
【0046】
状態更新部126は、粒子状態演算部124における演算結果に基づき粒子系の各粒子の状態を更新する。状態更新部126は、粒子データ保持部114に保持される粒子系の各粒子の位置および速度のそれぞれを、粒子状態演算部124によって演算された位置および速度で更新する。
【0047】
終了条件判定部128は、繰り返し演算部120における繰り返し演算を終了すべきか否かを判定する。繰り返し演算を終了すべき終了条件は、例えば繰り返し演算が所定の回数行われたことや、外部から終了の指示を受け付けたことや、粒子系が定常状態に達したことである。終了条件判定部128は、終了条件が満たされる場合、繰り返し演算部120における繰り返し演算を終了させる。終了条件判定部128は、終了条件が満たされない場合、処理を温度演算部110に戻す。すると温度演算部110は、状態更新部126によって更新された粒子の位置で再び温度を演算する。
【0048】
表示制御部118は、粒子データ保持部114に保持されるデータが表す粒子系の各粒子の位置、速度、温度に基づき、ディスプレイ104に粒子系の時間発展の様子やある時刻における状態を表示させる。この表示は、静止画または動画の形式で行われてもよい。
【0049】
図4は、粒子データ保持部114の一例を示すデータ構造図である。粒子データ保持部114は、粒子IDと、粒子の位置と、粒子の速度と、粒子の温度と、を対応付けて保持する。
【0050】
上述の実施の形態において、保持部の例は、ハードディスクやメモリである。また、本明細書の記載に基づき、各部を、図示しないCPUや、インストールされたアプリケーションプログラムのモジュールや、システムプログラムのモジュールや、ハードディスクから読み出したデータの内容を一時的に記憶するメモリなどにより実現できることは本明細書に触れた当業者には理解されるところである。
【0051】
以上の構成による解析装置100の動作を説明する。
図5は、解析装置100における一連の処理の一例を示すフローチャートである。解析装置100は、粒子系の初期状態すなわち各粒子の初期位置、初期速度および初期温度を決定する(S202)。解析装置100は、予め登録されている、粒子間の断面積と粒子間距離との1対1の関係に基づき、他の粒子の位置に依らずに粒子間の断面積を決定する(S204)。解析装置100は、FVMを使用して温度場を解析し(S206)、各粒子の温度を更新する。解析装置100は、粒子間のポテンシャルエネルギ関数に基づく各粒子に働く力を演算する(S208)。解析装置100は、ステップS208で演算された力に、粘性力およびランダム力を付加する(S210)。解析装置100は、ステップS210で演算された力を含む粒子の運動方程式から粒子の速度と位置を演算する(S212)。解析装置100は、粒子データ保持部114に保持される粒子の位置、速度を演算された位置、速度で更新する(S214)。解析装置100は、終了条件が満たされるか否かを判定する(S216)。終了条件が満たされない場合(S216のN)、処理はステップS204に戻される。終了条件が満たされる場合(S216のY)、処理は終了する。
【0052】
本実施の形態に係る解析装置100によると、離散化された熱伝導方程式を演算する際の2粒子間の断面積ΔS
ijは、その2粒子間の距離r
ijに基づき他の粒子の位置に依らずに決定される。したがって、例えばボロノイ解析等のより厳密な手法により断面積を求める場合と比較して、計算の負荷をかなり低減することができる。
【0053】
一般に粒子系の構造がfcc構造から離れるほどボロノイ解析による計算負荷は大きくなるが、本実施の形態に係る手法によって断面積を決定する際の計算負荷は基本的には粒子系の構造には依存しない。したがって、本実施の形態に係る手法は、粒子系の構造がfcc構造からかなり離れる場合や、粒子系の構造が時間と共に大きく変化する場合により好適に適用されうる。より具体的には、解析対象が流体的な振る舞いを示す場合に、本実施の形態に係る解析手法が好適に適用されうる。
【0054】
定量的で正確な解析結果を得たい場合などには、ボロノイ解析等を使用して断面積を決定するほうが好ましい。しかしながら、解析装置100による解析結果の利用方法としては、例えば定性的な議論をする際の参考にする場合など、それほど正確な結果は必要とされずむしろより早く結果を得たい場合も多くある。そこで、本実施の形態に係る解析装置100は、ある程度厳密性を犠牲にしてその分より早く解析結果を提供することで、そのような要望に対応できる。
【0055】
また、本実施の形態に係る手法では、断面積は粒子間距離が大きくなるほど小さくなるよう設定され、特に粒子間距離がカットオフ距離r
cを超えると断面積は実質的にゼロになる。これは、比較的遠い粒子の間での熱のやり取りは小さい、という物理的見地に合致する仮定である。また、ある粒子と相互作用する粒子をカットオフ距離r
c内の粒子に制限しているので、ある粒子と熱をやり取りする粒子を同じくカットオフ距離r
c内の粒子に制限することもまた、物理的見地に合致する仮定である。このように物理的見地に合致する仮定の下で得られる解析結果は、より高い物理的な整合性を有することが期待される。
【0056】
また、温度演算部110では連続体近似により各粒子の温度が導出されるので、温度演算部110によって演算される粒子の温度は、本来の温度の定義である粒子の速度の分散と大きく異なることが多い。本発明者はそのような非整合性を軽減または除去するために、温度演算部110によって温度を求めた後、その温度に由来する運動エネルギを粒子の運動に反映させることに想到した。ここで、例えば温度スケーリングなどで粒子の速度を強制的に温度に対応する速度に変更することが考えられるが、これは運動を強制的に拘束するため、非物理的である。
【0057】
そこで、本実施の形態に係る解析装置100では、粒子を温度演算部110によって演算された温度の熱浴に浸すと仮定することで、運動方程式の力の項を温度に基づき修正している。これにより、温度演算部110によって演算された温度を粒子の速度場に反映させることができ、温度演算部110によって演算された温度場により自然な形で導くことができる。その結果、物理的な矛盾がより少ないモデルを提供できる。
【0058】
本発明者は、本実施の形態に係る手法の確認計算を行った。本実施の形態が使用するMD法では、基本的に熱伝導として粒子の格子振動のみしか扱えないため、自由電子の寄与が反映されない。したがって、MD法で金属の解析対象を扱う場合、すなわち粒子系の粒子が金属の粒子を模するように粒子についての物質定数(例えば、デバイ温度やデバイ周波数や原子量、および、熱伝導方程式における密度や比熱や熱伝導率)が設定される場合、本実施の形態に係る手法が非常に有効である。
【0059】
図6は、確認計算としての非定常解析で使用された粒子系300を示す模式図である。粒子系300はアモルファス金属の棒を模している。アモルファス金属では一般に自由電子からの熱伝導への寄与が無視できず、また結晶構造も流体的に変化する。この棒の両端の温度は0(K)で固定され、初期の温度分布は以下の式9により与えられる。
【数9】
ここで、Lは棒の長さ、rは端からの距離、T(r)は距離rにおける温度である。
【0060】
この場合、時間tが経過すると、温度分布の理論式は以下の式10により与えられる。
【数10】
ここで、aは熱拡散定数であり、以下の式11で与えられる関係が成り立つ。
【数11】
【0061】
図7は、本実施の形態に係る手法を使用した計算結果を示すグラフである。本実施の形態に係る手法によると、粒子系300が時間発展を始めてから1(μs)経過後、2(μs)経過後、3(μs)経過後および4(μs)経過後のいずれにおいても、温度分布の計算値(点で表示)と理論値(実線で表示)とが良く一致していることが分かる。
【0062】
以上、実施の形態に係る解析装置100の構成と動作について説明した。この実施の形態は例示であり、その各構成要素や各処理の組み合わせにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
【0063】
実施の形態では、繰り返し演算部120において粒子の位置と速度の両方を演算する場合について説明したが、これに限られない。例えば、数値解析の手法にはVerlet法のように、粒子の位置を演算する際に粒子に働く力から粒子の位置を直接演算し、粒子の速度は陽に計算しなくてもよい手法もあり、本実施の形態に係る技術的思想をそのような手法に適用してもよい。