JP5011689B2 - 分子シミュレーション方法及び装置 - Google Patents
分子シミュレーション方法及び装置 Download PDFInfo
- Publication number
- JP5011689B2 JP5011689B2 JP2005268356A JP2005268356A JP5011689B2 JP 5011689 B2 JP5011689 B2 JP 5011689B2 JP 2005268356 A JP2005268356 A JP 2005268356A JP 2005268356 A JP2005268356 A JP 2005268356A JP 5011689 B2 JP5011689 B2 JP 5011689B2
- Authority
- JP
- Japan
- Prior art keywords
- lattice
- level
- memory
- charge
- grid
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16B—BIOINFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR GENETIC OR PROTEIN-RELATED DATA PROCESSING IN COMPUTATIONAL MOLECULAR BIOLOGY
- G16B15/00—ICT specially adapted for analysing two-dimensional or three-dimensional molecular structures, e.g. structural or functional relations or structure alignment
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16C—COMPUTATIONAL CHEMISTRY; CHEMOINFORMATICS; COMPUTATIONAL MATERIALS SCIENCE
- G16C10/00—Computational theoretical chemistry, i.e. ICT specially adapted for theoretical aspects of quantum chemistry, molecular mechanics, molecular dynamics or the like
Landscapes
- Spectroscopy & Molecular Physics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Health & Medical Sciences (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Biotechnology (AREA)
- Evolutionary Biology (AREA)
- Biophysics (AREA)
- Medical Informatics (AREA)
- Chemical & Material Sciences (AREA)
- Crystallography & Structural Chemistry (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Complex Calculations (AREA)
- Organic Low-Molecular-Weight Compounds And Preparation Thereof (AREA)
Description
生体分子の分子動力学(MD;Molecular Dynamics)シミュレーションは、分子シミュレーションとも呼ばれ、疾病の治療薬や有用酵素などを分子設計するに使用されている重要な方法論である。この分子シミュレーションで用いられているモデルは、いわゆる分子力学(MM;Molecular Mechanics)モデルである。この分子力学モデルを簡単に説明すると、対象とする分子であるタンパク質や水分子を、バネで繋がれたビーズ(珠)で表現し、ビーズすなわち分子を構成する原子には電荷が割り振られているものである。分子力学モデルを用いる場合、分子系のエネルギーは、結合相互作用と非結合相互作用に大別される。このうち、結合相互作用は、結合長・結合角・結合捩れ角などの変化に伴う相互作用である。一方、非結合相互作用には、クーロン(Coulomb)相互作用やファン・デル・ワールス(van der Waals)相互作用が含まれる。
U=Σi Σj qiqj/rij (1)
ここで、rijは原子iと原子jの間の距離であり、i,jに関する和計算(サメイション)は、i<jの条件下で行うものとする。部分電荷の値は、分子軌道(MO;Molecular Orbital)法などの理論的手法や、実験データとのフィティングに基づく経験的手法で決定される。系の原子数をNとすれば、クーロン相互作用の計算量は、オーダーでN2回となる。
分子シミュレーションで頻繁に使用される境界条件として代表的なものは、周期境界条件と真空境界条件の2種類がある。
周期境界条件に対する効率的なアルゴリズムとしては、Dardenら(1995)のPME(Particle Mesh Ewald)法という方法(非特許文献1参照)が著名である。この方法は、ポテンシャルを、粒子間で直接計算する部分(Particle-Particle))と残りの滑らかな部分とに分離し、滑らかな部分に関しては、粒子をメッシュ上にマッピングし、畳み込み(convolution)型の計算を3D−FFT(3次元高速フーリエ変換)を用いて高速計算することによって、最終的に粒子−メッシュ間(Particle-Mesh)相互作用を、効率よく計算する方法である。
一方、真空境界条件(すなわち孤立系)に適用できる効率的なアルゴリズムとしては、Greengardらの高速多重極子展開法(Fast Multipole Method法、FMM法)があり(非特許文献2参照)、“Amber”とは別の著名なMDコードである“Charmm”などで実装されている。しかし、FMM法は、非常に多数の高次多重極子の展開項を計算せざるをえないために、計算量がオーダーNの計算手法とはいえ、計算がスローになっている(Nは系に含まれる原子の個数)。並列計算に用いるCPU台数が16〜32以下であっても、孤立系では3D−FFTが使えないために、むしろ周期系よりも取扱いが難しく、高速化しにくくなっている。実際、MDコード“Amber”では高速多重極子展開法は実装されておらず、多くのユーザーは、2つの粒子間の距離が一定距離以上離れたものについてはそれらの2粒子間の非結合作用を無視(カットオフ)して計算を行うか、もしくはMDエンジンなどの専用ボードを使用してカットオフなしの厳密計算を行っている。
MD計算における粒子−粒子の相互作用を直接的に高速計算する専用ハードウェアとして、各種のMD専用ボードが開発・市販されている。前述のPMEやFMMなどのアルゴリズム面で工夫された方法論と専用ボードとを組み合わせた計算もされているが、PMEやFMMには専用ボードで計算不能な部分の割合が多く残っているので、このアルゴリズムを併用する場合には、併用しない場合に比べて高速化の程度が低下してしまう。その結果、PME法やFMM法以外の、専用ボードに適した手法に対する強い要請が出てきている。
このような高速化・大規模パラレル化に対する強い要請に基づいて、最近、Skeelらは多重格子法(マルチグリッド(Multigrid)法)に基づく高速化を提案した(非特許文献3参照)。マルチグリッド法は、分子力学モデルにおけるファン・デル・ワールス・パラメータに対して特殊な混合則を採用する場合には、クーロン力に加えてファン・デル・ワールス力の計算にも適用可能となる。しかし後述するように、Skeelらの方法は高速ではあるが低精度という大きな弱点があり、実用上、十分な精度を得ることはできなかった。
Skeelらのアルゴリズムの基本的アイデアは1970年台より開発されてきたマルチグリッド法を応用したものである。本来計算したいポテンシャル関数が粒子間距離rの関数として、クーロン型(すなわち距離rに反比例)である場合で説明すると、図1aに例示されているように、もとのポテンシャル関数G(r)(=1/r)を、原点において特異性がない滑らかな関数GR(r)と、その残りを表す関数GS R(r)との2つに分離する:
G(r)=GR(r) + GS R(r)
=(長距離型)+(短距離型) (2)
ここでRは、遮蔽半径と呼ばれるパラメータである。長距離型関数GR(r)に必要な性質は、rが大きくなるにつれて元の関数G(r)=1/rに滑らかに収束し、特にrが距離R以上では元の関数に完全に一致し、さらに、原点近傍ではRが大きいほど平滑化されているという性質である。その結果、短距離型関数GS R=G−GRは、rが距離R以下のときのみ非ゼロ値をとり、距離Rにおいて滑らかにゼロに収束することになる(図1a参照)。短距離型関数は粒子−粒子間相互作用として扱われ、長距離型関数は後述する格子を経由して扱われることになる。上添字のSは、Short-Range(短距離)およびSplit(分離)を示している。このポテンシャル関数を、以下では慣例にしたがってカーネルと呼ぶ。
一般に、分子シミュレーションでは、考察粒子系を格子(あるいは、細胞、メッシュ、グリッド、セルなどと呼ばれる)で分割して、格子ごとに処理を行って効率的な計算を行っているものが多い。一般的に、マルチグリッド法の特徴は、単一の格子で分割するのではなく、低レベルでは細かい格子、高いレベルでは粗い格子を用いるもので、具体的にはレベルLの格子系では、(体積ではなく辺に関して)レベル1の2のべき乗倍(2L-1倍)のサイズの格子を用いる(図2、図3参照)。一番細かい格子は、例えば、0.1nm刻みのものである。
Skeelらのアイデアは、いったん平滑化して分離された長距離型カーネルを、さらに、逐次的に分離するというアイデアであり、以下、具体的に説明する。図2、図3に示されている階層的な格子レベルLに応じて、遮蔽半径を2のべき乗倍、
tR=2LR、
すなわち、R,2R,4R,8Rと大きくとった長距離型カーネルを導入し、次式に従って短距離型のカーネルGS tRを逐次分離していく。すなわち、
G(r)=GR(r)+GS R(r) (レベル0),
GR(r)=G2R(r)+GS 2R(r) (レベル1),
G2R(r)=G4R(r)+GS 4R(r) (レベル2),
GRmax/2(r)=GRmax(r)+GS Rmax(r) (レベルLmax−1) (3)
ここで、Rmaxは、最高レベルLmaxに対する遮蔽半径の値である:
Rmax=2LmaxR (4)
図1bは、長距離型カーネルの関数形を例示したものである。幾何学的には、この逐次分離は、図1bにおいて、1/rと横座標軸との間の領域をカーブGR、G2R、G4Rなどを境として分割したことに対応する。短距離型カーネルGS tRは、具体的には、次式に従って計算されることになる:
GS R(r)=G(r)−GR(r) (レベル0),
GS 2R(r)=GR(r)−G2R(r) (レベル1),
GS 4R(r)=G2R(r)−G4R(r) (レベル2),
GS Rmax/2(r)=GRmax/4(r)−GRmax/2(r) (レベル Lmax−1) (5)
以下では便宜上、次のような記法を採用する:
GS Rmax(r)=GRmax/2(r) (レベル Lmax) (6)
つまり、下添字Rmaxには、実際には長距離(Long-range)カーネルが対応しているのだが、分離(Split)されたカーネルの意味で上添字Sを付加した訳である。
G(r)=GS R(r)+GS 2R(r)+GS 4R(r)+…
+GS Rmax/2(r)+GS Rmax(r) (7)
図1cは、このようにして得られた短距離型カーネルの関数形の例を示している。
図2は、孤立系に対する多重格子の例と、それぞれのレベルの格子系に対応する短距離型カーネルを示したものである。これに応じて、(クーロンの)全相互作用エネルギーも分離される:
U=US R+US 2R+US 4R+…+US Rmax/2+US Rmax (8)
ここで、
US tR=(1/2)Σi Σj qiqj GS tR(rij) (粒子系) (9)
マルチグリッド法の思想は、このように分離された相互作用については、カーネルの滑らかさの度合いに応じて電荷を当該レベルの格子系に粗視化して扱うのが効率的である、というものである。すなわち、レベル1以上に対しては、元の粒子の電荷を用いるのではなく、代わりに適当な方法でレベルLの格子点に電荷を割り振っておき、格子系に対するエネルギーを次式で計算する:
US tR=(1/2)Σk Σm q'm q'k GS tR(nk−nm) (格子系) (10)
ここで、q'kとq'mは格子点の電荷である。nk,nmは格子点の位置ベクトルである。なお、この式以降では、特に断らない限り、i,jは粒子の番号を示し、k,l,mは格子点の番号を表すものとする。なお、レベル0における相互作用エネルギーUS Rは直接、粒子系で計算する。
図3は、Skeelらによる既存アルゴリズム全体を周期系に対する格子系を用いて説明した図である。図3の左側の上向きの経路(図において「(1)」で表示)は、格子点の電荷(図において黒丸で表示)を上位の粗いレベルの格子点にアサインするステップを示し、右側の下向きの経路(図において「(3)」で表示)は、格子点でのポテンシャルや電場、力(図において黒四角で表示)を下位の細かいレベルに補間内挿していくステップを示している。電荷を表す黒丸の大きさは、対応する格子点での電荷の大きさに対応し、ポテンシャルや力を示す黒四角の大きさは、対応する格子点でのポテンシャルや力の大きさに対応する。さらに図3における水平方向の経路(図において「(2)」、「(4)」で表示)は、当該レベルの相互作用カーネルを用いて、格子間相互作用を計算するステップを示している。以下の説明において、電荷を粗いレベルの格子へアサインする工程を上向き経路(Upward path)と呼び、同一レベルの格子点間に働く相互作用を計算し、格子点に作用する静電ポテンシャルを計算する工程を水平経路(Horizontal path)と呼び、粗いレベルの格子で得られた静電ポテンシャルを、逐次、細かいレベルの格子へ補間していく工程を下向き経路(Downward path)と呼ぶ。実際には、下向き経路は、ひとつ上位の粗いレベル由来の静電ポテンシャルを当該レベルの格子に補間し、そのレベルでの水平経路つまり当該レベル由来の静電ポテンシャルとの和をとる工程となっている。
WO97/46949号公報(特許文献1)には、分子動力学計算を行う装置を有する分子モデル化システムが開示されている。特開2000−268064号公報(特許文献2)には、分子シミュレーションを行う際の粒子集団の初期配置を生成する方法が開示されている。特開2002−80406号公報(特許文献3)及び特開2003−12566号公報(特許文献4)には、ポリマーやロイコ染料などの長鎖型分子の高次構造を予測するために非結合相互作用力として12−6レナード−ジョーンズ・ポテンシャルを用いて分子シミュレーションを行うことが開示されている。特開平8−63454号公報(特許文献5)には、分子シミュレーションに用いられる粒子シミュレーション方法であって、非周期境界条件と周期境界条件の両方の場合の粒子系について少ない計算量で精度よく粒子位置におけるポテンシャル値を計算できる方法として、2体ポテンシャル関数gの半値幅に比例する格子点を作成し、2体ポテンシャル関数gを2個の関数αとβとの合成積に分解し、粒子に割当てられたスカラー値を関数βにより格子点に割当て、その格子点上のスカラー値に関数αの重みを乗じる方法が開示されている。WO00/45334号公報(特許文献6)には、分子動力学方法によってタンパク質の3次元モデル構造を計算することが開示されている。
q'k=Σi qi W(ri−nk) (11)
ここで、重みづけに使われた関数W(Skeelらの原著論文ではφkと記載)は、局所的な台(Local support)をもつ基底関数である。つまり、局所的な有限区間においてのみ関数の値が非ゼロである。この基底関数として数種の例がSkeelらの論文に記載されており、その典型的な例は区分的多項式関数の性質を有する3次のBスプライン関数であり特定の格子点の近傍においてのみ非ゼロ値をとっている。しかし、Skeelら自身の数値実験結果の報告によれば、数種の基底関数に対して得られた計算精度は、現在必要と考えられている精度に比べて2〜3桁精度不足であり、低精度に留まっている。
まず、本発明の第1の実施形態として、孤立系に本発明を適用した例を説明する。図6、図7、図9は第1の実施形態における処理の流れを示しており、特に、図6は、全体の処理の流れを示している。ここではタンパク質などの生体高分子の分子シミュレーションを対象として本発明の方法を適用した場合を説明する。図7は図6におけるステップ108を詳細に示したもので、その終端はステップ109につながる。また、図9はステップ109を詳細に示したもので、その終端はステップ110につながる。
まず、ステップ101において、生体高分子の原子座標を入力する。具体的には、対象とする生体高分子を構成する各原子の座標やその原子のタイプを記載したデータを入力する。たとえば、PDB(Protein Data Bank)形式のデータを入力する。
(レベルLの下端点の座標)=(レベルL−1の下端点の座標)−Δm(レベルLの格子サイズ);
(レベルLの格子点数)=切り上げ[(レベルL−1の格子点数)/2]+2Δm;
(レベルLの格子サイズ)=(レベルL−1の格子サイズの2倍)=2L-1h; (12)
ここで、格子点を(nx,ny,nz)の3整数の組で表わし、nx=0,1,2,…,Mx;ny=0,1,2,…,My;nz=0,1,2,…,Mzの値をとっている。上記の式で格子点数とは、Mx,My,Mzのいずれかを指している(Mx+1ではない)。軸方向で格子のサイズが異なるときは、適宜読み替えればよい。具体的な実施例においては、次数Pの値は4以上の偶数であって、代表的な値はP=4〜20である。
次に、ステップ105において、孤立系に対して3D−FFT(3次元高速フーリエ変換)を適用しようとする場合には、周囲に緩衝領域を設定する。緩衝領域を設定しようとするステップは、本発明において特徴的なものである。
ΔM >2R/h (13)
が成立するようなΔMの最小値を選択してボックスを拡大しておけば、レベルLの格子系では常に隣のボックスが見えないことになるので、周期系として扱うことができ、FFT法を適用できることになる。
次に、ステップ106において、各レベルにおいて、カーネルを長距離型と短距離型カーネルに分離する。
カーネル関数値の計算に計算時間がかかるので、ステップS107において、あらかじめ短距離型カーネルの関数表を作成しておくとよい。短距離型カーネルの関数値表を作成するステップは、本発明において特徴的なものである。この実施形態では、関数値表の作成に際し、以下の方法で決定される関数を採用した。
ρ(r)=const[(1−r/R)(1+r/R)]d-2 (14)
ただし、constは、規格化定数であって球内の電荷の総量が1になるように決定する。電荷密度は表面に近づくにつれて薄くなって滑らかにゼロになる。この場合の静電ポテンシャルΦ(r)は、ポアソン方程式
∇2Φ(r)=−4πρ(r) (15)
の解として解析的に得ることができる。原点に鋭く分布していた点電荷を、原点を中心とする滑らかな電荷分布に置き換えたので、式(15)の解として得られる静電ポテンシャルは、原点から距離R以上離れた遠方では1/rに等しいが、原点に近づいても発散せずに有限値に収束するので、この解は長距離型カーネルGR(r)として相応しい性質を有する。関数の滑らかさに関して重要なポイントは、電荷分布がd−2回連続微分可能なので、GR(r)はr=Rでd回連続微分可能になることである。スプライン関数による補間誤差は、スプラインの次数をPとするとGS R(r)のP階微係数によって上限が定まるので、スプラインの次数Pと、このdとを一貫させることは、最小のコストで精度を維持するために重要である。
(1)Skeelらの文献に記載の関数例(非特許文献3のFig. 3;文献中のaが本明細書の式(2)のRに相当),
(2) Hockneyらの文献で定義された関数(非特許文献4のeq(8-75);文献中のaが本明細書の式(2)のRに相当),
(3)誤差関数型の関数(非特許文献5に記載のEwald和):
GR(r)=[1−erfc(αr)]/r ,
GR(0)=2α/π1/2,
GS R(r)=erfc(αr)/r (16)
ここで、erfcは、相補的誤差関数(complementary error function)のことである。1/α=3Rと対応づけると、r>RでGS R(r)は(完全ではないが)実質的にゼロになる。
短距離カーネルの関数値表が作成されたら、次に、この関数値表を用いて、粒子に働くポテンシャルと力の計算を開始する。ここでは、当該レベルの原子jが、短距離型カーネルを通じて他の原子から受けるポテンシャルを次式にしたがって計算するものとする。
ここで、qjは、原子jの電荷である。これは、ごく普通の粒子−粒子相互作用である
まず、ステップ108において、レベル0(粒子系)に対して、短距離型カーネルに基づき、粒子に働くポテンシャルと力を計算する。これは上述の図3において(4)で示した水平経路の計算に相当する。
〈上向き経路の計算の開始〉
次に、ステップ109において、格子上の電荷を計算するために、上述の図3において説明した上向き経路(Upward path)の計算を開始する。このパス(経路)では、格子点の電荷を逐次決定してゆく。
Bスプラインを基底関数Wに用いる場合の展開誤差は、GS tRのP階導関数の絶対値の上限とhPとの積のオーダーであるので、補間式は精度の高いものになる。この展開近似式を次式で与えられるエネルギー表式:
US tR=(1/2)Σi Σj qi qj GS tR(ri−rj) (粒子系) (19)
に代入して得られたのが、格子系に対するエネルギー表式である:
US tR=(1/2)Σk,l q'k q'lGS tR(nk−nl) (格子系) (20)
この式に含まれている格子点上の電荷q'kは、以下の手続きで計算される。
荷電粒子の近傍の格子点に重みW(rj−nk)をつけて電荷をアサインする(図4の(b)を参照):
q"k=Σj qj W(rj− nk) (21)
この式で、nkは格子点kの位置ベクトルであり、また、粒子jに関する和は、W(rj−nk)がゼロと異なる値をとる粒子についてとればよい。それらの粒子jは格子点kの近傍に位置している。なお、Skeelらによって提案されている従来のマルチグリッド法は、このアサインのステップのみで次の電荷の再アサインステップが存在しないため、低精度である。
W(rj−nk)=B((rjx−nkx)/h)B((rjy−nky)/h)×B((rjz−nkz)/h) (22)
Bスプライン関数の定義・性質については多く教科書で説明されているが、その中で、以下の説明で重要な点は、P次のBスプライン関数B(x)は、区間(−P/2,+P/2)において区分的P−1次多項式であり、区間外ではゼロをとるという性質である。従って、粒子jに関する和は、たとえば、x成分に関しては、格子点kの近傍に位置し|rjx−nkx|/hがP/2以下の粒子jについてとれば十分である。
次式にしたがって、広い範囲の格子点に電荷を再アサインする(図4の(c)):
q'l= Σk q"k(A-1)kl (23)
ここで、Aは、次式で定義される行列であり、いわば、重み行列Wの逆行列である:
Akl=W(nk−nl) (24)
なお、上記の式から分かるように、格子点の電荷値はカーネルの具体的な関数形には依存していない。
q'lx,ly,lz=Σkz{Σky[Σkx q"kx,ky,kz(Ax-1)kx,lx](Ay-1)ky,ly}(Az-1)kz,lz (25)
W(nk−nl)がゼロでない値をとるのは2つの格子点が空間的に近接する場合のみであり、その近接の度合いはスプラインの次数Pに応じて定まっているので、行列Aもそのx,y,z成分も実際にはバンド行列となり、バンド行列連立方程式に対する標準的な解法で解くことができる。上記の行列Aやその逆行列の更新は、格子系が再構築された場合に行えば十分である。
端点での高階微係数をゼロとする境界条件を採用する場合には、行列Aの表式は端点で変更されることになる。取り扱いは複雑になるが、若干ではあるが、精度向上や、行列サイズ減少に伴う計算処理速度向上という利点がある。
αkm=W(nk−nm),
βka=W(nk−na),
γμk=W(d)(ne−nk),
εμa=W(d)(ne−na) (27)
ここで、μは、eとdのペアを1文字で表記したものである。しかし、この行列A'のバンド幅は、行列内部でP/2−1であるが、端ではP−2に広がっている。たとえば、図8bは行列A'のx成分の例を示しており、d=4の行(e=始端)ではバンド幅は4に広がっており、数値計算に時間がかかる不都合がある。
A=α+βε-1γ (28)
このAに対しては、バンド幅は、P/2−1に収まり、好都合である。このAを用いる場合には、追加した2Δm個の格子点は、定式化のために補助的に導入した仮想的なものとなり、実際に電荷を付与する必要はないし、格子点に関する和においても除外できる。図8cは、この行列Aのx成分の例を示したものである。
当該レベルの格子点が、短距離型カーネルを通じて他の格子点から受けるポテンシャルを、以下に記載の実空間法もしくはフーリエ(Fourier)空間法のいずれかを選択して計算する。
次式にしたがって計算する。
ここで、q'mは、格子点mの電荷である。カーネルの影響の到達距離は高々tRであるので、mについての和は、格子点kから距離tR内に位置する格子点に対してとれば十分である(t=2L)。
よく知られているように(たとえば、非特許文献4)、格子系が周期的に並んでいる系に対するエネルギー、ポテンシャル、電場は、以下のスキームに従って、3D−FFTを用いて高速計算できる:
〈下向き経路の計算の開始〉
次に、図6のステップ110において、格子点でのポテンシャル、電場、力を逐次決定していくために、上述の図3において説明した下向き経路(Downward path)の計算を開始する。
このステップは、上向き経路において電荷の再アサインを行ったことに伴って派生的に生じたものである。ここでは、当該レベルLのひとつ上位レベル(親)の粗い格子系において、格子点のポテンシャルを他の格子点に次式に従って分配する:
φ"S(nm)=Σk (A-1)mkφS(nk) (31)
なお、Skeelらの方法は、このステップを欠いており、以下の式でφ"=φと置いたものと等価である。
分配されたポテンシャル値φ"に基づいて、当該レベルLの格子点i(または粒子i)に働くポテンシャルφSを次式のように内挿補間する:
φS(ri)=Σm W(ri−nm)φ"S(nm) (32)
もし、必要ならば、電場ES、力FSも分配されたポテンシャル値を使って同様に内挿補間できる。ここで電場ES、力FSは、いずれもベクトル量である:
ES(ri)=―Σm ∇W(ri−nm)φ"S(nm) (33)
FS i=qi ES(ri) (34)
ここで、riは粒子iの位置ベクトルであり、nmは格子点mの位置ベクトルである。∇は位置ベクトルに関する微分を表す。∇Wの計算に関しては、P次のBスプライン関数の場合には、微分は2個のP−1次のBスプライン関数を使って簡単に表わされるので、容易に計算することができる。
上位レベルの格子から分配・補間で得られたポテンシャル値と、当該レベルに関して格子点間の短距離型カーネルを通じて得られたポテンシャル値との和を計算する。すなわち:
(当該レベル以上に由来するポテンシャル)=(親以上のレベル由来のポテンシャル)+(当該レベル由来のポテンシャル) (35)
を計算する。
その後、図6のステップ111において、下向き経路の計算によって求められた、各粒子(原子)に作用するポテンシャルと力とを出力して、非結合相互作用の計算が終了する。
以下、本実施形態に基づくアルゴリズムによって実際に計算を行った例を説明する。
次に、上述した手順に基づいて非結合相互作用を計算する分子シミュレーション装置を説明する。図10はこのような分子シミュレーション装置を示している。
次に、本発明の第2の実施形態を説明する。ここでは、同一レベルの格子間で相互作用を計算することにより、周期境界条件を用いるがFFTを使用せず、MD専用ボードでの実行に適した計算方法を説明する。
本実施形態で対象としている周期系の場合には、余分に格子を追加する必要はない。すなわち緩衝領域を導入する必要はない。しかし、採用する格子レベルの最大値をLmaxとすると、Lmaxまでの全てのレベルの格子系が周期の単位ボックスとぴったりとマッチするには、(レベル0の格子点数)=(2Lmaxの整数倍)、 となる必要が有る。ここでも、格子点数とは、Mx,My,Mzのいずれかを指している。
多重格子系を構築した後、各相互作用を計算する。従来のPME法やFMM法では、粒子−粒子間相互作用計算部分のみを専用ハードウェアで処理しているものの、他の部分はアルゴリズムが複雑すぎるために、専用ハードウェアでの処理が実現していなかった。本実施形態によれば、格子−格子相互作用の計算にもMD計算用専用ボード(専用ハードウェア)を用いることが可能になり、計算加速上、大きな効果がある。これが精度良い計算結果を与えるのは、格子点での電荷を再アサインによってうまく決定した仕組みによる。
(1)全粒子の座標と電荷(xyzq)のリストが座標メモリに格納されるが、このリストを2重化し、座標メモリの前半部分ではリストに本来の電荷が格納され、後半部分ではすべての電荷を1に設定する;
(2)相互作用の計算に際し、中心粒子iは座標メモリ後半部分から読み込み、相手となる粒子jは座標メモリ前半から読み込む;
(3)中心粒子iに作用する電場を計算する。このとき、実際に計算されるのは力であるが、qi=1と仮定しているので、電場に等しくなる;
(4)以下に記載する微分補間型の補間法を用いて、各粒子に働く電場や力を計算する。
上述の第1の実施形態での補間法では、補間→微分の順に処理を行った。一方、以下で述べるのは、微分→補間の順に行う微分補間の処理に関するものである。
ES(nk)=−Σm q'm∇GS(nk−nm) (36)
ここで、q'mは格子点mの電荷を表している。
E"S(nm)=Σk (A-1)mk ES(nk) (37)
とする。そして、汎用型のコンピュータを用いて、ひとつ上位レベルで分配されて得られた電場を、当該レベルの格子点i(または粒子i)に内挿補間する。すなわち、
ES(ri)=Σm W(ri−nm) E"S(nm) (38)
FS i=qi ES(ri) (39)
とする。これにより、周期系において、FFTを用いることなく、格子点あるいは粒子における電場を求めることができる。
12 多重格子系構築部
13 メモリ
14 緩衝領域設定部
15 カーネル計算部
16 電荷計算部
17 ポテンシャル計算部
20 初期値計算部
21 第1の計算部
22 第2の計算部
23 第3の計算部
Claims (7)
- 電荷が付与されている粒子を有する系における非結合相互作用をマルチグリッド法で計算する段階を有する分子シミュレーション方法において、
多重格子系構築手段が、入力された原子座標に応じて多重格子系を構築して前記多重格子系をメモリに格納する段階と、
対象とするレベルより1段階上位であってより粗い格子を有する上位レベルの格子点に電荷をアサインする場合に、電荷計算手段が、前記メモリにアクセスして、前記電荷を前記上位レベルでの近傍格子点にアサインし、前記アサインされた電荷をさらに広範囲の格子点に再アサインする段階と、
前記対象とするレベルの格子点に作用するポテンシャル、電場または力を、対象とするレベルよりも一段階下位のより細かい格子を有する下位レベルの近傍格子点に内挿補間する際に、前記内挿補間に先立って、ポテンシャル計算手段が、前記メモリにアクセスして、前記対象とするレベルにおけるより広い範囲の格子点に前記電荷を分配する段階と、
を有することを特徴とする分子シミュレーション方法。 - それぞれのレベルの格子系において孤立分子系を周期系として扱うために、異なる周期ボックスに存在する格子点が前記対象とするレベルの格子点間相互作用カーネルの影響到達距離以上に隔離されるように、緩衝領域設定手段が、前記メモリにアクセスして、前記孤立分子系を包含するボックスの周囲に、前記粒子が入っていない空の付加的な緩衝領域を追加することにより周期ボックスを作成する段階をさらに有し、
前記緩衝領域のサイズは、カーネルの影響到達距離と格子サイズとから必要最小サイズを算出して決定される、請求項1に記載の分子シミュレーション方法。 - 前記周期ボックスが作成された格子系に対して3次元高速フーリエ変換を適用する段階を有する、請求項2に記載の分子シミュレーション方法。
- 電荷が付与されている粒子を有する系における非結合相互作用をマルチグリッド法で計算する段階を有する分子シミュレーション装置であって、
メモリと、
入力された原子座標に応じて多重格子系を構築し、前記メモリに格納する多重格子系構築手段と、
前記メモリにアクセスし、対象とするレベルより1段階上位であってより粗い格子を有する上位レベルの格子点に電荷をアサインする電荷計算手段と、
前記メモリにアクセスし、前記対象とするレベルの格子点に作用するポテンシャル、電場または力を、対象とするレベルよりも一段階下位のより細かい格子を有する下位レベルの近傍格子点に内挿補間するポテンシャル計算手段と、
を備え、
前記電荷計算手段は、電荷を前記上位レベルでの近傍格子点にアサインしてその結果を前記メモリに格納する手段と、前記メモリを参照して前記アサインされた電荷をさらに広範囲の格子点に再アサインしてその結果を前記メモリに格納する手段とを有し、
前記ポテンシャル計算手段は、前記内挿補間に先立って、前記対象とするレベルにおけるより広い範囲の格子点に前記電荷を分配する、分子シミュレーション装置。 - それぞれのレベルの格子系において孤立分子系を周期系として扱うために、異なる周期ボックスに存在する格子点が前記対象とするレベルの格子点間相互作用カーネルの影響到達距離以上に隔離されるように、前記メモリに保持された多重格子系において前記孤立分子系を包含するボックスの周囲に前記粒子が入っていない空の付加的な緩衝領域を追加することにより周期ボックスを作成する緩衝領域設定手段をさらに備え、
前記緩衝領域のサイズは、カーネルの影響到達距離と格子サイズとから必要最小サイズを算出して決定される、請求項4に記載の分子シミュレーション装置。 - 分子シミュレーションの実行に際して、電荷が付与されている粒子を有する系における非結合相互作用をマルチグリッド法で計算するコンピュータを、
入力された原子座標に応じて多重格子系を構築し、メモリに格納する多重格子系構築手段、
前記メモリにアクセスし、対象とするレベルより1段階上位であってより粗い格子を有する上位レベルの格子点に電荷をアサインする電荷計算手段であって、前記電荷を前記上位レベルでの近傍格子点にアサインしてその結果を前記メモリに格納する手段と、前記メモリを参照して前記アサインされた電荷をさらに広範囲の格子点に再アサインしてその結果を前記メモリに格納する手段と、備える電荷計算手段、
前記メモリにアクセスし、前記対象とするレベルの格子点に作用するポテンシャル、電場または力を、対象とするレベルよりも一段階下位のより細かい格子を有する下位レベルの近傍格子点に内挿補間するポテンシャル計算手段であって、前記内挿補間に先立って、前記対象とするレベルにおけるより広い範囲の格子点に前記電荷を分配するポテンシャル計算手段、
として機能させるプログラム。 - 前記コンピュータを、さらに、
それぞれのレベルの格子系において孤立分子系を周期系として扱うために、異なる周期ボックスに存在する格子点が前記対象とするレベルの格子点間相互作用カーネルの影響到達距離以上に隔離されるように、前記メモリを参照して、前記メモリに保持された多重格子系において前記孤立分子系を包含するボックスの周囲に、前記粒子が入っていない空の付加的な緩衝領域を追加することにより周期ボックスを作成する緩衝領域設定手段であって、カーネルの影響到達距離と格子サイズとから必要最小サイズを算出して前記緩衝領域のサイズを決定する緩衝領域設定手段として機能させる、請求項6に記載のプログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005268356A JP5011689B2 (ja) | 2005-09-15 | 2005-09-15 | 分子シミュレーション方法及び装置 |
US11/520,588 US20070061119A1 (en) | 2005-09-15 | 2006-09-14 | Molecular simulation method and apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005268356A JP5011689B2 (ja) | 2005-09-15 | 2005-09-15 | 分子シミュレーション方法及び装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2007080044A JP2007080044A (ja) | 2007-03-29 |
JP5011689B2 true JP5011689B2 (ja) | 2012-08-29 |
Family
ID=37856385
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005268356A Expired - Fee Related JP5011689B2 (ja) | 2005-09-15 | 2005-09-15 | 分子シミュレーション方法及び装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20070061119A1 (ja) |
JP (1) | JP5011689B2 (ja) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4963082B2 (ja) * | 2007-05-18 | 2012-06-27 | 独立行政法人産業技術総合研究所 | 複合体構造予測装置、方法およびプログラム |
JP5241468B2 (ja) * | 2008-12-19 | 2013-07-17 | 住友重機械工業株式会社 | シミュレーション方法及びプログラム |
JP5673245B2 (ja) | 2011-03-14 | 2015-02-18 | 富士通株式会社 | 自由エネルギー差予測方法及びシミュレーション装置 |
JP6079411B2 (ja) * | 2013-04-25 | 2017-02-15 | 富士通株式会社 | 座標データの変換方法、相互作用の計算方法、プログラム、記録媒体及び装置 |
EP3026588A1 (en) * | 2014-11-25 | 2016-06-01 | Inria Institut National de Recherche en Informatique et en Automatique | interaction parameters for the input set of molecular structures |
JP6407761B2 (ja) * | 2015-02-20 | 2018-10-17 | 富士通株式会社 | 情報処理装置、シミュレーションプログラムおよびシミュレーション方法 |
CN109885917B (zh) * | 2019-02-02 | 2020-01-31 | 中国人民解放军军事科学院国防科技创新研究院 | 一种并行分子动力学模拟方法及系统 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2359889A1 (en) * | 1999-01-27 | 2000-08-03 | The Scripps Research Institute | Protein modeling tools |
JP3892167B2 (ja) * | 1999-03-19 | 2007-03-14 | 富士通株式会社 | 粒子集団の配置を生成する生成装置および方法 |
-
2005
- 2005-09-15 JP JP2005268356A patent/JP5011689B2/ja not_active Expired - Fee Related
-
2006
- 2006-09-14 US US11/520,588 patent/US20070061119A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
US20070061119A1 (en) | 2007-03-15 |
JP2007080044A (ja) | 2007-03-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Lian et al. | Implementation of regularized isogeometric boundary element methods for gradient‐based shape optimization in two‐dimensional linear elasticity | |
JP5011689B2 (ja) | 分子シミュレーション方法及び装置 | |
De Luycker et al. | X‐FEM in isogeometric analysis for linear fracture mechanics | |
Van Genechten et al. | A direct hybrid finite element–wave based modelling technique for efficient coupled vibro-acoustic analysis | |
Trask et al. | A scalable consistent second-order SPH solver for unsteady low Reynolds number flows | |
Najafi et al. | Shape optimization using a NURBS‐based interface‐enriched generalized FEM | |
He et al. | Acoustic analysis using a mass-redistributed smoothed finite element method with quadrilateral mesh | |
Iwasawa et al. | GPU-enabled particle-particle particle-tree scheme for simulating dense stellar cluster system | |
Velasco-Segura et al. | A finite volume approach for the simulation of nonlinear dissipative acoustic wave propagation | |
Malekan et al. | A computational framework for a two-scale generalized/extended finite element method: generic imposition of boundary conditions | |
Wang et al. | Fast acceleration of 2D wave propagation simulations using modern computational accelerators | |
Jiang et al. | An O (N) and parallel approach to integral problems by a kernel-independent fast multipole method: Application to polarization and magnetization of interacting particles | |
Subber et al. | Asynchronous space–time algorithm based on a domain decomposition method for structural dynamics problems on non-matching meshes | |
Jia et al. | CPU–GPU mixed implementation of virtual node method for real-time interactive cutting of deformable objects using OpenCL | |
Singer et al. | A partitioned material point method and discrete element method coupling scheme | |
Liu et al. | Assessment of an isogeometric approach with Catmull–Clark subdivision surfaces using the Laplace–Beltrami problems | |
Galvis et al. | BESLE: Boundary element software for 3D linear elasticity | |
Ding et al. | Accelerating multi‐dimensional interpolation using moving least‐squares on the GPU | |
Cafiero et al. | The domain interface method: a general-purpose non-intrusive technique for non-conforming domain decomposition problems | |
Baggio et al. | Rigid body modes deflation of the preconditioned conjugate gradient in the solution of discretized structural problems | |
Göddeke et al. | Finite and spectral element methods on unstructured grids for flow and wave propagation problems | |
Movania et al. | Coupling between meshless FEM modeling and rendering on GPU for real-time physically-based volumetric deformation | |
Morales et al. | MPARD: A high-frequency wave-based acoustic solver for very large compute clusters | |
Gerzen et al. | Variational sensitivity analysis of a nonlinear solid shell element | |
Höft et al. | Fast updating multipole Coulombic potential calculation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20080818 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110907 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20111031 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20120508 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20120521 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150615 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |