Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP4741802B2 - 分子軌道法計算方法および計算装置 - Google Patents
[go: Go Back, main page]

JP4741802B2 - 分子軌道法計算方法および計算装置 - Google Patents

分子軌道法計算方法および計算装置 Download PDF

Info

Publication number
JP4741802B2
JP4741802B2 JP2004010676A JP2004010676A JP4741802B2 JP 4741802 B2 JP4741802 B2 JP 4741802B2 JP 2004010676 A JP2004010676 A JP 2004010676A JP 2004010676 A JP2004010676 A JP 2004010676A JP 4741802 B2 JP4741802 B2 JP 4741802B2
Authority
JP
Japan
Prior art keywords
calculation
electron integral
integral value
electron
molecular orbital
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 - Lifetime
Application number
JP2004010676A
Other languages
English (en)
Other versions
JP2005202855A (ja
Inventor
雄一 稲富
雲兵 長嶋
徹 佐々木
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
National Institute of Advanced Industrial Science and Technology AIST
Original Assignee
National Institute of Advanced Industrial Science and Technology AIST
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by National Institute of Advanced Industrial Science and Technology AIST filed Critical National Institute of Advanced Industrial Science and Technology AIST
Priority to JP2004010676A priority Critical patent/JP4741802B2/ja
Publication of JP2005202855A publication Critical patent/JP2005202855A/ja
Application granted granted Critical
Publication of JP4741802B2 publication Critical patent/JP4741802B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Complex Calculations (AREA)

Description

本発明は、例えば分子軌道法計算方法および計算装置に係り、更に詳しくは、コンピュータを用いて行われる大規模な科学技術計算である分子軌道法計算に好適な方法および装置に関する。
分子軌道法は原子の電子軌道の線形結合により表現された分子の電子軌道を基底関数として分子の電子状態を解析する計算化学の分野で非常に良く用いられている。
以下に、従来なされている分子軌道法の計算方法の一例として、一般的に良く知られているHantree-Fock法を用いて行う場合について、その概要を説明する。Hantree-Fock法については、例えば、非特許文献1,2に詳しい。
Hantree-Fock法において解くべきHantree-Fock-Roothaan方程式では、以下に示す式(1)から式(6)の通り表される。
Figure 0004741802
基底関数は、分子軌道法で求める分子軌道を展開するために用いられる関数群であり、計算する分子である対象分子を大きくしたり、計算精度を上げたりすると、基底関数の数Nが増加する。この基底関数を用いることによって、分子軌道と呼ばれる関数{ψ}は、以下に示す式(10)〜(12)に示すように、基底関数の線形結合で表され、基底関数はさらにデカルトガウス型関数{g}で展開されている。
Figure 0004741802
上記縮約係数、軌道指数、縮約長はそれぞれ基底関数の種類によって固定された定数であり、通常の分子軌道計算では変化することはない。n=(n,n,n)は角運動量指数で、各成分の和λ=n+n+nを軌道量子数と呼び、この値が基底関数の基本的な型を決める。λ=0,1,2,3…である関数を、それぞれs,p,d,f…型の関数と呼び、より大きなλを持つ関数は、一般に「高次の」関数と呼ばれる。
さて、上記式(1)では、Fock行列Fと行列Sとを与えて、一般化固有値問題を解き、固有値(軌道エネルギー)e=diag(ε,ε,・・・,ε)と対応する固有ベクトル(分子軌道係数)C=(c,c,・・・,c)を求める。密度行列は分子軌道係数を用いて、以下に示す式(7)で計算される。
Figure 0004741802
ここで、nは分子中の電子数である。
式(1)では、Fock行列と重なり行列とを与えて、分子軌道係数と軌道エネルギーを求める。ところが、与えるべきFock行列が、求めるべき分子軌道係数を用いて計算されるために、この方程式は非線型方程式であり、繰り返し計算を必要とする。
分子の(電子)エネルギーは、収束した分子軌道係数を用いて計算された密度行列、Fock行列などを用いて、以下に示す式(8)で与えられる。
Figure 0004741802
Fock行列に表れる2電子積分と呼ばれる値(ij|kl)を、全ての基底関数{ψ}の4重対に対して求める必要があるため、Fock行列作成における計算コストは基底関数の数Nの4乗に比例する(O(N))。
計算に用いる基底関数は実関数であることが多く、2電子積分には以下の式(9)に示すような対称関係が成り立つ。
Figure 0004741802
上述したようなHantree-Fock法を適用し、コンピュータを用いて行なう分子軌道計算の一般的な流れを、図7のフローチャートを用いて説明する。
まず、対象分子のデータおよび分子軌道の展開に用いる関数群のデータがコンピュータに読み込まれ(S1)、次に、式(3)、式(7)および式(8)を用い、与えられたデータに基づいて1電子積分Hcore、初期エネルギー、および初期電子密度行列Dが計算される(S2)。
そして、式(4)を用いて、全ての2電子積分を計算しながら、与えられた電子密度行列と掛け合わせてFock行列が作成される(S3)。なお、2電子積分計算を行なう場合には、式(9)に示すような対称関係を利用し、例えば図8に示すようなループ構造をもつプログラムを用いることによって、無駄な2電子積分計算が回避されている。更に、式(1)を用いて、Fock行列と重なり行列とから一般化固有値問題が解かれ、式(8)を用いて新たなエネルギーが、式(7)を用いて電子密度行列がそれぞれ計算される(S4)。
そして、ステップS4で計算されたエネルギーおよび電子密度行列が収束した場合(S5:Yes)には、収束した電子密度行列を用いて、全エネルギーや電荷分布などが計算され、分子軌道計算が完了する(S6)。一方、収束していない場合(S5:No)には、ステップS3の処理に戻り、分子軌道計算が完了するまで、ステップS3からステップS5までの処理が繰り返し行なわれる。
「新しい量子化学(上)−電子構造の理論入門−」A.ザボ、N.S.オストランド著、大野公男、阪井健男、望月祐志 訳、東京大学出版会 「分子軌道法」藤永茂 著、岩波書店
しかしながら、このような従来の分子軌道法計算方法では、以下のような問題がある。
すなわち、従来の分子軌道法計算においては、ステップS3のFock行列生成時に2電子積分値が必要となるが、この2電子積分値の取り扱いが、コンピュータを用いた分子軌道計算の高速化に対する大きな障害となっている。
本来、解析対象の系を固定すれば2電子積分値は定数となるので、計算開始時に一度だけ計算すれば良い。したがって、2電子積分値がすべてコンピュータのメモリに格納できるような小規模な系を解く場合には、メモリ上の値が参照可能である。これを間接法分子軌道法という。
しかし、2電子積分値の総数は基底関数の四乗に比例するため、対象分子の系の規模がある程度大きくなると、2電子積分値を格納するために必要なメモリ量が著しく増大し、メモリに格納することができなくなり、さらに系が巨大になるとコンピュータのハードディスクにすら格納できず計算不能となってしまうという問題がある。
そのため、大規模な系を解く場合には、必要なときに2電子積分値を再計算する直接法を用いることにより対処している。しかしながら、この場合、記憶コストを演算コストに置き換えているため、今度はコンピュータの演算時間が増大してしまうという問題がある。実際、全処理時間の99%以上が2電子積分値計算であることも少なくない。
本発明はこのような事情に鑑みてなされたものであり、分子軌道法計算の過程で得られる2電子積分値を、再計算して求めるものと、バッファ領域のような記憶装置に記憶しておき、計算時にそれを読み出して行なうものとに分けて実行することによって、分子軌道法計算の高速化を図ることが可能な分子軌道法計算方法および装置を提供することを目的とする。
上記の目的を達成するために、本発明では、以下のような手段を講じる。
すなわち、請求項1の発明は、少なくとも記憶装置と演算装置とを具備したコンピュータを用い、演算装置において、分子軌道法計算の計算過程で得られる2電子積分値を用いて繰り返し計算を行なうことによって対象分子の分子軌道法計算を行なう方法であって、2電子積分値のうち、予め定めた量の2電子積分値を記憶装置に記憶させておく。そして、演算装置は、繰り返し計算を行なう場合には、記憶装置に記憶された2電子積分値については、記憶装置から読み出す一方、記憶装置に記憶されていない2電子積分値については、計算することによって該繰り返し計算で用いる2電子積分値を取得する。ここで、2電子積分値の個数は、対象分子の基底関数の4乗に比例する。
従って、請求項1の発明の分子軌道計算方法においては、以上のような手段を講じることにより、計算時間のかかる2電子積分値については可能な限り記憶装置に記憶しておくことができる。そして、繰り返し計算時には、計算時間のあまりかからない2電子積分値については再計算して取得する。一方、計算時間のかかる2電子積分値については、記憶装置から読み出して取得することによって、再計算する必要がなくなるので、分子軌道法計算の高速化を図ることが可能となる。
更に、請求項の発明は、対象分子の軌道量子数の和が小さい2電子積分値から優先的に記憶装置に記憶させる。
従って、軌道量子数の和が小さい2電子積分値から優先的に記憶装置に記憶させることができる。軌道量子数の和が小さい2電子積分値は、多大な計算時間を要するので、繰り返し計算時には、計算時間のあまりかからない軌道量子数の和が大きい2電子積分値のみを再計算すれば良く、分子軌道法計算の高速化を図ることが可能となる。
請求項2の発明は、少なくとも記憶装置と演算装置とを具備したコンピュータを用い、前記演算装置において、分子軌道法計算の計算過程で得られる2電子積分値を用いて繰り返し計算を行なうことによって対象分子の分子軌道法計算を行なう方法であって、対象分子の基底関数を、積分1つあたりの計算負荷の大きい順番にソートし、このソート結果に基づいて、積分1つあたりの計算負荷の大きい基底関数に対応する2電子積分値から優先的に記憶装置に記憶させておき、演算装置は、繰り返し計算を行なう場合には、記憶装置に記憶された2電子積分値については、記憶装置から読み出す一方、記憶装置に記憶されていない2電子積分値については、計算することによって該繰り返し計算で用いる2電子積分値を取得する。ここで、2電子積分値の個数は、対象分子の基底関数の4乗に比例する。
従って、請求項の発明の分子軌道計算方法においては、以上のような手段を講じることにより、計算負荷の大きい基底関数に対応する2電子積分値から優先的に記憶装置に記憶させることができる。計算負荷の大きい基底関数に対応する2電子積分値は、多大な計算時間を要するので、繰り返し計算時には、計算時間のあまりかからない2電子積分値のみを再計算すれば良く、分子軌道法計算の高速化を図ることが可能となる。
請求項3の発明は、少なくとも記憶手段と演算手段と制御手段とを具備し、演算手段において、分子軌道法計算の計算過程で得られる2電子積分値を用いて繰り返し計算を行なうことによって対象分子の分子軌道法計算を行なう装置であって、制御手段は、2電子積分値のうち、予め定めた量の2電子積分値を記憶装置に記憶させる。また、演算装置は、繰り返し計算を行なう場合には、記憶装置に記憶された2電子積分値については、記憶装置から読み出す一方、記憶装置に記憶されていない2電子積分値については、計算することによって該繰り返し計算で用いる2電子積分値を取得する。ここで、2電子積分値の個数は、対象分子の基底関数の4乗に比例する。
従って、請求項の発明の分子軌道計算装置においては、以上のような手段を講じることにより、計算時間のかかる2電子積分値については可能な限り記憶手段に記憶しておくことができる。そして、繰り返し計算時には、計算時間のあまりかからない2電子積分値については再計算して取得する。一方、計算時間のかかる2電子積分値については、記憶手段から読み出して取得することによって、再計算する必要がなくなるので、分子軌道法計算の高速化を図ることが可能となる。
更に、請求項の発明は、制御手段、対象分子の軌道量子数の和が小さい2電子積分値から優先的に記憶装置に記憶させる。
従って、軌道量子数の和が小さい2電子積分値から優先的に記憶手段に記憶させることができる。軌道量子数の和が小さい2電子積分値は、多大な計算時間を要するので、繰り返し計算時には、計算時間のあまりかからない軌道量子数の和が大きい2電子積分値のみを再計算すれば良く、分子軌道法計算の高速化を図ることが可能となる。
請求項4の発明は、少なくとも記憶手段と演算手段と制御手段とを具備し、演算手段において、分子軌道法計算の計算過程で得られる2電子積分値を用いて繰り返し計算を行なうことによって対象分子の分子軌道法計算を行なう装置であって、対象分子の基底関数を、積分1つあたりの計算負荷の大きい順番にソートするソート手段を更に備える。そして、制御手段は、ソート手段によってなされたソート結果に基づいて、積分1つあたりの計算負荷の大きい基底関数に対応する2電子積分値から優先的に記憶装置に記憶させる。演算装置は、繰り返し計算を行なう場合には、記憶装置に記憶された2電子積分値については、記憶装置から読み出す一方、記憶装置に記憶されていない2電子積分値については、計算することによって該繰り返し計算で用いる2電子積分値を取得する。ここで、2電子積分値の個数は、対象分子の基底関数の4乗に比例する。
従って、請求項の発明の分子軌道計算装置においては、以上のような手段を講じることにより、計算負荷の大きい基底関数に対応する2電子積分値から優先的に記憶手段に記憶させることができる。計算負荷の大きい基底関数に対応する2電子積分値は、多大な計算時間を要するので、繰り返し計算時には、計算時間のあまりかからない2電子積分値のみを再計算すれば良く、分子軌道法計算の高速化を図ることが可能となる。
本発明の分子軌道法計算方法および装置によれば、分子軌道法計算の過程で得られる2電子積分値を、再計算して求めるものと、バッファ領域のような記憶装置に格納しておき、計算時にそれを読み出して行なうものとに分けて実行することによって、分子軌道法計算の高速化を図ることが可能となる。
以下に、本発明を実施するための最良の形態について図面を参照しながら説明する。
なお、以下の形態の説明に用いる図中の符号は、図7と同一ステップについては同一符号を付して示すことにする。
本発明の最良の形態を図1から図6を用いて説明する。
図1は、本形態に係る分子軌道法計算方法を適用した分子軌道法計算装置の一例を示す構成概念図である。
この分子軌道法計算装置10は、入力部12と、制御部14と、記憶部16と、演算部18と、出力部20とを備えており、図2に示すフローチャートにしたがって動作する。なお、図2のフローチャートでは、図7のフローチャートにおける処理と同一のステップについては、同一のステップ番号を付している。すなわち、図2に示すフローチャートは、図1に示すフローチャートにおけるステップS1とステップS2との間にステップS11を追加し、ステップS3の代わりにステップS31乃至ステップS34としたものである。
入力部12は、図示しないマウスやキーボード等の入力手段を備えており、オペレータがこれら入力手段を操作することによって、従来技術で説明したような対象分子の分子軌道法計算に必要な諸データが入力されるようにしている。そして、必要な諸データが入力されると、入力部12は、この入力された諸データを制御部14に出力する(S1)。
制御部14は、この分子軌道法計算装置10の全体制御を司る部位であって、ステップS1において入力部12から出力された諸データを演算部18に出力したり、必要な処理を施したり(S11)、記憶部16にバッファ領域17を確保する(S31)。
必要な処理として、例えば、入力部12から出力された諸データに基づいて、対象分子の基底関数を、計算負荷の大きい順番にソートする。すなわち、2電子積分値は4つの基底関数を含んだ積分であるが、その軌道量子数の組み合わせによって2電子積分値の型が決まる。2電子積分値計算ルーチンでは、一般には、この積分タイプごとに呼び出すサブプログラムが異なる。通常の2電子積分値計算ルーチンは、縮約殻(contracted shell)の4重ループ構造をとっている。この縮約殻とは、同じ軌道量子数、同じ中心、それに、同じ縮約係数、軌道指数の組を持つ関数の集まりである。縮約殻の軌道量子数の並びは、何も前処理をしなければ、ばらばらなので、縮約殻の4重ループの最も内側で決まる積分タイプは、事実上、ランダムな並びで現れる。そうすると、バッファに保存する積分のタイプを限定する作業が面倒になる。積分1つあたりの計算量を考慮した場合、軌道量子数の和が小さい積分からバッファに保存したほうが好ましいため、積分タイプごとに2電子積分値を計算して、保存することは、性能向上に必要不可欠である。
具体的なソート方法の一例について図3を用いて説明する。
図3は、Thymine(原子数15,基底関数6−31G、軌道数147)を対象分子とした場合における各タイプの2電子積分1つあたりの計算コストの比を示すグラフである。横軸は、ERI(Electron Repulsion Integral:2電子積分タイプの2電子反発積分)のタイプを軌道順に示し、縦軸は、ERIのタイプが(dd,dd)である場合を基準とした場合における(1)実行時間、(2)浮動小数演算数、(3)全実行命令数、(4)メモリアクセス数に対する比をそれぞれ示している。この結果は、各タイプの2電子積分値計算コストを、一般に用いられているプロセッサの性能カウンタ利用のためのプログラムであるperformance counter library(PCL)を用いて測定し、その値を、計算した全ての積分数で割った値を、各積分タイプの積分1個あたりの計算コストと換算することによって得た。
図3を見て分かるように、積分1個あたりの計算コストは、最も軌道量子数の和の小さな(ss,ss)タイプが最も高く、(1)実行時間で比較すると、(dd,dd)タイプの60倍以上もかかっていることが分かる。この場合、(ss,ss)および(ps,ss)タイプを優先的にバッファ領域17に記憶するようにすれば効果的であることがわかる。それ以外は何れも計算コストはさほど高くないので、バッファ領域17に記憶させるメリットはあまりない。したがって、この結果に基づき、対象分子の基底関数を、計算負荷の大きい順番にソートすることによって、バッファ領域17に記憶させるべき基底関数の優先順位を決定するようにしている。
そして、演算部18から2電子積分値が出力された場合には、このソート結果に基づいて、計算負荷の大きい基底関数に対応する2電子積分値から優先的にバッファ領域17に記憶させる(S32)。
なお、上述したようなソートを用いた方法の代わりに、入力部12から出力された諸データに基づいて、対象分子の軌道量子数の和を求めておき、演算部18から2電子積分値が出力された場合には、軌道量子数の和が小さい2電子積分値から優先的にバッファ領域17に記憶させるようにしてもよい。
また、制御部14は、ステップS33、ステップS34、およびステップS4において演算部18が、2電子積分値を用いて繰り返し計算を行なう場合には、逆に、バッファ領域17から2電子積分値を取り出し、演算部18に引き渡す。そして、エネルギー、電子密度行列が収束し(S5)、演算部18によって最終結果が得られた場合(S6)には、この結果を取り出し、出力部20に出力する。
演算部18は、入力部12から出力された諸データを制御部14を介して取得し、これら諸データに基づいて、1電子積分、初期エネルギーおよび初期電子密度行列を計算する(S2)。そして、全ての2電子積分値をタイプ毎に計算しながら、与えられた電子密度行列と掛け合わせて初期Fock行列を作成する。その際に、制御部14を介して、計算負荷の大きい基底関数に対応する2電子積分値や、軌道量子数の和が小さい2電子積分値など、予め定められた2電子積分値およびそれに付随する4つの添え字をバッファ領域17に記憶させる(S32)。
そして、ステップS32で記憶された2電子積分値およびその添え字、ならびに電子密度行列を制御部14を介してバッファ領域17から取得し、これらを用いて、Fock行列の部分和を計算する(S33)。次に、バッファ領域17に記憶されていない2電子積分値を計算しながら、与えられた電子密度行列と掛け合わせてFock行列を完成させる(S34)。更に、ステップS33およびステップS34で計算されたFock行列と重なり行列とを用いて一般化固有値問題を解き、新たなエネルギーおよび電子密度行列を計算し(S4)、エネルギー、電子密度行列が収束する(S5)まで、ステップS33、ステップS34およびステップS4からなる繰り返し計算を行なう。
このように演算部18は、繰り返し計算を行なう場合には、バッファ領域17に記憶された2電子積分値については、制御部14を介してバッファ領域17から読み出す一方、バッファ領域17に記憶されていない2電子積分値については、計算することによって該繰り返し計算で用いる2電子積分値を取得している。
バッファ領域17に記憶する2電子積分値は、上述したように、計算負荷の大きい基底関数に対応する2電子積分値や、軌道量子数の和が小さい2電子積分値である。計算時間の観点からは、計算負荷の大きい基底関数に対応する2電子積分値や、軌道量子数の和が小さい2電子積分値ほど、計算時間がかかる。そのため、このように計算時間がかかる2電子積分値については、バッファ領域17に記憶しておき、繰り返し計算時(S33)には、これらの2電子積分値については再計算することなくバッファ領域17から取り出す一方、計算時間があまりかからず、再計算が容易な2電子積分値については、バッファ領域17に記憶せず、繰り返し計算時(S34)には、演算部18で再計算して用いるようにしている。
バッファ領域17に記憶させる方法(間接法)は高速であるが、記憶部16の容量の観点から規模の大きな対象分子には使用できない。その一方で、再計算する方法(直接法)は低速となるが、規模の大きな対象分子に対しても使用することができる。上述したように、2電子積分値の計算時間はすべての場合において同一とは限らないことから、計算時間が大きい2電子積分値のみ記憶できるようバッファ領域17を確保してここに記憶しておき、計算時間があまりかからない2電子積分値を再計算して取得することにより、直接法と間接法の両者の手法の欠点を回避しつつ、長所を活かすことにより、対象分子に応じて高速な分子軌道計算を行なうようにする。
したがって、ステップS31で確保されるバッファ領域17のサイズは、対象分子に応じて高速な分子軌道計算を実現するように、記憶部16の記憶容量の範囲内において、対象分子に応じて定めるようにする。具体的なバッファ領域17のサイズの決定方法について、図4を用いて説明する。
図4は、(Gly)5(グリシン5量体)の各ERIタイプに対する積分数と、それに対応した必要メモリ容量(MB)を示す図である。更には、最も軌道量子数の和の小さなERIタイプからの必要メモリ容量(MB)を累積した累積必要メモリ容量(MB)も示している。
図4より、バッファ領域17のサイズが16MBであれば、(ss,ss)タイプの積分全部と、(ps,ss)タイプの積分の一部を記憶できることがわかる。また、バッファ領域17のサイズが128MBであれば、(ps,ps)タイプまでの積分のほとんどを記憶できることがわかる。更に、バッファ領域17のサイズが256MBの場合、(pp,ps)タイプまでの積分の多くを記憶できることになり、ステップS33,ステップS34およびステップS4でなされる繰り返し計算で毎回計算すべき積分の大部分を、比較的負荷の軽い(pp,pp)タイプのみとすることができるようになる。これにより、後述するように、バッファ領域17のサイズに対する性能向上の程度を、linear-scaleよりも向上することを可能としている。
更に演算部18は、ステップS5において、エネルギー、電子密度行列が収束した場合には、この収束した電子密度行列を用いて、全エネルギーや電荷分布などを計算することによって対象分子の分子軌道計算を完了し、計算結果を制御部14を介して出力部20に出力する(S6)。
出力部20は、図示しない表示画面を備えており、この計算結果を表示画面から表示する。
次に、以上のように構成した本形態に係る分子軌道法計算方法を適用した分子軌道法計算装置の動作について説明する。
この分子軌道法計算装置10によって対象分子の分子軌道計算を行なう場合には、先ず、入力部12の図示しないマウスやキーボード等の入力手段を使うことによって、対象分子の分子軌道計算に必要な諸データを入力する必要がある。必要な諸データが入力されると、この入力された諸データは、入力部12から制御部14へと出力される(S1)。
次に、制御部14において、ステップS1において入力部12から出力された諸データに基づいて、対象分子の基底関数が、計算負荷の大きい順番にソートされる(S11)。あるいは、この代わりに、入力部12から出力された諸データに基づいて、対象分子の軌道量子数の和の小さい順番にソートされるようにしても良い。一方、演算部18では、ステップS1において入力部12から出力された諸データに基づいて、1電子積分、初期エネルギーおよび初期電子密度行列が計算される(S2)。
次に、制御部14によって、記憶部16にバッファ領域17が確保される(S31)。必要なバッファ領域17のサイズは、対象分子によってある程度わかるので、そこから類推することによって、対象分子に応じて高速な分子軌道計算を実現するように、記憶部16の記憶容量の範囲内において決定される。あるいは、オペレータが設定するようにしても良い。
そして、演算部18では、ステップS1において入力部12から出力された諸データに基づいて、全ての2電子積分値をタイプ毎に計算しながら、与えられた電子密度行列と掛け合わせることによって初期Fock行列が作成される。更に、ステップS11でなされたソート結果にしたがって、計算負荷の大きい基底関数に対応する2電子積分値や、軌道量子数の和が小さい2電子積分値が、付随する4つの添え字とともにバッファ領域17に記憶される(S32)。
更に、ステップS32で記憶された2電子積分値およびその添え字、ならびに電子密度行列が、制御部14を介してバッファ領域17から演算部18に引き渡される。そして、演算部18では、これらを用いてFock行列の部分和が計算される(S33)。次に、演算部18において、バッファ領域17に記憶されていない2電子積分値が計算され、更に与えられた電子密度行列と掛け合わせることによってFock行列が完成される(S34)。
しかる後に、演算部18では、ステップS33およびステップS34で計算されたFock行列と重なり行列とを用いて一般化固有値問題が解かれ、新たなエネルギーおよび電子密度行列が計算される(S4)。そして、演算部18によって、エネルギー、電子密度行列が収束すると判定された場合(S5:Yes)には、更に、この収束した電子密度行列を用いて、全エネルギーや電荷分布などが計算され、この計算結果が分子軌道計算の最終結果として出力部20の表示画面から表示される。(S6)。
一方、演算部18によって、収束していないと判定された場合(S5:No)には、ステップS33、ステップS34およびステップS4からなる繰り返し計算が収束するまで行われる。
上述したように、本形態に係る分子軌道法計算方法を適用した分子軌道法計算装置においては、分子軌道法計算の過程で得られ、繰り返し計算に用いる2電子積分値のうち、計算負荷の大きい基底関数に対応する2電子積分値や、軌道量子数の和が小さい2電子積分値など、再計算して取得するのに計算時間が大きい2電子積分値については、バッファ領域17に記憶しておき、繰り返し計算時には、再計算することなく、バッファ領域17から取り出して繰り返し計算に用いることができる(間接法)。
一方、再計算して取得するのにさほど計算時間を要しない2電子積分値については、バッファ領域17に記憶せず、繰り返し計算時には、その都度再計算して取得し、繰り返し計算に用いることができる(直接法)。
上記した間接法は高速であるが、記憶部16の容量の観点から規模の大きな対象分子には使用できないという特徴がある一方、直接法は低速であるが、規模の大きな対象分子に対しても使用することができるという特徴を有している。
本発明は、この直接法と間接法とを組み合わせ、かつ対象分子に適切なバッファ領域17のサイズを設定することにより、直接法と間接法の両者の手法の欠点を回避しつつ、両者の長所の融合が可能となり、高速な分子軌道計算を行なうことが可能となる。
更には、分子軌道法計算のような膨大な科学技術計算では、極めて多数のプロセッサを用いて並列計算を行うことがなされている。このような場合、用いたプロセッサ数から期待される実行性能(linear-scale)を得ることができない場合がある。しかしながら、本形態に係る分子軌道法計算方法を適用した分子軌道法計算装置を用いることによって、このような実行性能の低下を阻止できるばかりではなく、適切なバッファ領域17のサイズを設定することによって、用いたプロセッサ数から期待される実行性能よりもむしろ高い所謂super-linearな実行性能が実現される。この効果について、Crambin(46アミノ酸残基、642原子、1974軌道、基底関数STO−3G)を対象分子として行った2電子積分の結果を例に説明する。
図5は、バッファ領域17を設けなかった場合におけるプロセッサ数と、プロセッサ数が1個の場合に対する各プロセッサ数における速度向上率との関係を示している。すなわち、横軸は、プロセッサの数であり、縦軸は、必要な計算を完了するまでの時間が、1個のプロセッサが用いられた場合に対して何倍短くなったかを示している。
2電子積分値計算は、元来、並列性が非常に高いことを反映して、図5に示すように、128個のプロセッサを使用した場合でも、1個のプロセッサを使用した場合の125倍あまりの速度向上が得られている。しかしながら、この時点でも、図中(b)に示すように、用いたプロセッサ数に比例して実行性能が向上するlinear-scaleの速度向上直線(図中(a))よりも若干性能が落ちている。すなわち、数100個以上のプロセッサを用いて並列計算を行う場合には、性能向上が頭打ちになることを示している。
それに対し、図6は、1個のプロセッサあたり、それぞれ32MB(図中(c))、64MB(図中(d))、および128MB(図中(e))のバッファ領域17を設けた場合のプロセッサ数と速度向上率との関係を示している。図6に示すように、1個のプロセッサあたりのバッファ領域17のサイズを32MBとした場合であっても、図5に示すようなバッファ領域17無しの場合に見られた速度向上率の低下がなくなるのみならず、図中(a)に示すlinear-scaleよりも高い速度向上直線であるsuper-linear scalabilityを示している。バッファ領域17のサイズが128MBの場合、128個のプロセッサ使用時に、1個のプロセッサ使用時の144.6倍ものsuper-linearな速度向上効果が得られた。
このように、本形態に係る分子軌道法計算方法を適用した分子軌道法計算装置を用いることによって、多くのプロセッサを用いた場合に見られる実行性能の低下を阻止できるばかりではなく、適切なバッファ領域17のサイズを設定することによって、用いたプロセッサ数から期待される実行性能よりもむしろ高い所謂super-linearな実行性能を実現することが可能となる。
以上、本発明を実施するための最良の形態について、添付図面を参照しながら説明したが、本発明はかかる構成に限定されない。特許請求の範囲の発明された技術的思想の範疇において、当業者であれば、各種の変更例及び修正例に想到し得るものであり、それら変更例及び修正例についても本発明の技術的範囲に属するものと了解される。
本発明の最良の形態に係る分子軌道法計算方法を適用した分子軌道法計算装置の一例を示す構成概念図。 同形態に係る分子軌道法計算方法を適用した分子軌道法計算装置の動作例を示すフローチャート。 Thymineを対象分子とした場合におけるERIタイプと、2電子積分計算コストとの関係を示す図。 (Gly)5(グリシン5量体)の各ERIタイプに対する積分数と、それに対応した必要メモリ容量(MB)、および必要メモリ容量(MB)を累積した累積メモリ容量(MB)を示す図。 バッファ領域を設けなかった場合におけるプロセッサ数と速度向上率との関係を示す図。 バッファ領域を設けた場合におけるプロセッサ数と速度向上率との関係を示す図。 従来技術における分子軌道法計算方法の流れを示すフローチャート。 対象関係を利用して2電子積分値計算を行なうプログラムの一例を示す図。
符号の説明
10…分子軌道法計算装置、12…入力部、14…制御部、16…記憶部、17…バッファ領域、18…演算部、20…出力部

Claims (4)

  1. 少なくとも記憶装置と演算装置とを具備したコンピュータを用い、前記演算装置において、分子軌道法計算の計算過程で得られる2電子積分値を用いて繰り返し計算を行なうことによって対象分子の分子軌道法計算を行なう方法であって、
    前記2電子積分値の個数は、前記対象分子の基底関数の4乗に比例し、
    前記2電子積分値のうち、予め定めた量の2電子積分値を、前記対象分子の軌道量子数の和が小さい2電子積分値から優先的に前記記憶装置に記憶させておき、
    前記演算装置は、前記繰り返し計算を行なう場合には、前記記憶装置に記憶された2電子積分値については、前記記憶装置から読み出す一方、前記記憶装置に記憶されていない2電子積分値については、計算することによって該繰り返し計算で用いる2電子積分値を取得するようにした分子軌道法計算方法。
  2. 少なくとも記憶装置と演算装置とを具備したコンピュータを用い、前記演算装置において、分子軌道法計算の計算過程で得られる2電子積分値を用いて繰り返し計算を行なうことによって対象分子の分子軌道法計算を行なう方法であって、
    前記2電子積分値の個数は、前記対象分子の基底関数の4乗に比例し、
    前記対象分子の基底関数を、積分1つあたりの計算負荷の大きい順番にソートし、
    このソート結果に基づいて、積分1つあたりの計算負荷の大きい基底関数に対応する2電子積分値から優先的に前記記憶装置に記憶させておき、
    前記演算装置は、前記繰り返し計算を行なう場合には、前記記憶装置に記憶された2電子積分値については、前記記憶装置から読み出す一方、前記記憶装置に記憶されていない2電子積分値については、計算することによって該繰り返し計算で用いる2電子積分値を取得するようにした分子軌道法計算方法。
  3. 少なくとも記憶手段と演算手段と制御手段とを具備し、前記演算手段において、分子軌道法計算の計算過程で得られる2電子積分値を用いて繰り返し計算を行なうことによって対象分子の分子軌道法計算を行なう装置であって、
    前記2電子積分値の個数は、前記対象分子の基底関数の4乗に比例し、
    前記制御手段は、前記2電子積分値のうち、予め定めた量の2電子積分値を、前記対象分子の軌道量子数の和が小さい2電子積分値から優先的に前記記憶装置に記憶させ、
    前記演算装置は、前記繰り返し計算を行なう場合には、前記記憶装置に記憶された2電子積分値については、前記記憶装置から読み出す一方、前記記憶装置に記憶されていない2電子積分値については、計算することによって該繰り返し計算で用いる2電子積分値を取得するようにした分子軌道法計算装置。
  4. 少なくとも記憶手段と演算手段と制御手段とを具備し、前記演算手段において、分子軌道法計算の計算過程で得られる2電子積分値を用いて繰り返し計算を行なうことによって対象分子の分子軌道法計算を行なう装置であって、
    前記2電子積分値の個数は、前記対象分子の基底関数の4乗に比例し、
    前記対象分子の基底関数を、積分1つあたりの計算負荷の大きい順番にソートするソート手段を更に備え、
    前記制御手段は、前記ソート手段によってなされたソート結果に基づいて、積分1つあたりの計算負荷の大きい基底関数に対応する2電子積分値から優先的に前記記憶装置に記憶させ
    前記演算装置は、前記繰り返し計算を行なう場合には、前記記憶装置に記憶された2電子積分値については、前記記憶装置から読み出す一方、前記記憶装置に記憶されていない2電子積分値については、計算することによって該繰り返し計算で用いる2電子積分値を取得するようにした分子軌道法計算装置。
JP2004010676A 2004-01-19 2004-01-19 分子軌道法計算方法および計算装置 Expired - Lifetime JP4741802B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004010676A JP4741802B2 (ja) 2004-01-19 2004-01-19 分子軌道法計算方法および計算装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004010676A JP4741802B2 (ja) 2004-01-19 2004-01-19 分子軌道法計算方法および計算装置

Publications (2)

Publication Number Publication Date
JP2005202855A JP2005202855A (ja) 2005-07-28
JP4741802B2 true JP4741802B2 (ja) 2011-08-10

Family

ID=34823332

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004010676A Expired - Lifetime JP4741802B2 (ja) 2004-01-19 2004-01-19 分子軌道法計算方法および計算装置

Country Status (1)

Country Link
JP (1) JP4741802B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015009048A1 (ko) * 2013-07-18 2015-01-22 주식회사 엘지화학 분자 오비탈 분포에 대한 정량적 비교 분석 방법 및 이를 이용한 시스템

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5974513B2 (ja) * 2012-02-01 2016-08-23 富士通株式会社 分子設計装置、分子設計方法、及び分子設計プログラム
KR101614430B1 (ko) 2013-07-18 2016-04-21 주식회사 엘지화학 특정 영역에 대한 분자 오비탈 분포의 정량적 비교 분석 방법 및 이를 이용한 시스템
KR101606092B1 (ko) 2013-07-18 2016-03-24 주식회사 엘지화학 Homo-lumo 간의 분자 오비탈 분포의 정량적 비교 분석 방법 및 이를 이용한 시스템
KR101554362B1 (ko) 2013-07-19 2015-09-18 주식회사 엘지화학 세분화된 핵심 영역을 이용한 분자 오비탈의 정량적 평가 방법 및 이를 이용한 시스템
KR101566993B1 (ko) 2013-07-30 2015-11-06 주식회사 엘지화학 복합적 미세 탐색을 통한 분자 오비탈 분포 경향 평가 방법 및 이를 이용한 분자 오비탈 분포 경향 평가 시스템
WO2022097298A1 (ja) * 2020-11-09 2022-05-12 富士通株式会社 量子化学計算プログラム、量子化学計算方法、および量子化学計算装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05172806A (ja) * 1991-10-29 1993-07-13 Ezel Inc 分子構造決定方法
JP3033511B2 (ja) * 1997-03-03 2000-04-17 富士ゼロックス株式会社 大規模積和演算処理方法及び装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015009048A1 (ko) * 2013-07-18 2015-01-22 주식회사 엘지화학 분자 오비탈 분포에 대한 정량적 비교 분석 방법 및 이를 이용한 시스템
KR20150010101A (ko) * 2013-07-18 2015-01-28 주식회사 엘지화학 분자 오비탈 분포에 대한 정량적 비교 분석 방법 및 이를 이용한 시스템

Also Published As

Publication number Publication date
JP2005202855A (ja) 2005-07-28

Similar Documents

Publication Publication Date Title
Davoudi et al. Search for efficient formulations for Hamiltonian simulation of non-Abelian lattice gauge theories
Izmaylov et al. Efficient evaluation of short-range Hartree-Fock exchange in large molecules and periodic systems
US8761496B2 (en) Image processing apparatus for calculating a degree of similarity between images, method of image processing, processing apparatus for calculating a degree of approximation between data sets, method of processing, computer program product, and computer readable medium
US8595155B2 (en) Kernel regression system, method, and program
US20210248507A1 (en) Optimization device, non-transitory computer-readable storage medium, and optimization method
Larsson et al. Dynamical pruning of the multiconfiguration time-dependent Hartree (DP-MCTDH) method: An efficient approach for multidimensional quantum dynamics
CN111816257A (zh) 结合结构搜索装置、结合结构搜索方法以及介质
JP4741802B2 (ja) 分子軌道法計算方法および計算装置
Delgado-Venegas et al. Analytic second derivatives from auxiliary density perturbation theory
Pougkakiotis et al. A zeroth-order proximal stochastic gradient method for weakly convex stochastic optimization
US20220188678A1 (en) Computer-readable recording medium storing optimization program, optimization method, and information processing apparatus
Dehesa et al. Quantum-information entropies for highly excited states of single-particle systems with power-type potentials
US12254418B2 (en) Systems and methods for heuristic algorithms with variable effort parameters
EP4562558A2 (en) Reduced density matrix estimation for particle-number-conserving fermion systems using classical shadows
Mitnik et al. Electron-impact excitation of Ne5+
Feldmann et al. Critical Wess-Zumino models with four supercharges in the functional renormalization group approach
JP5888782B2 (ja) 連立一次方程式の演算処理システム
US20210232728A1 (en) Similarity calculation device, similarity calculation method, and computer-readable recording medium recording program
JP7302229B2 (ja) データ管理システム、データ管理方法、およびデータ管理プログラム
JP5396977B2 (ja) データ処理装置、データ処理方法およびプログラム
JP6831307B2 (ja) 解算出装置、解算出方法及び解算出プログラム
JP7358924B2 (ja) 化学物質探索方法、化学物質探索装置、及び化学物質探索プログラム
JP5417967B2 (ja) 遺伝的処理装置、遺伝的処理方法およびプログラム
JP2009151392A (ja) 情報分析装置、及び情報分析プログラム
US20250226063A1 (en) Information processing apparatus and machine learning method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070110

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080507

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080930

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081118

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20090203

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20090409

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110318

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110509

R150 Certificate of patent or registration of utility model

Ref document number: 4741802

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140513

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313117

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

EXPY Cancellation because of completion of term